Rapid Web Prototyping with Lightweight Tools

Today, I am teaching a tutorial at PyCon called “Rapid Web Prototyping with Lightweight Tools.” I’ll update this post with how it went, but here are the materials people are using for the course.

The tutorial is hands-on and code-oriented, building upon the viewpoint I laid out in my “Build a web app fast” post from last year.

It selects some lightweight tools for building a web app such as:

  • Twitter Bootstrap
  • jQuery
  • LiveReload
  • Flask
  • Jinja2

It combined that with a lightweight database (MongoDB) and a small but production-ready UNIX-based deployment stack (supervisor, uWSGI, nginx). Code is finally pushed to live servers using fabric.

Throughout the tutorial, live rapid prototyping tools like IPython Notebook, CodeMirror, and Emmet are used, as well as good old pen-and-paper.

I gave this talk as a fundraiser for a startup hub in Charlottesville, VA, and it raised over $1,000. At PyCon, the tutorial is raising money for the Python Software Foundation, IMO one of the most important open source foundations out there.

But more importantly, this tutorial teaches programmers how to rapidly go from idea to prototype to deployed web application with minimal magic and minimal effort. Most fledgling startup hackers who reach out to me are looking for this kind of material, so I hope to turn it into a multi-part blog series (perhaps ebook) soon. More to come!

9 Responses to “Rapid Web Prototyping with Lightweight Tools”

  1. Jeff Evans Says:

    The multitude of different frameworks is both exciting and a little overwhelming. What are your thoughts on Pyramid? I have done some quick prototypes using Flask and Django, and just created a starter project in Pyramid. I really like the simplicity of Flask, but the Django auto generated admin interface is simply awesome. Pyramid purports to be light weight but still powerful enough to provide auto-generated admin interface “out of the box*” [*with a couple of extensions, namely SQLAlchemy and FormAlchemy]. Have you worked with Pyramid at all or explored the various ways of doing auto-generated admin outside of Django?

  2. Joes Says:

    Well, Flask also has “automatic” administrative interface in form of Flask-Admin extension.
    See here: http://flask-admin.readthedocs.org/en/latest/quickstart/

  3. » PyCon 2013: The Debrief Says:

    [...] home   photos   about me   contact   « Rapid Web Prototyping with Lightweight Tools [...]

  4. » Build a web app fast: Python, HTML & JavaScript resources Says:

    [...] I’ve converted this blog post into a full-blown tutorial. You can find the code & slides in this post. Shortly, I will also post up the video (the three-hour tutorial was recorded at [...]

  5. Paul Says:

    This is an extraordinarily helpful tutorial! Many thanks for the effort you put in.

  6. Yasoob Khalid: Best Python Resources for Beginners and Professionals | The Black Velvet Room Says:

    […] Rapid Web Prototyping with Lightweight Tools […]

  7. Naudingos python nuorodos Says:

    […] Rapid Web Prototyping with Lightweight Tools […]

  8. Uncategorizable Resources | Thinking Aloud Says:

    […] http://www.pixelmonkey.org/2013/03/13/rapid-web-prototyping-with-lightweight-tools […]

  9. Andrew Montalenti: If you were on a desert island … | Thinking Aloud Says:

    […] http://www.pixelmonkey.org/2013/03/13/rapid-web-prototyping-with-lightweight-tools […]

Leave a Reply