I am planning to build a desktop application that leverages a Python backend to automate tasks—similar to what tools like Manus AI offer. The core functionality will be built in Python to take advantage of its powerful automation and scripting capabilities.
The frontend should deliver a modern, intuitive user experience that feels native and sleek. My challenge is to decide how to architect the application:
Architecture Decision:
Option 1: Build the Python backend as a local service or hosted API, then use a frontend (like ElectronJS) to connect to it via URL.
Option 2: Bundle the backend and frontend together in a single desktop app, using tools that support local execution and UI (e.g., ElectronJS + Python, or Python GUI libraries like Tkinter, PyQt, etc.).
Technology Stack Decision:
Frontend UX: I want it to be modern, responsive, and interactive—closer to a web-style UX.
ElectronJS vs. Python GUI libraries:
ElectronJS: More flexibility and modern UI using HTML/CSS/JS but might increase bundle size.
Tkinter/PyQt: Simpler to integrate directly with Python but can look outdated or clunky for modern UIs.
What I Need Help With:
Which architectural pattern is better: Hosted API vs. bundled local backend?
Which frontend approach to use: ElectronJS or a Python-native GUI library?
Any recommendations for combining Python automation power with a modern UI in a scalable and user-friendly way.