KeyPay Moves Faster with AppHarbor
How often does your payroll software ship new features? Once a year? Never?
KeyPay is an Australian startup that wants to change the slow pace that traditional payroll sofware moves at and they're using AppHarbor to make that possible for their customers. The company shipped new features four times last week and has done 20 new releases since launching six weeks ago.
We had a chance to talk to Phil Bernie about what KeyPay is and how they're using AppHarbor.
What is KeyPay?
PB: KeyPay is a cloud based payroll application for small to medium Australian businesses. The cool thing about it being hosted in the cloud is that you can access it anywhere, anytime from just about any internet enabled device. We love the fact that we can have accountants processing payrolls for clients from their iPads at a coffee shop, or that employees can login and check their payslips from their iPhone and it all happens without having to install a single thing.
KeyPay was founded by myself (@lomaxx), Paul Duran (@fatal2), Kristian Reynolds (@kristian) and Richard McLean (@richwebscale).
Why did you decide to start KeyPay?
PB: The inspiration for KeyPay came from not being satisfied with the payroll options for small to medium businesses. Rich has worked with many clients for a number of years and he saw time and again the frustration of small businesses having to choose between clunky desktop software with specific OS requirements, backup routines etc and enterprise level systems like SAP which are so expensive and complicated to setup that it's just not viable for a small business to use.
After thinking long and hard about it, we felt we could design a fully featured payroll system that was simple and affordable for smaller businesses and allowed them to use KeyPay when and where it suited them.
What technologies are you using?
PB: We use ASP.NET MVC 3 (but hoping to move to 4 soon) with MSSQL (via the SQL Server add-on) for the database. For data access we use NHibernate (with FluentNHibernate). We use Spark as our view engine and on the client side we use jQuery and Knockout.js a lot. Our HTML is also heavily reliant on the awesome Twitter Bootstrap framework. For our blog we also use the FunnelWeb blog engine. For sending emails we use the SendGrid add-on. Our code is hosted on BitBucket using Mercurial.
We love ASP.NET MVC and have found it really enjoyable to work with, particularly when coupled with Knockout.js. Using them together has really helped us keep our UI simple yet responsive which makes it a very for us.
We didn't fully appreciate the power of using a DVCS like Mercurial was because it was the first project everyone in our team had used it for so we've really enjoyed that. What we didn't expect was how well AppHarboor supports working with DVCS. We can have multiple branches of development that we can push to our central repo and AppHarbor will build all the branches, which is extremely useful. The icing on the cake is that you can pick any one of the branches that have successfully built and deploy them with the click of a button. We weren't quite expecting AppHarbor to be so well integrated with DVCS.
What advice would you give to other developers running their apps on AppHarbor?
PB: Completely Embrace AppHarbor. If you're going to use AppHarbor, don't have half your services hosted on AppHarbor and half on an EC2 instance somewhere or on a desktop server under your desk.
Our general principle is that if it doesn't run on AppHarbor we aren't interested in using it, because it just ends up costing too much time and/or money for it to be worth it.
We also really enjoy using the addons and if there's an addon that does the job for you, we'd strongly recommend using it because the deployment / integration story is awesome.
What's in store for the future?
PB: We're really excited about establishing KeyPay in Australia so that's our focus at the moment but we're keen to expand into international markets in the future and we see AppHarbor as a key part of that plan. We're also working hard on integrating with other 3rd-party services to help ensure a smoother overall cloud experience.
Any final thoughts?
PB: The only other thing I'd like to mention is that AppHarbor is extremely cost effective, but the quality is amazing. We're self-funded so we don't have piles of VC money to throw around, so doing the math, AppHarbor is the most cost effective solution for us. We run two instances with a few addons, SSL and custom domains and our bill last month was < AU$50 which is amazing given what we get for that price. When we're ready to scale we can pay more for web workers and even then, it's still an extremely cost effective option.
Using AppHarbor to continuously deploy your application can give you significant speed advantages over entrenched competition that can't move nearly as fast. If you want to ship more features faster, sign up for a free AppHarbor account.