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.

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.

[[https://thoughtstreams.io/|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 [[https://github.com/pinax/pinax-project-account|pinax-project-account]] Django project template which gives us a standard project layout, templates using Twitter [[http://twitter.github.com/bootstrap/|Bootstrap]] CSS and, most importantly django-user-accounts.

===django-user-accounts===

[[https://github.com/pinax/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 [[https://github.com/pinax/pinax-theme-bootstrap-account|pinax-theme-bootstrap-account]], which builds on [[https://github.com/pinax/pinax-theme-bootstrap|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 [[https://gondor.io|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===

[[https://github.com/paltman/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===

[[https://github.com/eldarion/metron|metron]] is a simple app for adding analytics snippets to your base template. Amongst other things, it includes snippets for [[http://www.google.com/analytics/|Google Analytics]] and [[http://get.gaug.es/|Gaug.es]], both of which we use on ThoughtStreams.

===eventlog===

[[https://github.com/eldarion/eventlog|eventlog]] logs events and user activity to the database and optionally can use [[http://pusher.com|Pusher]] for a live-stream of activity.

===django-intercom-io===

We use [[https://www.intercom.io|Intercom.io]] for feedback and communication with users and [[https://github.com/eldarion/django-intercom-io|django-intercom-io]] to integrate Intercom.io into our Django sites.

===raven===

We use [[http://getsentry.com/|Sentry]] on our sites for error aggregation and monitoring and [[http://raven.readthedocs.org/|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. [[https://github.com/eldarion/django-stripe-payments|django-stripe-payments]] enabled us to easily integrate with [[https://stripe.com|Stripe]].

===bootstrap-ajax===

The core functionality of the site makes extensive use of [[https://github.com/eldarion/bootstrap-ajax|bootstrap-ajax]] for ajax-based CRUD operations.

===django-markitup===

ThoughtStreams uses Markdown for marking up thoughts and we use [[https://github.com/waylan/Python-Markdown/|Python-Markdown]] and [[https://bitbucket.org/carljm/django-markitup/|django-markitup]].

==Summary==

Here are the services and open-source components we used to launch [[https://thoughtstreams.io/|ThoughtStreams]]:

====Services====

[[https://gondor.io|Gondor]]

[[http://pusher.com|Pusher]]

[[https://stripe.com|Stripe]]

[[https://www.intercom.io|Intercom.io]]

[[http://getsentry.com/|Sentry]]

[[http://www.google.com/analytics/|Google Analytics]]

[[http://get.gaug.es/|Gaug.es]]

====Open-Source Components====

[[https://github.com/pinax/pinax-project-account|pinax-project-account]]

[[http://twitter.github.com/bootstrap/|Bootstrap]]

[[https://github.com/pinax/pinax-theme-bootstrap|pinax-theme-bootstrap]]

[[https://github.com/pinax/django-user-accounts|django-user-accounts]]

[[https://github.com/paltman/nashvegas|nashvegas]]

[[https://github.com/eldarion/metron|metron]]

[[https://github.com/eldarion/eventlog|eventlog]]

[[https://github.com/eldarion/django-intercom-io|django-intercom-io]]

[[http://raven.readthedocs.org/|Raven]]

[[https://github.com/eldarion/django-stripe-payments|django-stripe-payments]]

[[https://github.com/eldarion/bootstrap-ajax|bootstrap-ajax]]

[[https://github.com/waylan/Python-Markdown/|Python-Markdown]]

[[https://bitbucket.org/carljm/django-markitup/|django-markitup]]

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

Since launch, we've continued to improve [[https://thoughtstreams.io|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.