Inspiration

As students we often don't get enough sleep, stick to unhealthy habits, and don't exercise enough. Without someone looking out for us, stress gradually builds into anxiety and depression. This lively Goose pet helps us overcome that.

What it does

TamaGoosie is a Tamagotchi-style virtual pet app where your goose's mood reflects how well you're actually taking care of yourself. Your little gosling doesn't just wait for you to open the app—it watches closely over your health and goals, and when you're falling behind, it reaches out to you.

Connect to Apple Health and the goose tracks your sleep, steps, and exercise. Set personal goals—daily workouts, water intake, study sessions, mindfulness—and watch the goose react as you check them off throughout the day.

The defining feature is how the goose communicates. Every notification is written in real time by an on-device language model (Apple Intelligence or Gemini) in the goose's voice. Miss a workout and you'll get a gentle nudge. The more you ignore it, the more the goose complains: be prepared to receive a notification every 5 minutes!

When you're truly busy, a live chat opens where you can explain yourself. The goose interrogates you and decides whether your excuse is legitimate, or just an excuse after all! You can also talk to your goose anytime through the chat interface, where it can help build goals with you together.

Finally, add your friends and compare the healthiness and happiness of your goose. Hold each other accountable! We're all in this together. 🪿

How we built it

TamaGoosie is a native SwiftUI app targeting iOS 26+. We used SwiftData for persistence and HealthKit for biometric data. The AI layer uses Apple's FoundationModels framework (on-device, no API key needed) with Gemini as an optional cloud backend. Every notification body is generated fresh by the model at scheduling time—the goose's character is enforced through a system prompt, and a multi-turn LanguageModelSession powers the negotiation conversations. We managed the Xcode project with XcodeGen and used Convex as a backend for social features.

Challenges we ran into

  • Making AI notifications feel alive, not generic—getting the goose's voice consistent across short notification snippets required careful prompt engineering. The model needs to stay in character in 2 sentences or fewer, every time.
  • The negotiation system—designing a conversation that feels real meant the goose needed to actually distinguish legitimate excuses from lazy ones, then commit to a decision and not waver. Stateless prompts weren't enough; we needed full conversation history passed through the session.
  • Developer API restrictions—we plan to integrate Screen Time APIs and Apple Watch health metrics, but many functionalities from the Apple ecosystem were locked behind tough paywalls and applications.

Accomplishments that we're proud of

  • The goose chat—the AI goose chat reduces the friction from a user thinking of a goal and actually setting one.
  • The notifications—the notifications are designed to bug you more and more until you complete the task. But if now is really not the time, you can convince your goose to let you off the hook
  • Dynamic Island—We weren't too familiar with how the dynamic island worked, so we were really proud to get some simple animations to remind you of your goose's health (and in extension your health).
  • Integration with Apple Watch—We've developed an apple watch app as well so your goose can get even deeper insights on your health and health goals. Using the Apple ecosystem, your information is synced between the devices.

What we learned

We also deepened our understanding of the Apple ecosystem as a whole. Integrating HealthKit, FoundationModels, SwiftData, Dynamic Island Live Activities, and a companion watchOS app in parallel forced us to think carefully about data flow across multiple parts of the application and even across multiple devices.

What's next for TamaGoosie

  • Customization of your goose—Each user should be able to customize their goose using "goose points" they get from completing tasks or meeting health goals
  • Interaction with friends—You can challenge your friends to meet certain health goals and bet goose points on the challenge. If one of you fails to get a full 8 hours of sleep, you'll have your goose points on the line!

Built With

Share this project:

Updates