Comment

Comment by theli0nheart

I work with startups, so I make this decision every 2-3 weeks or so.

Language: Python. Python is easy to learn for those that don't know it, and all-around liked. It's not hard to find engineers with existing experience if you need to grow.

Framework: Django. Django does everything you might want in a framework. It scales with larger teams, and the admin is still one of its killer features.

Frontend: SCSS/SASS, and vanilla JS with some jQuery sprinkled in. When (if) the team/product grows, figure out which frontend framework fits best.

Database: PostgreSQL. Well-maintained, reliable, and great documentation.

In-memory cache: Redis.

Infrastructure: AWS. EC2 for hosting, S3 for file uploads and static file storage, CloudFront for content delivery.

Web server: nginx. Let's Encrypt for SSL cert generation.

App server: gunicorn. It works.

There are probably a few other things I'm missing but these are the big ones! All of my clients from years back (a few who now have 20+ people on their engineering teams) are still using this entire stack, so it scales both technically and as the number of team members grow. Happy to answer any questions!

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton