Live data from Hacker News

Ask HN: What would be your stack if you are building an MVP today?

news.ycombinator.com

661–670 of 736 posts

Re: Ask HN: What would be your stack if you are building an MVP today?

#661
I'm surprised "Next with Postgres" is under "Old School" here.

Building an MVP to me means you are building a Proof of Concept (POC) for investors to see the value in your product. Using something that has a proven and lengthy track record and plethora of industry resources in the market feels like the right approach.

Depends on resources too... If you have separate resources for FE and BE. Probably still go Rails for BE. The upsides to Rails is productivity and job market. I'd track metrics that would help you keep an eye on application performance where it matters and iterate on those areas post-MVP.

For the FE I'd go NextJS... You can use it as just React or actually use all of the pieces to it where necessary. You can host it on a server or toss it on Vercel or Netlify to have less worries until you outgrow those (if ever).

For the database I'd probably use something that works well with Prisma JS for productivity, PostgreSQL or MySQL.

I'd stick to TypeScript for that productivity too. The iteration speed is a brain dead reason to use it.

If you can make the BE and FE with the same team and use all TypeScript... I'd use NextJS + Prisma JS + tRPC. tRPC would give a huge productivity boost because of its TS integration into your project. You just need someone senior enough to establish guard rails like the boilerplate, linter, and other guard rails to keep more junior developers on track and productive.

I feel that the combination of these frameworks will give you the right mix of quality and iteration speed without sacrificing one or the other. Also, great hire-ability. Though, all of this depends on if you actually need a DB and a backend, or even a frontend for what could suffice as an MVP.

Just some thoughts...

Re: Ask HN: What would be your stack if you are building an MVP today?

#664

Earlier quoted context omitted.

What do you use for auth?

Just a normal create-user/login form. Or Firebase Auth if Google and other sign in's need to be supported.

In the former case, are you managing signups, password resets...?

Re: Ask HN: What would be your stack if you are building an MVP today?

#665

For an MVP, I'd choose what I'm most familiar with and can be fastest with. That would mean: 1. Laravel 2. An Ubuntu VPS in either Digital Ocean or Linode 3. A managed database in one of those services, likely Postgres That would get me to market the quickest. I have no issues with the application being in Laravel/PHP and after getting to market, I'd work on making the infrastructure scalable. I wouldn't expect overn…

Why opt for managed db?

In my experience, I'm far more likely to run into database bottlenecks early on than web server bottlenecks (largely through hastily and poorly written queries or unchecked Eloquent N+1 problems). I'd opt for the managed DB so that there's limited chance that the database will affect other processes on the webserver (including serving requests, handling background and scheduled jobs, etc.)

It also makes it easier to scale within Linode/Digital Ocean if you find yourself needing to do that before the more complicated AWS infrastructure is ready.

Re: Ask HN: What would be your stack if you are building an MVP today?

#666
post #474

Earlier quoted context omitted.

Instead of an S3 bucket you can use GitHub Pages. You push stuff to the upstream git repo and it gets deployed. It’s free (you have to pay for GitHub Pro if you don’t want to make the source code publicly available) and comes with Fastly CDN if I recall correctly. You just have to configure your custom domain.

I use a GitHub action to sync to an s3 bucket, works extremely well. my update.yml: name: Update Website on: push: branches: - production jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: jakejarvis/s3-sync-action@master with: args: env: AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS…

Just an FYI. You can now use OIDC to authenticate to AWS. This removes the need for hardcoded IDs and KEYs.

Re: Ask HN: What would be your stack if you are building an MVP today?

#669

Earlier quoted context omitted.

>I'd almost like to reach for Blazor, but if it's at all public-facing, I don't think I can justify using Blazor at this time. What are your concerns with Blazor for public facing apps?

Try navigating to the site for the Blazor material design library, MudBlazor, on a mobile browser: https://mudblazor.com As much as I want Blazor to work out well, those load times are too abysmal for me to seriously consider Blazor outside of internal apps.

I wonder how well mud Blazor works in a MAUI Blazor app when it's all packaged locally and compiled to native.
Post reply on HN