I’m planning to build a ride-hailing app like Uber using Cursor and Opus 4.7

What are the best practices to build something like this in a clean and structured way without AI hallucinations or messy architecture?

Also I’d like your opinion on the stack choices:

  • Is using FastAPI for the full backend a good approach for this type of system, or would Firebase be better?

  • Flutter or React (or React Native) for the frontend?

And how do you usually handle:

  • System design and early architecture splitting

  • Writing prompts that produce clean, consistent code

  • Controlling APIs and schemas to avoid chaos

  • Using Opus 4.7 only for high-level or complex decisions

If you’ve actually built large systems with Cursor, I’d really appreciate your approach or any practical strategies that worked for you.

If you’ve actually built large systems with Cursor, I’d really appreciate your approach or any practical strategies that worked for you.

Backend:

Unless there a very good reason, you should use the backend technology you have the most experience with. For me thats .NET

Frontend:

See backend RE: React Native or Flutter.

Other Questions:

The best approach I can recommend is to point the agent at an existing codebase that you’re happy with and use the same patterns and practices as that. You will save a lot of time and money on tokens doing this.

If you don’t already have that, I say enjoy the process of building something for yourself and learning what you like and don’t like. It is not something I recommend skipping and is a big part of what will make you a great developer. Sometimes you’ll feel like you’re wasting time but it will really shape how you think and work and understand what you’re building.

I’ve built a few things myself from scratch (personal and as part of a job from scratch) and can offer you this advice:

  1. Ignore the nice to haves. Good example - username/password AND Google SSO. Just pick one for now until someone asks for it. Really try and keep everything as simple as possible.
  2. Do not get bogged down about the UI/UX at an early stage and try to just get something ready that works and you can show off. Its a mistake I’ve made many times.
  3. Try not to get too obsessed getting the frontend code clean/maintainable or making your own design experience. Its an area you can spend a lot of wasted time and energy.
  4. I use Composer-2 for any plumbing work e.g. building new feature from frontend=> backend, GPT5.4 for anything Composer-2 struggles on (which is really rare except for performance stuff or extensive refactorings), and Auto for simple tasks e.g. change button label/styling etc

Good luck!

Thank you for your response and the valuable insights

I have an additional question: do you think there is a practical way to build a professional development plan (architecture, roadmap, and tasks) using AI while minimizing hallucinations as much as possible and ensuring that technical decisions remain consistent and correct?

Also, how do you personally handle the execution phase using Cursor or other AI tools to make sure the code does not drift away from the core architecture over time?

Do you have any additional tips from your experience with similar large-scale projects?

@Naufaldi_Rafif @Artemonim