This is a post in the SaaS Startup Series. Check out all posts in the series here.

Back in April 2014 my buddy Austin White and I embarked on a journey to build a web app. Then, as our respective lives got unpredictably busy with other stuff, the plans for our SaaS business had to take a backseat to moving house, plumbing emergencies, other work (the kind that pays the bills now) and more. Now, almost a year later, we're finally forging ahead on our plans.

I plan to (losely) document our progress here as it happens. This first post in my "Startup Diary" will give an overview of the project and where we are right now.

I want to preface this by pointing out that I'm not yet going to reveal what we're working on exactly. Once we're a bit further along in the project, I'll be happy to talk about details.

Current Status

At this point we've filed for a trademark for our app's name in the U.S. and the EU will follow shortly. We also plan on setting up an LLC, but since Austin is in the U.S. and I'm in Germany, we still have to sort out some details. Finding a lawyer who's familiar with all the legal and tax implications of co-founders living in different countries has so far proven to be quite difficult (and expensive).

In terms of the app, we've agreed on about 80% of the features we want to include in what we're calling our MVP. We've sketched out and wireframed parts of the customer-facing UI, created an ERD we'll use to create the database and decided on the technology we'll use. So let's talk a bit about that last part: techology.

Technology

We initially intended on outsourcing the development entirely. Mainly because both Austin and I work full-time, which doesn't leave enough time and energy to develop the app ourselves within a reasonable timeframe. So we thought we'd focus on designing and marketing the app and managing the development process.

But an unanticipated development in my consulting business at the beginning of this year means I will have more time available for other ventures. So I figured that, being a developer myself and now having (foreseeably) more time than money available to invest into our business, it would make sense for me to do the development instead of outsourcing it. Austin and I discussed this and quickly agreed on the change of course.

Language

When we were still set on outsourcing the development of the app, it was pretty clear that we were going to use Ruby on Rails. Clear because that's what so many web startups use these days. They can't all be wrong, right?

The picture changed, however, after we decided to do the development in-house. I don't know any Ruby or Rails beyond a handful of tutorial videos I watched a couple of months ago. With all the work we already have on our plates to get our web app to market, I wondered if learning a completely new technology was such a good idea.

In terms of web technologies, I have a bit of a background in PHP and MySQL. I haven't built a real web app before, but I feel fairly comfortable in these technologies and I'm pretty sure I can get results faster than if I first had to learn Ruby.

But it's not really about the programming language anyway. I think the more important part of your development stack that will have a much larger impact on your productivity than the language is the framework you use (if you decide to use one). Obviously, Ruby has Rails going for it. But what about PHP?

PHP Frameworks

Even though both languages have been around for 20 years, PHP has been used more widely as a language for developing web apps than Ruby. So there's a pretty large selection of frameworks to choose from, the most well-known ones being:

  • CodeIgniter
  • Symfony
  • Zend Framework
  • CakePHP

There are more, those are just the most well-known ones.

What influenced my decision for a particular framework was the fact that I wanted something fresh that had as little cruft as possible. PHP has been evolving for quite a long time, and so have its frameworks. Evolution is good, but it also breaks things. And fixing those things while maintaining at least some level of backwards compatibility can result in a hot mess of old an new paradigms.

I can't fix PHP's flaws, but I can choose a framework that leaves behind the old stuff. And that's why I chose Laravel.

OK, who am I kidding. The truth is, Laravel just looks sexy as hell and now I'm rationalizing my choice. I chose Laravel because it looks like it's going to be fun to work with. We'll see if that holds true over time.

Another thing that really won me over to Laravel is that there's a video tutorial site dedicated to Laravel called Laracasts. Some basic videos are free, full access to all videos costs $9/mo. Well worth it in my mind.

Development Environment

The development environment isn't set up yet, but based on the decision for PHP, it's going to look something like the following.

  • Linode with Ubuntu 14.04 LTS
  • PHP 5 FPM
  • MySQL

This setup is already running on the Linode this site is hosted on. Once we move the app into beta, we'll spin up a dedicated Linode and move everything over. But for now, the existing one will do.

Development Tools

Another major factor that determines your productivity as a developer are the tools you use, specifically the code editor. You're going to be writing and editing (and possibly debugging) code several hours a day, so your choice of editor or IDE is important.

I'm not 100% set on any option yet, but these are the contenders:

  • Sublime Text
  • PHPStorm
  • Vim

Right now I'm actually favoring Vim as I want to get to know Vim better anyway.

Some additional tools to make life easier:

  • tmux (multiple panes in a single terminal window)
  • Vertabelo (web-based database designer)
  • Sequel Pro (MySQL client)
  • OmniGraffle (business graphics; used for wireframing)

Collaboration Tools

Since Austin and I live in different parts of the world, we need tools in order to communicate efficiently; just email won't cut it.

So far, we've been using these:

  • Google Drive/Docs/Sheets
  • Slack (live chat)
  • Asana (Task management, discussions, file sharing)

We started out using Basecamp and it was OK for a while. But once we started getting more into the thick of things it proved to be a bit too minimalistic. Asana is a better fit for our current needs and it's also free for up to 15 users (Basecamp is at least $20/mo).

Conclusion

It's still very much early days with our project, but I feel we're gaining some traction after stalling in the beginning. But I'm also aware we've still got a long way to go. But if it were easy, everybody would be doing it ;)

This is a post in the SaaS Startup Series. Check out all posts in the series here.

You should subscribe to the blog.

Comments

© 2003-2016 Thomas Borowski | Legal Info/Impressum | Privacy Policy | | Powered by Pelican.