I'm working on a web application for managing camps that includes features like event management, registrations, payments, and email automation. Our target audience is small organizations running between 5 to 20 events each year, with 20 to 100 participants per event. We already have a working prototype for the frontend built with Next.js and we've prepared detailed documentation for the backend, including the data model and other requirements.
As university students, we've primarily built apps for school projects which haven't been deployed or iteratively developed for long periods. Now, we're evaluating various backend options: Next.js API Routes, Node.js with Express, tRPC, Java Spring Boot, or potentially something different. My co-developer prefers Spring Boot since it's what we've learned most about, but I worry it could complicate development. I'm leaning towards using Vercel and Supabase along with a JavaScript framework to speed up our progress. What are the trade-offs I should consider in this decision? I'm eager to hear insights from those who have experience with these technologies.
3 Answers
When you’re in the early stages, it's usually better to stick with a stack that allows you to ship products quickly. Next.js for the backend is a solid choice for basic functionalities. Use it until you need to scale up. If you find yourself handling a ton of requests, then consider transitioning to Spring Boot or something like Node with FastAPI. Remember, software architectures will evolve, so don't stress too much about the perfect design right now; a simple monolith can be very effective for starting out.
In my opinion, the best backend to use is the one you and your team are most comfortable with. If you're looking to learn something new, that's great too. Just keep in mind that adding third-party services like Supabase can speed things up, but it also introduces new risks, like potential points of failure or security issues that could lead to unexpected costs. Plus, Spring Boot can be a bit complex but is a solid framework. I’d recommend trying to develop a few components simultaneously, using strict typing to your advantage.
Do you mean summer camps? I work as an event organizer at a golf course, and I'd be happy to give you feedback on your frontend prototype if that helps!

I totally get that! I used TypeScript for my frontend, and it really helped catch a lot of issues early on.