Project Info
Inspiration
Screen-time numbers are easy to ignore. We wanted your habits to become something you could actually see and care about.
What it does
Wasting time on phone weakens Doomo; studying and completing small real-world quests help him recover.
How we built it
We used Codex and GPT-5.6 with React Native, Android usage data, an offline behavior engine, and spaced-repetition study cards.
Challenges we ran into
Making Doomo motivating without making the user feel judged and keeping Android tracking reliable and battery-friendly.
Accomplishments we're proud of
We turned screen habits and learning progress into an emotional companion instead of another analytics dashboard. The isometric room was also cool.
What we learned
People respond more strongly to a character that reflects them than to charts, warnings, or screen-time limits.
What's next
More expressive animations, smarter study-card generation, and deeper changes to Doomo’s room and personality. Integrating google classroom for more personalized feel and realtime conversation. Migrate to android native for more control.
Doomo
Doomo turns your screen habits into the health of a virtual owl. Doomscrolling weakens him; reviewing your own study cards and completing small real-world quests helps both of you recover.
OpenAI Build Week track: Education — Doomo turns a student's own notes into focused study cards, schedules them with spaced repetition, and makes consistent learning emotionally visible.
Try it
Download the latest judge builds from GitHub Releases:
- Android phone:
doomo-arm64-v8a-release.apk - Android/Appetize emulator:
doomo-x86_64-release.apk
Open Demo inside the app for sample usage and a starter study deck. Real screen-time reflection requires Android Usage Access and is best tested on a physical phone.
Current room
The current room makes study, rest, air, health, and resets part of Doomo's home instead of another dashboard.
What it does
- Reflects selected-app screen time through Doomo's health, mood, and room.
- Turns notes into concise GPT-5.6 study cards through a server-only endpoint.
- Reviews cards offline with FSRS spaced repetition.
- Offers small reset quests: study, drink water, or step outside.
- Keeps the core loop local; cloud voice and AI card generation are optional.
Tech stack
| Layer | Technology |
|---|---|
| Mobile | Expo SDK 57, React Native 0.86, TypeScript |
| Android | Kotlin native module, UsageStatsManager |
| Experience | React Native Skia, Moti, Reanimated, DeviceMotion |
| Learning | GPT-5.6, FSRS, local lecture decks and imports |
| Storage | Expo SQLite |
| Optional voice | OpenAI Realtime over WebRTC |
| Server | Node.js 20, OpenAI Responses and Realtime APIs |
Run locally
Requirements: Node.js 20+, JDK 17, Android Studio, and an Android emulator or phone.
git clone https://github.com/GitZohair/doomo-build-week.git
cd doomo-build-week\mobile
npm ci
npx tsc --noEmit
npm test
npx expo run:android
After the native client is installed, use Metro for fast iteration:
cd mobile
npx expo start --dev-client
The app works without an OpenAI key. For optional GPT-5.6 card generation and Realtime voice, run the server and keep the key there—never in the Android client:
cd server
npm ci
$env:OPENAI_API_KEY = "your-key"
$env:DOOMO_SAFETY_SALT = "a-long-random-secret"
npm start
How Codex and GPT-5.6 were used
Codex was the main engineering partner throughout the build: it helped turn the concept into the Android product, wire the native usage module, build the learning and room flows, debug Gradle/native dependencies, run tests, and produce verified ARM64 and x86_64 builds.
GPT-5.6 powers the notes-to-cards path. The server sends student notes to GPT-5.6 with a strict schema, validates the result, and imports the atomic cards into Doomo's offline FSRS review loop. No API key is shipped in the app.
Privacy
Screen-time history, health state, streaks, and card scheduling stay on-device. Camera quests are optional, and optional cloud features clearly require a user action.
Repository
This repository is publicly viewable for OpenAI Build Week judging. The project remains all rights reserved; see LICENSE. APKs are provided only as hackathon testing builds.
Analysis
View
Metric
- 31
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- JavaScriptIn code
- KotlinIn code
- PythonIn code
- ReactIn code
- TypeScriptIn code
- OpenAIClaimed
5 of 6 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
801 KB
Source files
109
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
GitZohair/doomo-build-week
312 files · 85.5 MB · @ 95c611c
Structure
Interface
35 files · 11%Screens, components and styles rendered to the user.
API & routing
6 files · 2%Request entry points: routes, handlers and controllers.
Application logic
62 files · 20%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript76%
- Python22%
- Kotlin1%
- XML1%
- Markdown1%
- JavaScript0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
mobile/package.json
npm · 31- @expo/metro-runtime
- @expo/vector-icons
- @shopify/react-native-skia
- @types/papaparse
- expo
- expo-camera
- expo-dev-client
- expo-document-picker
- expo-file-system
- expo-notifications
- expo-sensors
- expo-splash-screen
- expo-sqlite
- expo-status-bar
- expo-system-ui
- moti
- papaparse
- react
- +13 more
server/package.json
npm · 1- pdf-parse
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.