Ideas for software projects
Up: Ideas
Software ideas? I’ve got many.
Create a fuzzy math library
This would be for a bigger purpose, such as project cost estimation — not just a library for the sake of a library.
Possibly integrated into a programming language with first class support for fuzzy math. (And while I’m at it: first class support for numbers with units too.)
Create a structured prose editor
Details: Create a structured prose editor
A word processor for long-form content. Like a tiny Scrivener, but built purely around semantic markup. Perhaps based on ProseMirror. Probably taking inspiration from D★Mark.
Create a markup language for playwriting
I find myself needing a markup language for playwriting. Fountain doesn’t quite cut it because it is quite specifically made for screenwriting, not playwriting. This idea needs a lot more exploration. Perhaps TomatenMark fulfills this need.
Create a tool for generating dark mode stylesheets
Input: a regular CSS stylesheet. Output: a CSS stylesheet with support for dark mode. This would likely use light-dark()
. It would desaturate colors for dark mode, and use a non-black base background color.
Create games
I’ve done some game development before just as a hobby, and I’ve always enjoyed it. I have ideas for bigger games, though I’m not ready to share concrete ideas just yet.
Create a personal database app
Details: Create a personal database app
Such an app would allow writing down data in a structured format with all the benefits that come from it: custom queries, custom views. It would also allow exporting to different formats, including HTML for inclusion on web sites.
Similar to FileMaker, Bento, TapForms, Steward, AirTable, Notion databases.
The app would ideally be local-first, with cloud sync available, and the data format would need to be open (or good export options would need to be available, but that’s less interesting).
Create presentation software
I like Keynote, but it sometimes feels limiting and awkward, especially in the way it supports builds and animation. I’d like something more advanced.
I don’t know what technology I’d use for that.
Create a color palette designer
I have my own hacked-together set of color palette designers that I use on denisdefreyne.com, but polishing that into an app could be really nice. Does not have to be an app necessarily; could be an online tool too.
Create a feature flag service
Details: Create a feature flag service
Create a production change tracker
Details: Create a production change tracker (Captain’s Log)
Keeping track of changes to production is useful for debugging, auditing and postmortem construction. What is deployed and when? What changes to feature flags have been made, by whom and when?
Create a postmortem tracker
Keeping track of outages is always useful. With structured metadata, it becomes possible to extract analytics, e.g. total outage duration per month, frequency of incidents, and mean time to resolution.
Create a programming language
I have started on this so many times, because it is just plain old fun — at least at the beginning, and then it gets remarkably tedious. Heh.
But still, there is potential in creating a programming language that is different from anything else out there. Maybe a programming language with no globals?
Create an URL shortener
Details: Create a URL shortener
A simple web server that provides short links, like go/finance
linking to the finance team page. It would need a simple UI for adding and editing inks.
Create a budgeting app
Details: Create a budgeting app
It is something I’ve been working on on-and-off for a long time.
Create an expression language
A programming language purely for evaluating expressions, but with a) fuzzy logic, b) units. For example: 300~350 EUR
. Additionally, support for arrays and tuples and tables and calculations on them.
Create a modern HyperCard clone
Ahh, HyperCard. I only got interested in it after it was already dead. There’s a lot of potential in building something simple, and there might be overlap with building a personal database app.
Create a website pre-deploy tester
This would be taking Nanoc’s check
command and extracting it into its own thing. With parallelism. With plugins.
Create a music library manager and player
I miss the old iTunes. The current Apple Music app leaves much to be desired. I’d also like to have a query language for tracks and albums etc.
Create a photo organizer
Photos.app is a pain to work with, and cannot handle the volume of photos I have. I also don’t quite need a lot of the features it offers, like editing photos (I have Affinity Photo and Photomator Pro for that). I’d also like to have a query language for photos.