django mvp

How to launch an MVP 

with django 

by yourself


http://slid.es/kyen99/django-mvp


Kai Yen


CTO, JWT INSIDE
kai.yen@jwt.com


Kai Yen


Founder, programmer
http://careermat.ch
@kyen99




Why MVP?

(minimum viable product)


Validate your hypothesis

with early adopters




Why Django?

(it's fast to develop in)


Why so fast? (IMHO)

  • MVC+ORM+Templating = super fast dev
  • Loose coupling - easier to plug in third-party apps
  • Explicit (over implicit) - less overriding/convention
  • Batteries included - less time spent reinventing
  • Large community - many tools, apps and docs
  • Documentation - excellent code docs


My Experience


One weekend researching platforms

One weekend learning Django

Six weeks (only nights + weekends) 
to MVP launch


Don't get 

Distracted


Partial list of distractions

  • Scalability
  • Security ratholes
  • Replacements for built-ins
  • Social integrations
  • Ajax
  • Refactoring
  • System administration
  • Continuous integration
  • Cross-browser testing



Write it down

(so you can do to it later)

  • Trello
  • #TODO:


Plan to 

iterate


Things to do with "hello world"

  • Check it into git
  • Set up south
  • Set up boto/storages
  • Write django tests
  • Deploy NOW


Don't 
Forget



About your users

  • Design matters
  • User Experience
  • User feedback
  • Phone/tablet/TV




Be Smart-Lazy


Assume...

  • Every service you need already exists in the cloud
  • Every functionality you need already exists in a module
  • Every algorithm you need has already been written
  • Every problem you come across has already been solved
  • Django is the glue


Live

Demo

(I hope)


Why Heroku?

  • Fast to deploy and iterate
  • Excellent Django support
  • Lots of useful add ons
  • First "dyno" of every site free
  • Easily scalable later



How heroku works

(as far as we're concerned)

$ git push heroku master




[ attempt bootstrap 

django project and 

deploy to heroku ]



[ Attempt south migration ]


Free and 

Cheap tools


Planning and support

  • Trello
  • LucidCharts
  • Dropbox
  • Google Drive


Development

  • H5BP
  • Cloud9
  • CDNJS
  • Bootstrap/Gumby
  • Compass
  • Git flow


Deployment

  • Heroku, dotCloud, Google AppEngine
  • Amazon S3
  • CDNJS




CareerMat.ch



Django stuff

  • Django contrib (admin, auth, humanize)
  • Bootstrap_toolkit
  • South (migrations)
  • Boto/storages (static storage)
  • djangovoice (user feedback)
  • zinnia (blog)
  • registration, invitation, impersonate
  • voting, gravatar, tagging, mptt

Total cost: $0


Deployment

  • Heroku (1 dyno)
  • Heroku SSL endpoint - $20/mo
  • Heroku addons (postgresql, mailgun)
  • CDNJS (library hosting)
  • DNSimple (dns alias record) - $2/mo
  • S3 (static asset hosting) < $1/mo

Total cost: $23/mo


Misc

  • Dropbox (repo storage)
  • Trello (todo list)
  • LucidCharts (diagrams)
  • Google Fonts
  • Google Analytics
  • Quantcast (analytics)

Total cost: $0

django mvp

By kyen99

django mvp

  • 1,720