Some Interesting Ideas for Personal Programming Projects
Here are some ideas I always get flying in mind and sometimes feel like tackling.
- A vim-like modal code editor. While programming, I spend quite a bit of my time looking at code and navigating through code. I wonder how I could make that experience more custom-tailored to myself. Inspirations would be: Sublime Text, 4coder. I would like something light, with instant startup, instant feedback and preferably not web-based.
- A server-side key-value store. I've been deploying some web applications to this site, such as a JSON editor and a yearly progress view. I wonder what I could do more sophisticated with some server-side support. I don't feel like juggling both client-side and server-side logic, so a simple key-value store with a secret API Key or authentication should suffice for a mostly client-side web application which trusts the client. Inspiration: Redis, Firebase.
- A Stack-based VM. I wonder how quick it could be while running interpreted code. Inspiration: Forth, Factor.
- A Lisp interpreter. An obvious challenge would be garbage collection. Inspiration: Common Lisp, Scheme.
- A way to add posts to this site through the web. I currently edit posts in Markdown inside a VM, run a Python script to generate the HTML and rsync those files to the server. This works fine, but I wonder if removing those steps in favor of a web-based interface would improve how much I publish. Inspiration: Wordpress, Blogger.
- A self-hosted web-based personal wiki. For personal knowledge management. Inspiration: Zettelkasten, Obsidian, Notion.
- Some puzzle games for quick web-based play. Inspirations: Simon Tatham's Portable Puzzle Collection, Krazy Dad.
- Math equation rendering. Probably in a canvas using JavaScript. Inspiration: LaTeX, KaTeX, MathJax.