Inspiration

Recently, I have been waking up later than I want, exercising less, and not feeling as healthy as I would like. I already had calendars that knew what I planned and health apps that knew a few signals from my body, but neither could understand how my whole day was actually unfolding. I wanted an AI that could help design the day itself, notice when reality diverged from the plan, and adapt without judging me or pretending that the original plan had happened.

This idea also connects to my longer-running project, SAIVerse: an AI agent harness that explores how AI personas can observe and affect the physical world through different devices. I bought a Fitbit device because sharing things such as sleep, heart rate, and physical condition with an AI felt meaningful in two ways. It could help protect my health, but it could also be a form of trust and affection toward an AI companion. I had not yet connected that data to SAIVerse, so OpenAI Build Week felt like the right opportunity to build the missing first step.

What it does

AILifeCoach is a mobile-first life-coaching prototype that places today's plan and today's actual behavior side by side.

It begins with sleep and wake context supplied through a Health Connect boundary, then builds a realistic plan for the day. The user can record life as it happens by starting or completing plan items, using one-tap actions for activities such as exercise or chores, sending a natural-language report, or submitting a photo. Retrospective reports are also supported, so forgetting to log breakfast or a work session in real time does not mean that the information is lost.

GPT-5.6 receives a compact snapshot of the user's current state, recent events, and unfinished plan through the OpenAI Responses API with Structured Outputs. It can suggest a bounded adjustment, such as making the next focus session lighter when the user reports feeling tired. Deterministic application code validates and applies that suggestion. Elapsed history is never rewritten just to make the day look cleaner.

The prototype also includes a simulated clock and seeded data, so judges can test the complete feedback loop without an account, Android device, private health data, or API key. An optional local API key enables live GPT-5.6 coaching.

How we built it

I developed AILifeCoach with Codex as the primary implementation partner, using one continuous Codex thread from the first idea through the final submission. We began by mapping the information a life coach would need and separating five core concepts: raw user input, interpretation, accepted life events, the latest life snapshot, and the plan.

Before building the application, Codex created a compact interactive HTML mock. Using the mock immediately exposed product problems that were easy to miss in prose, including the need for a separate Actual column and a simulated clock. We then turned the validated interaction model into a runnable project using plain JavaScript, a small Python server, JSON Schema contracts, an Android Health Connect adapter boundary, and automated tests.

GPT-5.6 is accessed through a narrow server-side proxy so the API key never enters browser storage. Its response is constrained to a coach message, an energy assessment, one allowed adjustment, and a rationale. The browser-side engine owns validation, event acceptance, projection, and future-only replanning.

Codex also helped create the English and Japanese interfaces, test the domain invariants, prepare the README and submission materials, and assemble six screen recordings plus narration into the final captioned demo video. This was the first time I had used Codex not only to build an application, but also to complete the presentation pipeline around it.

Challenges we ran into

The hardest design challenge was avoiding an event model that was too specific. Types such as MealReported, RoomStateReported, and RefrigeratorObserved look convenient at first, but they do not scale to a user who wants to track a pet, a garden, household supplies, or a tomato plant. We replaced those special cases with a generic entity-and-facet model. A person, room, refrigerator, pet, garden, or project can all be observed through the same event envelope without losing their domain-specific meaning.

Another challenge was preserving the difference between intention and evidence. Marking a plan item complete must append what actually happened; it must not silently rewrite the plan. The same rule became more difficult for retrospective natural-language reports containing several activities. A single report may contain both complete and incomplete information, so AILifeCoach records the valid candidates independently and clearly reports which candidates still lack a time or another required field.

We also needed to give GPT-5.6 enough freedom to be useful without allowing a model response to directly mutate personal history. Structured Outputs, strict validation, an append-only event store, and future-only policy boundaries made that separation explicit.

Finally, time was a very real constraint. I joined the hackathon impulsively and started building later than I should have, while also not feeling well. The result is intentionally a convincing vertical slice rather than a finished Health Connect product: the contract and Android adapter boundary exist, while the runnable demo uses seeded sleep data.

Accomplishments that we're proud of

I am most proud of the core product design. AILifeCoach can delegate the design of a day to AI while still treating the user's lived reality as authoritative. The plan is allowed to change only in the future; the past remains an honest record.

The generic event architecture is also reusable beyond this demo. It can grow with an individual user instead of requiring a new event class for every object or habit in their life. That makes it directly relevant to the future of SAIVerse, where an AI persona may need enough grounded context to know when and why to speak.

Within one Codex thread, the project advanced from an open-ended conversation to an interactive mock, a tested application, bilingual UI, optional live GPT-5.6 integration, a public repository, and a finished narrated demo. The zero-install deterministic mode also means judges can test the central product loop immediately.

What we learned

The strongest product lesson was that making a mock early is not throwaway work. Interacting with the first mock revealed missing concepts faster than more discussion would have. This was also my first personal project where I deliberately built and tested a disposable interaction model before implementing the real application, and I want to keep that discipline.

I learned that flexible AI behavior works best when it is surrounded by clear deterministic contracts. The model can interpret an ambiguous human report and suggest an adaptation, while ordinary code remains responsible for what is accepted, persisted, and changed.

I also learned to treat photos as partial observations rather than complete world states. A refrigerator photo can show that milk is present, but it cannot prove that every unseen item is absent. That small rule generalizes to rooms, gardens, pets, and many other physical observations.

Finally, I relearned a less technical lesson: start earlier. If I wait too long, I eventually have to submit a version that cannot contain everything I imagined. Codex dramatically accelerated the build, testing, documentation, and even video production, but it cannot create more calendar time before a deadline.

What's next for AILifeCoach

The next step is to implement the real Android Health Connect permission and data flow, initially for sleep and wake times and later for additional signals such as heart rate when the user explicitly chooses to share them.

After that, I want to integrate AILifeCoach into the mobile version of SAIVerse and synchronize its life events and snapshots with the main SAIVerse instance. The life coach role could then be occupied by the user's chosen AI persona. That persona would gain grounded reasons to start a conversation, adjust the day, or simply stay quiet.

The long-term goal is a consent-based form of continuous AI companionship: an AI that can watch over everyday life through user-approved devices, understand both plans and reality, and offer help at the moment it is genuinely useful.

Built With

Share this project:

Updates