I started rkv to learn Rust and Zig. Four modules in, I got distracted by anchors, a completely unrelated project about static analysis and LLMs. Now I have two unfinished projects instead of one.
Before that, I built hush to learn Go and networking. It works, but I stopped adding features the moment I understood PAKE and TCP framing.
This pattern keeps repeating. I start something, get deep into it, then wander off before it's "done." By conventional standards, my GitHub is a graveyard of abandoned projects.
I don't think that's a problem.
The conventional wisdom is wrong
"Finish what you start" sounds reasonable, but it's not always the case.
The advice assumes your goal is to ship a product. To have something to show. A portfolio piece, a tool others will use, a line on your resume.
But that was never my goal. My goal is to learn something I don't understand. The project is just a vehicle for that. Once I've learned what I came for, the project has served its purpose. Continuing past that point isn't valuable to me, it's inertia.
What "losing interest" actually means
When I lose interest in a project, it's not because it got hard. It's usually the opposite.
With rkv, the first four modules were intense. Memory management in Zig, fighting the borrow checker in Rust, understanding how event loops actually work. Every day I was confused about something. Every day I learned something I didn't know before.
Then I got to module 5. I knew what to do. The architecture was clear. The remaining work was... implementation. Important if you're shipping a product. Boring if you're trying to learn.
The learning curve flattened. The hard part was over. What remained was the easy part, and the easy part doesn't teach you anything.
Side quests are born from curiosity
Anchors didn't interrupt rkv randomly. It emerged because of rkv.
Building an event loop taught me to think about code as graphs of function calls. That mindset was fresh in my head when I ran into the code archaeology problem at work.
The connection was clear to me... what if you did the graph traversal with static analysis and let the LLM do what it's good at?
That question was more interesting than finishing modules 5-7 of rkv. So I followed it.
This is how side quests work. You learn something in project A, and it unlocks a question you couldn't have asked before. Project B is born. It's not distraction, it's compounding curiosity!
The distinction that matters
Not all project-hopping is equal. There's a difference between:
Following curiosity: You learned something that opened a new door. The new thing is genuinely more interesting than continuing the old thing. You're moving toward something.
Avoiding discomfort: You hit a wall, something you don't understand, and instead of pushing through, you start something new. You're moving away from something.
The first one is how learning actually works. The second one is procrastination with extra steps.
How do I tell the difference? Honestly, it's not always clear. But there's a rough heuristic: if you're leaving because the remaining work is too easy, that's curiosity. If you're leaving because the remaining work is too hard, that's avoidance.
With rkv, I could tell you exactly how to implement the remaining modules. There's no mystery left. That's why I stopped.
With the encryption module I had planned? I didn't understand it well enough to implement it. If I had stopped there, it would have been quitting cause it was hard.
Unfinished doesn't mean failed
Each of my unfinished projects taught me something. None of these projects are "finished." All of them made me a better engineer.
The code is secondary. The understanding is the point. Once you have the understanding, the code is just... code. You can write it anytime. You probably don't need to.
And even if I forget how something specifically works, the whole idea of exposing yourself to new paradigms is in itself valuable. Gives you diversity of thought.
The framework still matters
In my learning framework post, I talked about structure — knowledge bases, project logs, writing things down. That still matters.
But structure is scaffolding, not a cage. The logs help you consolidate what you learned. They don't obligate you to keep going after the learning stops.
If anything, the logs make it easier to move on. When you've written down what you learned, you don't need to keep the project alive to remember it. The knowledge is captured. The project can rest.
So will I finish rkv? Will anchors become a real tool or stay a proof of concept? I don't know, and honestly I don't care that much.
What I know is that I understand things today that I didn't understand six months ago. The unfinished projects are how I got here.