Inspiration
I have a middle-school daughter. As school, commuting, Saturday classes, and club activities made our shared time smaller, mornings became a difficult place to start a conversation.
The idea came from a real family experiment: hand over one small thermal receipt with tomorrow's context, and let the paper create a gentle opening. At first, her response was only “hmm.” Later, the receipt gave us one small sentence to share: “Did you read today's receipt?” The receipt was not a bill; it became a calm bridge between a parent and child.
What it does
Every Morning Receipt prepares a screen-free morning briefing with tomorrow's weather and umbrella advice, a private calendar snapshot, a daily fact, encouragement, and a five-minute English challenge. The answers are printed at the bottom so they can be hidden by folding the paper.
The app renders Japanese text as a 384px image and sends it to a Bluetooth thermal printer. It reconnects every ten minutes when the printer disappears. Delivery state is tracked by date; retries happen only when failure is known to be before image data was sent. If the result is uncertain, the app stops instead of risking duplicate or partial receipts.
When the scheduled automatic print is missed, a Raycast action can print the receipt immediately.
How it was built with Codex and GPT-5.6
Codex was the implementation partner throughout OpenAI Build Week. With GPT-5.6, it read real Bluetooth printer logs, reproduced dropped connections and partial prints, and helped design acknowledgement, retry, and reconnect behavior.
Codex also helped create a deterministic demo mode that judges can run without an account, personal calendar, internet connection, API key, or physical printer. The demo uses a fixed Monday and safe sample weather and schedule data, so every judge sees the same complete receipt.
The most important product decision was to keep AI optional. The value is a dependable family ritual, so an API outage or missing key must never prevent a receipt from being created.
Judge-ready demo
After installing the project dependencies, run:
python daily_receipt.py --demo
This generates the full 384px receipt image and text output locally with no network or private data. The repository includes setup instructions, sample configuration, automated tests, and clear printer-free judging guidance.
Challenges
The hardest problem was not generating content. It was deciding when a Bluetooth failure was safe to retry. A connection can disappear before any image data is sent, after only part of the bitmap is sent, or during cleanup after the printer has already acknowledged the job. Treating all three failures the same would create missing or duplicate receipts.
Accomplishments
- Reconnects automatically every ten minutes
- Tracks confirmed, retry-safe, and uncertain delivery states
- Provides immediate Raycast recovery for missed automatic prints
- Includes a deterministic, privacy-safe demo
- Passes automated regression tests for offline generation and printer delivery behavior
- Turns a real family need into a complete, repeatable product experience
What is in the video
The submission video uses the real receipt photo and Bluetooth settings photo from the original article and tells the personal story behind the project. Narration audio was generated using the creator's authorized AI voice clone, with English captions embedded in the video.
Original story: https://note.com/taraco_mom/n/n37441878a924
Log in or sign up for Devpost to join the conversation.