What We Used to Launch ThoughtStreams Quickly

With Pinax, Gondor, Twitter Bootstrap and a bunch of Django apps written by us or others, we can get to a minimum viable project very quickly. Here's how we did it on ThoughtStreams.

ThoughtStreams is a publishing platform focused on capturing your thoughts, observations, ideas and experiments. It's for those things that are bigger (and less ephemeral) than a tweet but not necessarily as well thought out as a blog post.

Although the idea had been around for a while, the actual time from creating the git repo to launching the revenue-generating site took just 30 hours.

Pinax Account Project

Our rapid development always starts with Pinax. In this case, we used the pinax-project-account Django project template which gives us a standard project layout, templates using Twitter Bootstrap CSS and, most importantly django-user-accounts.

django-user-accounts

django-user-accounts takes care of sign up, log in, password management, email confirmation, timezone and language settings, and account deletion. With templates provided by pinax-theme-bootstrap-account, which builds on pinax-theme-bootstrap, all aspects of user account management are ready to go out of the box. django-user-accounts is highly customizable in terms of alternative sign up flows, extra settings, etc. but we didn't need to take advantage of any of that for the ThoughtStreams launch.

Gondor

The Gondor hosting solution is a crucial part of our development process. We started hosting the first prototype of ThoughtStreams on Gondor within the first couple of hours and we continue to host the production site there.

nashvegas

nashvegas provides lightweight management of SQL and Python migrations. It's the Django migration solution we use on pretty much all our projects.

metron

metron is a simple app for adding analytics snippets to your base template. Amongst other things, it includes snippets for Google Analytics and Gaug.es, both of which we use on ThoughtStreams.

eventlog

eventlog logs events and user activity to the database and optionally can use Pusher for a live-stream of activity.

django-intercom-io

We use Intercom.io for feedback and communication with users and django-intercom-io to integrate Intercom.io into our Django sites.

raven

We use Sentry on our sites for error aggregation and monitoring and Raven as the client to talk to Sentry.

django-stripe-payments

We decided that ThoughtStreams would not have a lengthy private beta. Instead we announced the site with paid subscriptions on day one. django-stripe-payments enabled us to easily integrate with Stripe.

bootstrap-ajax

The core functionality of the site makes extensive use of bootstrap-ajax for ajax-based CRUD operations.

django-markitup

ThoughtStreams uses Markdown for marking up thoughts and we use Python-Markdown and django-markitup.

Summary

Here are the services and open-source components we used to launch ThoughtStreams:

Services

Open-Source Components

Of course, none of this would be possible without Django itself.

Since launch, we've continued to improve ThoughtStreams and have lots more planned. Getting to launch quickly was vital in gauging genuine interest and starting to build a community of paying users that will help drive the future of the site.

comments powered by Disqus