KitchenPC Is Now Open Source!
Hey everyone! It’s been a while, but I have some exciting news. After about a year of thinking about exactly what I wanted to do with KitchenPC, I’ve come to the decision to open source the majority of the source code behind the website.
There’s a few reasons for this. First off, it’s a fantastic way to give back to the community. I built KitchenPC using several open source technologies. PostgreSQL is the big one, as well as frameworks such as NHibernate, YUI, Castle, and Json.NET. It seems only fair that I give back to that community, in hopes that others can innovate further using the code I’ve spent years developing. Code that can understand recipes, relationships between ingredients, natural language, and classifications. Second, it creates an opportunity for KitchenPC to realize its full potential. As a consumer website, it didn’t work. That’s because consumer websites almost never work. Apparently, the world didn’t need a way to organize meal plans or another search engine. However, the technology behind KitchenPC, if I do say so myself, is awesome. I’m sure a lot of the code I’ve written can help others develop products that actually do gain traction, and I’d love for KitchenPC to live on through that purpose. As an open source product, it also provides the ability for others to contribute. It allows KitchenPC to become something that one person alone cannot achieve.
So, you may ask, what exactly are you open sourcing? The web site? The database? A bunch of HTML code? Just dumping everything online and hoping for the best?
Well, I’ve spent the last couple months trying to figure out exactly where to draw that line. An open source website isn’t really all that useful, as there doesn’t really need to be a bunch of KitchenPC clones out on the web. My site never really gained much traction, so it’s fair to say my implementation didn’t lead to anything viable. However, I think a lot of the technology itself can help others who are building recipe related projects. Whether those projects are websites, mobile apps, tablet apps, Windows Store Apps, or even research projects, I think the code I’ve built can be re-factored in a generic way to provide a fantastic starting point.
Over the past three years, I’ve gotten dozens of emails from other entrepreneurs working on similar and exciting projects, and many have expressed interest in what I’ve built and asked if it could help them achieve their goals. Well, I’m hoping the answer is “Yes.”
What is the KitchenPC Platform?
Therefore, today, KitchenPC is being re-invented as an open source platform used to provide a standardized model for interacting with recipes, shopping lists, and menus. I’ve stripped out all the UI components from KitchenPC and re-organized the code as a set of APIs used for working with recipe related data. These APIs are database agnostic and fully extensible to encapsulate a wide variety of uses. My goal is to make getting started with KitchenPC quick and easy, with a low learning curve. However, once you dive in, you’ll be able to customize exactly how the engine behaves and use as much or as little of the platform as you wish.
The early versions will be unstable and in a constant state of flux, so early adopters can expect lots of breaking changes, weird exceptions, and scenarios I didn’t account for. That’s why I’m looking to find a few testers who want to mess around with the code, develop prototypes, and provide feedback on what works and what doesn’t.
My next several posts will be geared around working with this code, explaining the architecture of the platform, and lots and lots of examples. Enjoy!