Some teams face constraints that make standard web deployment impossible: confidential data that must never leave user machines, air-gapped environments, and workloads that are too expensive to run centrally.
This talk presents a production pattern for turning Django into a desktop application by packaging it inside Electron. The case study is Steel-IQ, an open-source steel-industry simulation tool for multi-decade decarbonization scenarios, shipped for local execution with sensitive data.
Structure (30 minutes):
1. Why this architecture exists: confidentiality, offline environments, heavy compute.
2. System design: Electron + Django + django-tasks workers + SQLite (including WAL mode).
3. Packaging and distribution: python-build-standalone, uv, installers, and update paths via GitHub Actions.
4. Production failure modes: startup checks, graceful shutdown, orphan process cleanup, migrations, and memory behavior.
5. Demonstration and decision checklist: when this approach is right, and when to choose alternatives.
Audience and level:
- Intermediate to advanced Django developers.
- Useful for teams building internal tools, offline-first products, or applications with strict data constraints.
- No prior Electron experience required.
Attendee takeaways:
1. A reference architecture for embedding Django inside Electron in production.
2. A concrete packaging strategy for standalone Python across platforms.
3. Process-management patterns for reliability and recovery.
4. Operational lessons for long-running local workloads.
5. A decision framework for when desktop-packaged Django is a fit.