Inspiration

Most sleep aids are so depressing and medical. But sometimes the way we look at our health can influence our health. We built Sheepy to make sleep planning feel easy and comfortable. Instead of presenting a scary hospital wearable or a torture looking breathing device we wanted to turn available sleep data and upcoming commitments into a clear plan with a relaxing companion that minimizes the stress of sleep stress.

What it does

Sheepy is an iOS app that combines Apple Health sleep data, calendar commitments and user preferences to recommend:

  • When to get morning light.
  • When to stop consuming caffeine.
  • When to start winding down. Straightforward app interface that gives users peace of mind.

How we built it

We designed Sheepy around one rule: code calculates, and AI only explains. A stateless PlanEngine takes sleep data from HealthKit, events from EventKit, and the user’s preferences, and returns a single plan. The same inputs always give the same result, so the plan is easy to test and trust. A bad night is just a shorter sleep summary fed through the same function, which means toggling it can never stack adjustments.

We also designed for missing and messy data. A flight counts only if the event has an explicit destination time zone, never a guess from its title, and missing sleep data is treated as unknown rather than zero. The “Why this plan?” explanation is built on the device from the same result the engine produced, so it always matches the plan and works offline. Claude then connects to the sheep lamp through a small set of tools, so it can start a sunrise fade and say why.

Challenges we ran into

Sheepy has to bridge two very different worlds: private data on the phone and a tiny Arduino on the nightstand. The phone side was messy. HealthKit sleep samples overlap and come from multiple sources, and Calendar, Health, and planning refreshes can finish out of order, so we tagged every request and ignored stale results. Time was just as tricky, because plans cross midnight and daylight saving changes, and “tomorrow at 7 AM” depends on the planning time zone, not the phone’s.

The hardware side had its own limits. The Arduino has no clock, so the phone timestamps every head pat. Its Bluetooth protocol has no command IDs, so a timeout doesn’t prove a command failed, and the Simulator has no Bluetooth at all, which meant testing on a real iPhone. We taught Claude to read the lamp’s status before retrying and never to claim success unless a tool actually succeeded.

Accomplishments that we're proud of

We built something you can actually put on a nightstand. Sheepy reads a real calendar and real sleep data from the phone, turns them into a plan, and a small sheep lamp reacts to it. It started as sleep data on a screen and ended up as a companion that feels warm instead of clinical. We are so proud that the plan can be trusted. Our code does all the calculating and Claude only explains it, so the same night always gives the same plan, and it still works without internet.

What we learned

We learned that individual personalization matters as much or even more than overall collecting more data. We also learned where AI adds value. AI isn't a shortcut but more of a detour in a road trip. It can’t replace the road but instead add value to the trip. Working under a hackathon deadline taught us to work traditionally with white boards to create clear systemic ideation.

What's next for Sheepy

We plan to integrate motion sensors and an AI voice agent for interactive, personalized check-ins. By connecting to students’ Notes and Reminders app through API integrations, with their permission, Sheepy could anticipate stressful weeks and break large assignments into manageable tasks to help students plan ahead. We also hope to introduce a gamified reward system where students earn points for healthy sleep habits and participate in friendly challenges with their peers, fostering a supportive community that motivates students to build healthier sleep routines together!

Built With

Share this project:

Updates

Submission history