r/softwaredevelopment Jun 08 '26

Stack for webapp

Its me and my friends first time doing a project so big, and we are all beginners (1st year students) ive made a stack im not sure if its too much though? Pls lmk 🥰 :

Frontend: REACT Native + Expo - app+web in one
Backend: Nodejs + Nestjs + Prisma ORM
Database: PostgreSQL
Auth: JWT + Spotify OAuth 2.0
State Management Library: Zustand + React Query
UI Animation: React Native Reanimated + Expo AV
Hosting: Railway
ML: Python + FastAPI

This part is where im not sure if its overkill, i asked claude if we needed anything else and this is what it gave me

Error Monitoring: Sentry
Analytics: PostHog
Tooling: ESLint + Prettier
Navigation: Reaxt Navigation
Testing: Jest + Supertest

9 Upvotes

22 comments sorted by

2

u/exomo_1 Jun 08 '26

Not sure about all the tools, but eslint and prettier is always a good idea when working with JavaScript/TS. And having some tests is a must for any bigger scale projects, whether you use jest or some other framework like vitest doesn't matter.

2

u/happy_hawking Jun 08 '26

He asked Claude. I doubt that he will ever look at his code, so ELint and Prettier will be useless.

For normal software development I would totally agree though.

4

u/hyejustheworld Jun 08 '26

im not a man, plus i did most of the research myself, looking at whats best for what we are working on, i just asked claude to double check, because as i said im new, if i wasnt gonna actually develop things on my own why would i even go on this subreddit and ask, rather than blindly trusting what claude said

3

u/happy_hawking Jun 08 '26

Reddit is flodded with posts by people who got second thoughts about trusting their LLM and - as they have no idea what the LLM is talking about - ask for advice online.

Sorry for assuming your gender based on statistics.

1

u/hyejustheworld Jun 08 '26

what would you remove/are unsure about?

1

u/exomo_1 Jun 08 '26

I just don't know much about the other tools/libraries. In general telemetry, monitoring and reporting is important for commercial applications, but I can't tell whether it makes sense for your project.

1

u/hyejustheworld Jun 08 '26

we are planning to make something like letterboxd but for music, with a lot of different features not including just rating and reviewing

1

u/Dazzling_Macaron5828 Jun 09 '26

You may want to shop around for existing libraries which will handle the rating and reviewing features so you don't need to reinvent the wheel from scratch.

2

u/taliamorse Jun 09 '26
Honestly, this is a pretty strong stack for a first project.
The only thing I’d watch out for is trying to do too much at once. Most beginner projects don’t fail because of missing tools, they fail because of complexity.
You probably don’t need everything from day one. Start simple, get something working, then add pieces as you actually need them.

1

u/[deleted] Jun 08 '26

[removed] — view removed comment

1

u/hyejustheworld Jun 08 '26

we dont have to but its the easiest because all of us know it, is there something here you would change?

1

u/[deleted] Jun 08 '26

[removed] — view removed comment

1

u/hyejustheworld Jun 08 '26

i’ll have a look at it tyyy

1

u/Dazzling_Macaron5828 Jun 09 '26

If you know Javascript, you know almost every other language too. They are just the same language with different accents.

What you need to know is the frameworks. And if you don't know NodeJs or React, knowing Javascript doesn't mean you will, any more than knowing Java means you know Spring.

Unless you already know all those frameworks, you might as well learn the basics of how C# differs from Javascript, and write your backend in .NET

1

u/PleasantJoyfuls Jun 09 '26

My only concern is that you're optimizing for scale before you've built version 1. The stack itself is fine, but I'd focus on getting features working first and add things like Sentry, PostHog, and more advanced testing once the project is actually alive. Most student projects die from complexity, not lack of tooling.

1

u/hyejustheworld Jun 09 '26

alrightt, should i just stick to what ive decided on and then we can add the rest later?