this article is about breaking free from repetitive programming projects, but the ideas apply to any creative field: filmmaking, music, art, whatever.
build for curiosity
are you stuck in tutorial hell, unsure of your next project, or burned out from repetitive coding?

i use niche tools, code in multiple languages, and build unconventional projects just to learn how things work and for the love of the craft. my goal isn’t to make the most money - at least not yet lol.
you don’t need to churn out another crud app or generic saas product just to stand out. you need to make projects for your "learning" purpose.
- make stuff other people would appreciate using
- reinvent the wheel to appreciate its "roundness"
- make things for your own use cases
sure, not all of this will be "useful," but you learned something and kept your curiosity alive. that's what matters.
programming isn’t just about landing a faang gig or shipping the next unicorn startup. it’s about creating stuff that makes you feel alive. build projects that reflect your quirks, your passions, your weird obsessions. whether it’s a regex engine in C or a music synth in google sheets, make it "soulful".
get stuck, learn, and keep that curiosity burning. you got this :)
being good at programming doesn't mean to know every javascript framework, python library and memorize all leetcode hard problems asked in faang, it means to build stuff from first principles that works.
tutorial hell and rote learning can only take you so far. you need to care about the underlying principles. don't obsess over the result; keep doing what you love.
there are so many "cool" things in programming other than copy pasting gesture detection linkedin slop or react todo with sqlite.
better project ideas
so what should you make?
my advice would be to dissect websites, write game engines or fun games that you would like to play or with your friends, make scripts to automate your daily stuff to save time.
some great projects to learn underlying principles with articles/blogs to start:
- redis from scratch - best for learning about network programming and data structures good starting point
- music visualizer - assignment by stanford
- database from scratch - learn persistence, indexing and concurrency | sqlite clone from in c | golang (more advanced)
- shell in c
- make your own scripting language book
- write your own chip8 emulator c++ rust
- front end framework: react from scratch (talk), react in 160 lines of javascript (crazy stuff)
- version control like git: minimal version in py
- regex engine in c: article on speeding up searching
- video player in c
- build your own lisp
you don't have to follow everything in the articles, just see where you got stuck and implement it yourself.
or you can make whatever you want. just make it soulful, not another knockoff.

constraints make it interesting
another option is making things under heavy constraints:
- neural network in vimscript
- building entire games in shader code
- create databases in css
- write interpreter for languages within other languages
- making music synthesizers in spreadsheet formulas
- bash server written in bash
- compiler written in sed
- 3d engines in batch files.
these challenges will force you to think completely differently. you can't just reach for the obvious solutions or copy-paste from stack overflow.
some small, toy projects under these constraints. highly recommended to see their structure and practice followed:
- C in 4 functions
- Text editor written in C under 1000 lines of code with syntax highlighting and search
- Web browser under couple thousands lines of code (this is considered minimal in the scale of browser)
- Database in 3000 lines with 0 dependencies
make it feel alive
what does "cool" even mean?
in my opinion, if people fuck with your product, it's cool
my big dawg carl jung once said:
"Know all the theories, master all the techniques, but as you touch a human soul be just another human soul."
you could be the best engineer in the world but if your product feels dead and soulless, no one would care. why?
people don't care about perfection; they care about connection.

let me break it down for you:
people don't just use things; they relate to them. how?
we yell at our cars when they don't start. we thank our phones after a successful call.
but why we do this?
because we treat them like a real person, we think our concerns can be met with a personality.
so, make shit people can connect with and use daily. even if nobody else uses it, at least you'll save yourself time and have fun building it.
"maybe the real projects was the friends we made along the way"