Hacker News new | ask | show | jobs
by cookrn 3505 days ago
This sounds awesome! Is there a link to your project or source code you could share?
1 comments

The story of my KidCompy project is a little complicated. The codebase I'm working on is closed source because of ownership/partnership issues. I started work on it as a hobby in 2008, and it is distinctly a JQuery-era architecture, and it's spaghetti code.

Around two years ago, the codebase was out of control and it was getting impossible to maintain or add features. I had gone crazy with features on my server side.

I started an open source rewrite with my dream build system and good design and testing methodologies. That codebase is here:

https://github.com/clubcompy/kidcompy/tree/develop

Then, I came to my senses a little bit. The crufty JQuery codebase can be refactored, buttoned up, and turned into a MVP! I could sell subscriptions to the thing as-is, it seemed to me. It's not everything I hoped it could be, and I'm very embarrassed by the poor code quality, but there is value there. I just need to complete something and focus on selling.

So, I paused on the new open source codebase, and set about preparing my original closed source code for a commercial release. Part of that prep is removing the cloud storage for the user's virtual file system. The new MVP plan is to use the user's HTML5 Local Storage or IE6-8 UserData as their persistent storage for programs and data. That is what I'm working on right now. I just got folders working, so only files, extents, attributes, and a syscall interface remains!

I realize that the open source codebase is the only long term way to go. When my main competition is open source, I need to be as well. And, since I'll be marketing a service for kids, it will help with gaining parents' trust for me to be open with the code and the data I collect. Assuming that the MVP shows some life and gets some interest, the plan is to put the old codebase into maintenance mode and move all development to the github codebase, migrating users over to the new compy once I have everything reimplemented there.