LeedsHack Digital Pet

About the Project

I built a desktop learning companion: a small Live2D cat that lives on your screen and helps you stay focused in a gentle, playful way. It reacts to your activity, encourages you when you’ve been focused for a while, nudges you when you’ve been idle, and lets you chat when you need a quick boost. It also responds to you in real time—following your mouse with its gaze and reacting to live keyboard input. Instead of a cold productivity timer, it feels like a friendly study buddy.

Use Cases

Use cases: exam prep, writing essays, coding, homework, and any long study session that needs sustained focus. Challenge fit: the prompt asks us to reboot learning systems or improve time management in a playful way. I turned traditional “timers and notifications” into a companion system:

  • Time management: tracks focus time, idle time, and typing rhythm to suggest breaks.
  • Playful: a desktop pet makes it feel light and approachable.
  • Mental health friendly: nudges are warm and brief, not demanding.

How I Built It

  • Desktop app: Tauri v2 + Vue 3 + Vite for a lightweight cross‑platform shell.
  • Live2D animation: real‑time canvas rendering with mouse/keyboard interaction.
  • State & logic: Pinia stores track focus, idle time, and input rhythm.
  • AI responses: Bun + Hono + tRPC API streams short supportive messages.
  • Focus visualizations: a heatmap view + streak counts for habits.
  • Customization: opacity, size, always‑on‑top, pass‑through, autostart, and language support.

What I Learned

  • How to integrate system‑level input listeners in a desktop app.
  • Live2D animation control tied to real user events.
  • Building a consistent bilingual UX with i18n.
  • Tuning AI output to be short, warm, and non‑intrusive.

Challenges I Faced

  • Non‑intrusive input tracking: listening without disturbing real workflows.
  • Timing the nudges: too frequent feels annoying, too rare loses value.
  • Performance vs. scaling: Live2D + window resizing required optimization.
  • AI tone control: keeping responses friendly and concise every time.
  • Memory leaks early on: we initially used React + PixiJS, but the rendering lifecycle caused unavoidable leaks, so we pivoted the stack to ensure stable long‑running performance.

Conclusion

I reimagined time management as a gentle, playful companion instead of a strict timer. The result is a study pet that supports focus, respects your flow, and makes learning feel a little more human.

Built With

Share this project:

Updates