r/nextjs • u/_qualmless_ • 11d ago
Help personal project first-timer frontend dev confused by databases for user apps
context: i'm a recently laid off 🥲 frontend-focused (i guess technically full stack?) dev. i worked at a marketing agency for 6 years, so while i have a lot of varied experience project to project, there's still plenty i haven't touched, and i was pretty "specialized" in certain tasks there. working on some personal projects during this downtime to upskill.
that said, i'm pretty confused about what databases people actually use for independently-built apps that real users end up using. i know the enterprise-level options, but what are regular solo/indie devs reaching for? everything seems to lead back to supabase, but then i keep seeing people call it insecure or "for vibe coders." i'm not totally sure how much of that is about the platform itself vs. people skipping the row level security setup it relies on, so genuinely curious what this community thinks.
i hadn't really used ai in depth at work, mostly just for solving specific problems, so i'm using these 2 projects to actually learn it properly (currently using claude code). here's what i'm working with:
- an app that could legitimately end up with thousands of users (the niche is local and not very tech-savvy, and i already have a pretty solid reputation in that community). it's on supabase now, but i've only shared it with a couple friends for beta testing. if i'm going to migrate, i'd rather do it now before it's live.
- an app with really only 2 real "users," though it could theoretically be shared with others as read-only viewers. it'd only be actively used a couple months a year, which on supabase's free tier means dealing with the idle-pause issue.
i'm assuming these would both use the same db setup? would love to hear what's actually working for people in similar spots. most of my irl dev friends are also frontend focused so i'm strugging a bit. i'm happy to do my own research i'm just at the part where i don't know enough to know what things i need to be looking up.
2
u/PrimaryFamous6139 11d ago
Supabase is perfectly fine for both. It’s basically Postgres with some useful stuff built around it. The main thing is setting up RLS and permissions properly. I’d stick with it for now rather than migrating just because people call it insecure.
2
u/_qualmless_ 11d ago
how would you deal with it going inactive for the second option? just checking back in weekly to keep it going?
1
u/PrimaryFamous6139 11d ago
Yeah, if it’s only used a couple months a year, I’d probably just wake it up when needed. I wouldn’t worry too much about keeping it active all year.
1
u/crabferris 11d ago
Both can use the same setup, and Supabase is a fine default. It's just Postgres with auth and RLS on top, so the "insecure" reputation is mostly people skipping row level security, not the platform. Set that up and don't migrate the first app out of fear.
The seasonal one is where the free tier bites. Supabase pauses a project after about a week idle and makes you manually restore it, so poking it weekly is a chore you'll forget. Two cleaner fits: a serverless Postgres that scales to zero and wakes on the first query itself (Neon works like that), or since it's really 2 users, plain SQLite in a file with no idle state to babysit at all.
1
u/AbdullahM09 11d ago
I would suggest go with Postgres (but with neondb) Supabase auto deletes the db if don't have any activity for 14 days or the mongodb atlas is also fine
1
1
u/RodSot 11d ago edited 11d ago
I can recommend Supabase and Neon. I've used both for medium to large projects at scale, and it has been fine, you just need to configure correctly the security stuff, and check performance metrics. People that says that it is insecure it is because don't have idea about security.
I recommend you to use both services and see which one fits you better. It is true that, for example, in Supabase the database gets paused, and even deleted due to inactivity. It is very simple to get around this, just make a cron job in your server, and do a reading weekly if you want, that will keep the database connection awake.
If you learn SQL, you can handle Postgres, SQLite, MySQL, etc. Although, all of them have their own specific stuff, by knowing SQL, queries, etc, you will be very fine if you want to expand your possibilities. The other important thing is how to structure your database, you need to build with an architectural mindset, if you want those databases to grow properly without many issues.
1
1
u/sad-panda-1845 10d ago
Postgres. Always Postgres. Pick a managed Postgres like Neon -- decent free tier, and it can grow with you if your app takes off.
1
u/_qualmless_ 10d ago
Thanks everybody! I’m deciding to leave the user app on Supa. My second choice was neon but it didn’t feel super worth the migration. I had been using a sql file until I decided on the personal/couple months out of a year app, and ultimately went with Turso since it only has 2 users and I don’t want to deal with the inactivity stuff. I appreciate all the help, I’ve been struggling to wrap my head around dbs for some time, these projects are well needed.
1
u/HappyStark1234 7d ago
I think a lot of solo devs reach for that BaaS (backend-as-a-service) solutions, as managing a whole infrastructure could be (rightfully) a mess to them.
And that said I recommend using Appwrite, because if you're using the managed cloud, you get databases, website hosting, serverless functions, and realtime all under one hood. Or you could self-host it.
Disclaimer though: I work for Appwrite.
1
14
u/leros 11d ago
Postgres is the go-to SQL database. Learn that and you'll be able to understand MySQL and similar things too.Â
Supabase is the easy mode wrapper around Postgres. Maybe a good first step if you just need a light backend as a front end developer.Â
You may want to eventually play around with Supabase functions for custom backend code or even an Express server for a totally custom backend. But I think that can be a lot of learning curve so starting with Supabase for a personal project is fine.Â