This is a duplicate of the same post at NeoInvoice.com, since that site will be gone soon.
Good news for those of you who would like a large application to tear apart! The Flippa Auction has ended without any bids, and I will be open sourcing NeoInvoice in the next few days. This would theoretically be bad news for our active users, but honestly, NeoInvoice doesn’t have any.
I started NeoInvoice back in late 2009 or early 2010 while needing some invoicing / time tracking to keep track of what I was doing for my clients. The smart thing to do would have been to search for some online software which does exactly what I need. Goodness knows that these apps do exist, here is a small list of this very crowded space:
But, as you can probably tell, I never did look for this sort of software. I instead did the crazy thing and built software from scratch which did everything I needed it to; time tracking, invoicing, issue tracking, email PDF invoices, you name it! I also completely failed to market the project. Like, I did the worst job anyone could ever do, even for a programmer.
Don’t get me wrong. I don’t regret having built this application. For the longest time I knew I had a lot of PHP development skill, but unfortunately I never had any projects worth mentioning. After building this project, it went straight to the top of my Resume. And I credit this to a lot of things, namely my career at Quicken Loans, as well as my entry into Y Combinator. Not to mention all of the skill I learned while building the project.
NeoInvoice is built using CodeIgniter 1.7.2, as well as an open source AJAX framework named MochaUI, which is based on MooTools. Without having built NeoInvoice, I never would have realized how much I dislike both of these technologies. NeoInvoice also makes use of some PHP 5.3 features, a tweaked lighttpd server, MySQL, and Memcache. I was able to learn a lot about these technologies thanks to NeoInvoice.
I also prematurely optimized the website by pointing a hundred web browsers to the main AJAX page and having them all reload the site every 5 seconds for an hour, followed by tweaking the code and caching over and over until it held up. This results in 7 PHP script executions per request, which is about 140 per second. The site was able to hold up to the abuse, even on the cheapest shared hosting I could find, which means the site should be able to handle perhaps a thousand concurrent normal users.
At the time of writing this, the repo is not yet public. In a few days, after I’ve made sure no user data is in the repo, recorded a video showing all of the features of the website, and killed the live site, it will be available. The URL will end up being https://github.com/tlhunter/neoinvoice. You can bookmark that URL or keep an eye on my GitHub user account, tlhunter.