2014 – The Year Our Servers Crashed!
2014 was a “get your act together and focus” year for us. At the end of 2013, we winded down all service-projects that were “helping us bootstrap” (bad idea in hindsight; a topic for another post); and entered 2014 with a small round of funding to help us pay our bills while we went about building our product.
And build it, we did.
Looking back at our milestones & issues in Github, I was pleasantly surprised. We had, indeed, covered a lot of ground in 2014.
From basic features in the first half of the year (really, it’s hard to believe that we didn’t have this stuff 12 months ago), like:
- adding multiple users to your Vacation Labs account;
- creating tours operating on multiple time slots in a day;
- defining tours where the per-person rate gets cheaper when you book a larger group (we called it slab-pricing internally);
- managing taxes and fees for your tours;
- payment gateway integrations for PayU, EBS, HDFC, and Stripe;
- Mobile optimized / responsive booking forms
To core infrastructure level stuff, like:
- tightening our database layer with DB-level constraints, foreign key constraints, and triggers to ensure data sanity is never, ever compromised. (Thank you for being so awesome, Postgres!);
- using Redis for caching oft-used data models and API endpoints;
- adopting AngularJS for our web user-interfaces;
- and, embracing automated testing, including Selenium/Capybara based integration tests
To cranking out more advanced features towards the end of the year:
- a spanking new dashboard rewritten, ground-up, in AngularJS
- a well-documented v1 of our external API — allowing our larger customers a much tighter integration with Vacation Labs for their websites;
- ability to create “twin-sharing” package rates;
- a completely revamped UI & infrastructure to manage custom fields in tour booking forms;
- new widgets and integration options to bring a Vacation Labs powered tour booking experience to your website;
- and finally, a custom-built double-entry accounting system to manage our settlements and payouts!
In total, we had closed 618 issues across 3,600 commits. That’s about 2 issues & 14 commits for every working day! Focus, indeed.
But, all the action wasn’t on development side alone. We made some rocking progress on the business side as well:
- We revamped our marketing site, which is now getting a signup a day from all across the globe (and unexpected places such as Hawaii and Vatican City!); and has seen a traffic increase of 140%
- Our API got featured on ProgrammableWeb and we also got listed on the Stripe integrations page
- A comprehensive support desk containing articles, how-to’s, and tips to help tour operators get up & running with our product
And here’s the kicker, over the last 12 months, we delivered a 12x growth in transactions powered by Vacation Labs! So much so, that our servers were running out of memory toward the end of the year and we had to double our server capacity to handle the load.
2014 was a great year. None of this would’ve been possible without the awesome team that toiled day & night behind-the-scenes. Or without our customers putting-up with being guinea pigs for our early product releases. You’re awesome guys!
Last year was when we focused on the product. This year is when we scale the business. Here’s looking forward to disrupting the tours and activities sector in 2015.