HyperOS Theme Studio
A desktop studio for designing Xiaomi HyperOS themes with AI.
12colours per art direction
Private source code
Independent project, not affiliated with Xiaomi.
9:41
Context
A theme for Xiaomi’s Themes app is made of dozens of visual components that must stay consistent with each other. HyperOS Theme Studio is a Linux desktop studio. It starts from an art direction (intent, mood, palette, shapes, textures, things to avoid) and uses it to guide the AI generation of each component.
What I built
- Portable projects: a project is a folder with its
project.jsonmanifest. It can be moved without breaking anything, and the app refuses to overwrite an existing folder. - Art direction: up to 12 colours, per-component guidelines, references and don’ts, all saved in the project.
- Prompt composition: the Rust core merges the art direction and each component’s constraints into a complete prompt, with no network call.
- Visual generation: through Codex’s ChatGPT connection, within the user’s own subscription limits. Each result is kept alongside its prompt.
- Interface: dark and minimal, with a centred home screen, project panels and a collapsible inspector.
Technical highlights
- Layered architecture: a
hyperos-theme-coreRust crate with no UI dependency (reusable by a future CLI), thin Tauri commands, and a React + TypeScript interface. - Safe saving: writes go through a synced temporary file that is then renamed. If the file changed on disk in the meantime, the app reports a conflict instead of overwriting.
- Protected drafts: unsaved changes are flagged, closing the window is intercepted, and drafts survive errors.
- Compatibility: format 1 projects stay readable and move to format 2 on save.
- Quality: Rust tests and UI flow tests, with automated Linux checks on GitHub Actions.
What’s next
A catalogue of generated visuals, image import, asset validation and, above all, export to the .mtz format to install the theme on a phone. That export doesn’t exist yet.
Got a similar project? Let's talk.
Start a project