Project
churritOS
A narrative investigation game that turns a fictional desktop, messages and personal records into clues to an unfolding story.
Paused
- Type
- Narrative game / fictional operating system
- Role
- Design & development
- Context
- Personal project
- Duration
- 2026-Ongoing
The brief
The computer is the crime scene
churritOS is a browser-based investigation game presented as a fictional desktop. Instead of moving through a physical world, the player searches the traces people leave behind: conversations, emails, photographs, files and records from a domestic network.
The first case, 03:17, begins with an unfamiliar device appearing on the home network and a missing external SSD. The task is to reconstruct the sequence of events, compare sources and separate coincidence from evidence. The interface is part of the story: each application offers a different view of the same mystery.
Purpose
Make everyday interfaces worth investigating
A timestamp, a casual message or a photograph can mean very little on its own. Place them next to another source and they can change the whole interpretation. churritOS explores that moment of connection.
The interaction uses familiar desktop habits: open a window, search an archive, read a conversation and inspect a detail. Those small actions become the investigation. The player forms the theory rather than following a sequence of instructions.
In numbers
The project at a glance
Desktop applications
Playable case: 03:17
Progress saved in the browser
System
One desktop. Seven perspectives.
Mail, Messages, Photos, Files, Home, Browser and Notes share a windowed desktop with a taskbar, focus management and notifications. Windows can be moved, minimised and restored, so information from several sources can stay within reach.
Behind the interface, cases are structured data validated with Zod. Reading evidence records progress; declarative rules then reveal content or trigger notifications. Applications present the available material without containing the logic of a particular story.
The architecture separates the case content, the narrative engine, the game state and the desktop shell. A new case can use the existing applications and rules without rewriting their components.
Outcome
A playable first case, with room to refine
03:17 is implemented as a complete playable investigation, including a final case report in Notes. Players submit their theory explicitly and receive an overall result without being given the answer to each question.
Narrative progress and deduction attempts are saved locally with Dexie and IndexedDB. Returning to the game offers the choice to continue; restarting begins a clean investigation. The game runs without a backend or an account, and its internal browser searches fictional pages supplied by the case.
The next validation is human playtesting: whether the clues are readable, the connections feel fair and the difficulty holds together. The desktop is usable, while window maximisation, pointer resizing and multiple instances of an application remain unfinished.
Gallery
Selected work
A closer look at the screens, details and the build in context. Open any image to see it full size.
Highlights
What it does
A familiar desktop on the surface, with an investigation engine underneath.
-
Evidence across applications
Compare messages, photographs, files and domestic records rather than relying on a single source.
-
Cases as content
Structured case data is validated before it reaches the interface.
-
Narrative rules
Evidence actions update progress and unlock material through a shared declarative engine.
-
Local autosave
Narrative progress and deduction attempts survive a return visit in the same browser.
-
A deliberate conclusion
Submit a theory through the case report instead of completing the mystery by clicking everything.
-
A contained fictional world
The internal browser serves case pages; Home shows narrative device records rather than controlling real hardware.
Technical foundation
Tools & stack
App Development
- Vite
Data
- Dexie
Frontend
- TypeScript
- Vitest
- Zod
- Zustand
Web Design
- React
Web Development
- CSS
Next
Test the mystery before expanding the world
Playtest 03:17, refine the wording and clue progression, and check for dead ends. Once the first investigation is balanced, the same content format can support another case without rebuilding the desktop or its applications.