Skip to content

Python⚓︎

Desktop App Arch: FastAPI + Web + pywebview

A creative architecture for building desktop applications with shorter delivery time for a certain class of desktop tools.

Recently got a new way to build desktop applications. This is not a typical Qt desktop application. The core idea is:

  • BE: local FastAPI backend service
  • FE: Web pages with HTML, CSS, and JavaScript
  • Shell: open it inside pywebview to make it a desktop app.

The interesting part is that this is still a real installable desktop application, not “just a website in a browser”. In practice, the release pipeline can use:

  • GitHub Actions builds the app.
  • PyInstaller produces the executable.
  • Inno Setup creates the corresponding installer.