I just built the MVP for Kinyurite, an app that allows you to edit or contribute to finishing someone else’s story But the question is, why would anyone let someone else change their story? If different people are adding their own voices, then it stops being yours. It loses the original voice. So why Kinyurite?
Kinyurite is for beginner writers who struggle to start from scratch and need direction or feedback. On the other side, it’s for writers who have unfinished drafts sitting in their archives and wouldn’t mind letting others build on them.
It’s basically contributing to open source to gain experience, but for writers.
The Why and What I Learned
My goal for building Kinyurite wasn’t just to help new writers like myself. I also wanted to learn backend engineering and system design in a more practical way.
Through this project, I learned:
- state machine design
- version control and text diffing
- advanced SQL and data modeling
- system scalability and concurrency
- and a bit of product engineering
How Kinyurite Works
There is a master story written by a lead author who manages the overall direction. Other writers can branch the story and write their own scenes or chapters. The lead author then reviews those contributions, either merging them into the main story or rejecting them with feedback.
So it’s basically kinda like how GitHub works.
You can check it out here: https://kinyurite.vercel.app/
What I Enjoyed
This was probably my most enjoyable project so far, mostly because I didn’t feel pressure to make it perfect. I built it for fun.
It came from two things I’m figuring out: writing and open source. I also built it alongside Claude, which forced me to actually learn. It would point me to resources before I built something, then quiz me after. I spent a lot of time just reading. One concept would lead to another, and suddenly I’m three layers deep into something I didn’t even plan to learn that day.
What Made Me Stop for Naps
Authentication.
For some reason, I kept getting errors and couldn’t figure out why. Instead of slowing down and understanding the problem, I tried to prompt my way into solving it. I finally did what any sane person would do: took a 30-minute nap and came back to it.
Turned out it was just a compatibility issue between passlib and bcrypt. All I had to do was remove passlib.
Also, tiny bugs: typos, extra spaces. Fixed with Claude Code.
What’s Next?
Kinyurite is live: https://kinyurite.vercel.app/
I’m adding more tests and improving functionality.
Right now I’m reaching out to writers on Wattpad to try it out and give feedback. The goal is to see if people actually want this, or if it just sounded good in my head.