# Project export: Day-One

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: OpenAI Build Week
- Tagline: Day One is an adaptive daily planner that turns intentions into realistic blocks, adjusts to your energy, and helps you recover gracefully when the day goes off track.
- Devpost: https://devpost.com/software/day-one-6rz5tk
- GitHub: not linked
- Demo: https://day-one-pwa.pages.dev/
- Video: https://www.youtube.com/embed/12C8pWipJw4?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### Inspiration

Hi, I’m Santhosh. I built DAY ONE because I procrastinate badly. I do not usually avoid work because I do not care about it. I avoid starting it. I tell myself I will begin at eleven, then eleven fifteen, then twelve. By the end of the day, nothing is finished and I still feel exhausted. Every productivity app I tried gave me a longer list. A longer list was the opposite of what I needed. I wanted an app that removed decisions instead of adding more.

### What it does

DAY ONE turns a person's answers into a fixed day made of small blocks. You choose when you wake up, what matters right now, and how you eat. The app builds the day. You then deal with one block at a time. The main flow is: Open the day. Start the next block. Follow one first move. Mark the block done. Answer one short check-in question. Keep the record in your journal. The app also includes: A Calm Layer for low-energy days and fixed commitments. Tasks assigned directly to blocks. A calendar-based Journal with day stories, notes, missed blocks, and optional proof photos. Streaks based on returning, not perfection. Weekly Stats. Schedule editing. An optional Goal Pot that shows the effort moving toward a personal goal. A first-run guided tour that explains the app as the user moves through it. GPT-5.6 is used in two focused places. It creates a contextual check-in question after a block and can write a short summary of a recorded day. It is not a chat screen. If the network is unavailable, DAY ONE uses local questions and summaries instead.

### How we built it

DAY ONE is a vanilla JavaScript PWA with HTML and CSS. The app stores its state locally in the browser. There are no accounts, analytics, or paid dependencies. Proof photos are resized in the browser and stored locally. Codex helped build the state model, screen registry, render lifecycle, responsive layouts, service worker, offline cache, journal calendar, guided tour, proof-photo handling, and Cloudflare Worker boundary. The Cloudflare Worker keeps the OpenAI key away from the browser. The Worker calls the OpenAI Responses API with GPT-5.6 and returns only the small response the app needs.

### Challenges we ran into

The hardest part was not creating screens. It was making the app behave correctly as one connected flow. We had to handle: State surviving reloads. Full-screen screens and bottom navigation not interfering with each other. Inputs staying focused while the app re-renders. Mobile layouts at 390px and 360px wide. Offline behavior when the Worker or API key is unavailable. Keeping journal photos local while sending only selected text records for GPT summaries. Making the app feel calm without making it feel empty. We also had to remove duplicate rendering paths and fix a bug where clicks bubbled to the root element and rebuilt the entire screen.

### Accomplishments we're proud of

The part I am most proud of is the core loop. It is small enough to use on a difficult day: Open the block. See the first move. Do it. Answer one question. Continue. I am also proud that the app does not punish a late start. Seventy percent of the blocks counts as a day, and the streak is designed around returning instead of maintaining a perfect record. The Journal is another important part. It turns small completed blocks into something readable later, instead of leaving the user with another list of tasks.

### What we learned

We learned that removing choices is often more useful than adding features. We also learned that offline behavior should be part of the product design from the beginning. The local fallback is not a separate demo mode. It keeps the main loop working when the network is unavailable. The biggest lesson was that visual polish depends on the transitions between screens. A good Today screen is not enough if opening a block, completing it, or returning to the Journal feels disconnected.

### What's next

for DAY ONE The next step is to make the app feel more native on a phone. That means adding proper push notifications, Apple Watch and Live Activity integrations, calendar handoffs, and a more complete history of how goals change over time. The core idea will stay the same: make the next useful thing easier to start.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- JavaScript (language) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.