We Use That / Meteor

What startups use to get stuff done

A better way to build top-quality web apps
Posted on 07 Aug 2012 in

Who are you, and what do you do?

My name is Nick Martin. I am a cofounder at the Meteor Development Group. Meteor is an open source web framework for building single page JavaScript applications. Being a founder means my responsibilities are wide ranging, but I try to focus on engineering whenever I can.

Web applications are being developed in a new way. Browsers are now fast enough to run the application entirely in JavaScript, bringing us back to the Client/Server model of computing instead of the Dumb Terminal model we’ve been seeing for the last decade. Facebook, Twitter, Google… all these big companies are building web application in this new style. We aim to bring that style of new application to a much broader community of web developers. We want to make it possible for small teams and individuals to build the sort of rich, responsive and immersive applications that previously have been the domain of big companies with massive resources.

We just raised a round from Andreessen Horowitz. It is a big vote of confidence from smart people who agree that we are on the right track. We look forward to working with them and expanding and building out Meteor.

What is your technology stack?

The basis of our technology stack is JavaScript. A developer using Meteor can write all of their code in JavaScript, both on the client and the server. Developers only need to use one language, which reduces a lot of friction and makes the whole experience faster and easier to learn.

One important technology we use is web browsers since we are building web applications. We support every browser from IE7 on up.

On the server-side we use node.js as our JavaScript engine. Node is awesome, it lets us get stuff done really quickly and is a core part of what we do. Node has lots of packages, we use quite a number of them including Connect, SockJS, and Fibers.

We use MongoDB as our database backend. We will have multiple database backends, but we are focusing on building the experience for just the one database first. We actually ship MongoDB with our development bundle.

We use Git for our version control.

What software do you use to run your business?

We host everything on Amazon EC2, we love it. MongoHQ hosts our Mongo instances, they have been great. We use a company called ServerDensity for server monitoring, they are pretty cool. We also use PagerDuty to get paged when things go down.

For cross-browser testing, we use two different companies, BrowserStack and Browserling.

For our metrics and dashboards we use Leftronic. They do great, pretty dashboards and let us push in our metrics as we go. We use Mixpanel and Google Analytics for site analytics for meteor.com.

For project management we use Asana. We use Asana all the time. It is the way we keep track of everything that is going on in the company. We use it for day to day planning, strategic long term planning, our kitchen supply list.. everything. Most day to day tasks and communication goes through Asana.

Another thing we use a lot is Hackpad, a real-time collaborative text editor/wiki thing. Hackpad is really great.

We use an open source tool Phabricator for code reviews internally. It has been great for us so far. We also use GitHub for code reviews so it’s sort of a fuzzy process right now, but we are pretty happy with Phabricator.

The Meteor code itself is hosted on GitHub. We pay for GitHub and have a number of internal repositories, but the main thrust is the public GitHub.

StackOverflow is great for handling support. We have a mailing list that is in Mailchimp. We use Twitter a lot, we have a pretty big following and we try to keep up to date with that. We have a public irc channel for support and community, that’s on Freenet.

For bug tracking, we mostly use Asana although we also have the externally visible GitHub Issues list.

We use Mailgun for transactional emails.

We have Google Apps for email. We keep track of all our time on Google Calendar, if you want to have a meeting with someone you just sent them an invite.

We use Dropbox pretty extensively for sharing our files and plans.

Another thing we use as sort of a corporate benefit is a company called Exec for doing random tasks. We use them to go get stuff or take care of things.

The two things we’ve gotten the most mileage out of are Asana and GitHub. The open source collaboration with our community just wouldn’t be possible without GitHub, they’re doing a great job. Asana has also really saved us a lot of time and effort planning and organizationally it’s been really great.

What business software do you most wish existed?

That is a tough one… One thing that would be really nice is an automated cross-browser testing framework. I know both BrowserStack and Browserling have started working on something, but that is a legitimately hard problem.

In some sense, if we encounter something that is missing that we really need, we have to build it. It’s not like these are purely internal things that just make us go faster. These things are the sorts of things that we expose our users to and are the platforms that will grow with us an our users. So when there’s something really missing from the stack, we have to do it ourselves.