On Going from Idea to Deploy

How much time does it take for you to go from imagining a decent idea to having a functional bare bones proof of concept web app?

Right now, for me it’s around two days of intermittent work. Here’s why

My current stack is

  • Next js for the back end and SSR
  • mongodb as the database
  • Tailwind as the css framework
  • Firebase as the auth provider
  • Prisma as the orm most of the time (or mongoose if I’m with mongodb)
  • Some kind of redux alternative if needed

And the list goes on.

I waste the most amount of time on

  • Authentication: the firebase/ auth0 integrations of the world
  • Deciding on the db
  • Deciding on the front end framework
  • Spending a stupid amount of time on styling and css libraries

This is pretty disappointing. Idea to go live should be as soon as possible so that iteration speed is great. What’s the point of having insane tech at our disposal if we still struggle to do basic crud apps slowly?

How to move faster on side projects?

There are three common answers to this from the community I hear

  1. Php and friends: larvel seems to be pretty good
  2. Ruby on Rails : one of the most beloved frameworks for developing web apps. Apparently once you get it, there is no going out.
  3. Django: aimed at perfectionists with deadlines. Delivers what it promises absolutely.

Django

My first try was obviously with Django since I’m familiar with python. Sree Venkat was kind enough to give me a crash course & kickstart development into Django.

Django with jinja templates is an absolute breeze to work with. My prototype was entirely done in less than half a day.

Since Django runs SQL, deploying a small SQL database seems to be pretty expensive. Bit the bullet and ended up deploying the service on a VPS with Coolify. Is going very well!

Some gripes or things I was not expecting (this will be its own post eventually )

  1. On save on model does not run on objects.create by default. It only runs on view save etc.. figured it out while writing a test