Background
I’m a self-taught frontend dev at intermediate level. For my day job and a couple of side gigs, I’ve done user authentication, interacting with pre-existing infrastructure/API not built by me. I also know how JWT works.
However, to my distress, I realised that if I were to build a simple web app for users (think To-Do or Notes, where each user will have their own data) on my own… I’d be clueless and not know where to start 😳. Now I felt it’s time to stop being embarassed and start learning by posting this question here.
What is the most simple stack to create a basic personal CRUD web app with the following specs/requirements? For the sake of simplicity, let’s assume it’s a Notes app.
User:
- App can have many users.
- User can create a new note.
- User can view and manage (edit, delete) their existing notes.
- Only the user can edit or delete their notes.
- User can manage their notes from any browser/device. (So localStorage or sessionStorage is out.)
- Everyone else can view user’s notes through a public URL.
- Notes shall not contain sensitive data.
- User shall be required to give as little amount of personal data and go through as little steps as possible to use this app.
- User might not be a tech person (= may not have Github/Netlify account).
Dev (ie. me):
- I have intermediate skill in JS; near zero skill in backend or DevOps (setting up server, do I need CI/CD, Docker, etc).
- Yes I know I eventually have to learn the latter. For now though, I hope to create an app with minimum amount of backend & devops work.
- I do have basic understanding of backend-related JS frameworks like Express and Koa.
- I’ve been into Svelte. But React, Vue, or vanilla JS is also fine.
- I’d like to keep the code open source.
- Free services only please.
(Sidenote: I know I can create a remixable app on Glitch. But in this case, I’d like to know how to do it differently.)
I found my main problem lies with TWO aspects: (1) user authentication and (2) data storage. I did some research and found the following solutions. Now I need help with how and what to choose.
Problem 1: User authentication
- Google Sheets
- Firebase
- Auth0 (7,000 free active users & unlimited logins, good enough)
Problem 2: Data storage
- Google Sheets
- Firebase
- Free tier of Contentful, Sanity, or other similar service? It would not be sustainable if there are many users. 🤔
…No user authentication?
I found this interesting example in marinaratimer.com:
- User can create a new timer.
- Once a timer is created, user gets two unique links:
- “viewer link”, eg. marinaratimer.com/KwAuW
- “administrator link” to edit the timer, eg. marinaratimer.com/iBblB
- This is a public link; user is simply told to keep it private. 🤯
Would be grateful for any advice, and/or just share your experience building this type of web app! 🙏🏽
🍦 UPDATE: Thank you all for the responses! I decided to go with a Svelte + Sapper + Firebase (Firestore and hosting) for this project. For future projects I'd probably look into Express and MongoDB. I hope the answers here may be useful for others, too.




















I don't know if it exists a similar tool in JS but Django has this very well resolved, in fact you just designed what you want, what types of inputs you have (string, number, date) and Django solves it for you. Sorry for not being a full answer maybe someone can enlight you better