- category: Research Projects
  desc: Projects that have a large research component compared to software development.
  projects:
  - name: Ag Test
    link: https://git.mzhang.io/proglangs/agtest
    desc: A small toy attribute grammar.
    status: incomplete
    langs: ["python"]

  - name: Coq-SSH
    link: https://git.mzhang.io/experiment/coq-ssh
    desc: Attempt at formally verifying SSH protocol through Coq.
    status: incomplete
    langs: ["coq", "ocaml"]

  - name: Enterprise
    link: https://git.mzhang.io/michael/enterprise
    desc: Statically-compiled interactive programs like Svelte.
    status: prototype
    langs: ["rust"]

- category: Learning Projects
  desc: Software development projects used to gain more experience with a particular set of existing technologies.
  projects:
  - name: rsld
    link: https://git.mzhang.io/michael/rsld
    desc: A parallel rust linker.
    status: incomplete
    langs: ["rust"]

  - name: asciinema
    link: https://git.mzhang.io/michael/asciinema
    desc: Reimplementation of the terminal recorder asciinema.
    status: mvp
    langs: ["rust"]

- category: Utility Projects
  desc: Software that I developed to solve a very specific problem or to make something useful for myself.
  projects:
  - name: Panorama
    link: https://git.mzhang.io/michael/panorama
    desc: Mail client.
    status: incomplete
    langs: ["rust"]

  - name: Leanshot
    link: https://git.mzhang.io/michael/leanshot
    desc: Linux screen capture tool.
    status: works
    langs: ["rust"]

  - name: Garbage
    link: https://git.sr.ht/~iptq/garbage
    desc: CLI interface to the FreeDesktop Trash Can API.
    status: works
    langs: ["rust"]

  - name: Markout
    link: https://git.mzhang.io/michael/markout
    desc: Extracts code blocks for a particular language out of Markdown.
    status: works
    langs: ["rust"]

- category: Miscellaneous
  desc: Projects that I did for fun or don't really fit in one of the categories above.
  projects:
  - name: Cryptopals
    link: https://git.mzhang.io/michael/cryptopals
    desc: My solutions to the cryptopals solution, for learning Common Lisp
    status: incomplete
    langs: ["common-lisp"]

- category: Old Projects
  desc: Software I wrote in the past and won't be updating.
  projects:
  - name: EasyCTF IV Platform
    link: https://git.mzhang.io/easyctf/easyctf-iv-platform
    desc: CTF platform for EasyCTF.
    status: graveyarded
    langs: ["python"]