I work in construction, where many tasks are still handled with spreadsheets and paper because suitable software isn't always available. I'm interested in programming and would like to build an application to solve some of these problems. I learned the basics of Python about a year ago, but I'm still a beginner.
The concept, features, and general design are already planned. What I need now is to build the frontend, backend, and cloud integration, probably using Supabase for authentication and data storage. I'm considering Flutter with Dart or TypeScript with React. Which language and technology stack would be the most practical for getting started?
3 Answers
Start by deciding how people will use the software. Will it be a browser-based application, a desktop program, a mobile app, or some combination? Also consider whether several users need to access and update the same data. Those decisions matter more than choosing a language first. Once you know the target platforms and data requirements, the possible stacks become much easier to narrow down.
For a project that needs a web frontend and Supabase, TypeScript with React is a strong choice. It has a large ecosystem, good Supabase support, and works well for browser-based business tools. Flutter is also reasonable if you specifically want one codebase for mobile, web, and desktop, but it adds Dart and Flutter’s own way of doing things. Since you already know a little Python, you could also use Python for a separate backend later, although Supabase may let you avoid building much backend code at first.
Don’t focus too much on finding the perfect language. The important fundamentals—variables, control flow, functions, classes, data structures, APIs, and basic database concepts—transfer between languages. Pick one stack and build a small version of a real feature, such as creating a project, adding a task, and displaying it for another user. Learn from a structured course or documentation, then use videos only when you need another explanation. Building something small will teach you more than comparing languages indefinitely.

That makes sense. I’ll review the programming fundamentals and start with a small feature instead of trying to build the entire application at once.