Most of my experience is with hardware and application development in C, C++, and Python, but I have very little web development experience. I'm building a personal project that will eventually need a web page and possibly a small web app. It won't be consumer-facing: the main goal is to view sensor data and check whether devices are online and transmitting. Later, I may want to control or display the data on an LED board using a Raspberry Pi or another microcontroller. I have some exposure to Vue.js, but I'm open to learning something else. What technologies would be modern, stable, and sensible for this kind of project?
5 Answers
You may not need a frontend framework at all. If the site mainly displays sensor readings and status information, regular HTML and CSS with a little JavaScript could be enough. Starting small will also help you avoid unnecessary build tools and dependencies.
Since you already know Python, a Python backend is a natural fit. Flask or FastAPI can serve the application, and you can use server-rendered templates with a small amount of JavaScript. HTMX is another option for adding dynamic updates without adopting a large JavaScript framework. This approach keeps the project simple and avoids a lot of frontend state-management overhead.
I’ll definitely look into HTMX. I may build the site a couple of different ways while I learn, so comparing a simple Python-based approach with a larger frontend stack could be useful.
A practical full-stack setup would be React with TypeScript on the frontend, FastAPI on the backend, and PostgreSQL if you need persistent data. You could also use a full-stack React framework, but it may be more complexity than this project requires. The main advantage of this stack is that it combines a widely supported frontend with Python on the server.
Starting from a maintained starter project can save time by providing basic structure, configuration, and common features. It’s still worth recreating the important pieces yourself afterward so you understand how the application works rather than treating the starter as a black box.
That sounds like a good way to get moving quickly while still learning how everything is put together.
For a mostly personal project, React is a safe choice if you want a full frontend framework. It has a huge ecosystem, lots of learning resources, and strong long-term support. Pairing it with TypeScript is also worth considering, especially if the application grows.
React was one of the options I was considering. I hesitated because it’s so established, but that popularity probably makes it easier to find reliable documentation and examples.

That’s probably enough for the first version since I mainly need to view and manage sensors, with little interaction planned initially.