Inspiration
We wanted to tackle something that affects everyone — the way we forget the things we once spent hours learning. Over time, knowledge fades quietly in the background, and we waste time relearning skills we already had. That inefficiency doesn’t just slow our personal growth, it slows innovation as a whole. We asked ourselves: what if maintaining knowledge felt as rewarding as learning it? That question became Astrarium — a celestial productivity app that turns consistency into care.
What it Does
Astrarium transforms skill maintenance into an interactive experience. Users nurture a small alien companion that evolves as they answer review prompts correctly and fades when they neglect their practice. It turns accountability into empathy — when your progress fuels a living world, staying consistent feels meaningful. To make this habit sustainable, Astrarium sends gentle reminders and pop-up prompts at scheduled times, so users can keep up with micro-review sessions even on busy days. In the future, Astrarium aims to automatically detect new skills from users’ online activity, updating their profiles seamlessly as they grow.
How we Built it
We built Astrarium using Next.js, TypeScript, and Tailwind CSS v4 for a responsive, theme-adaptive interface, and integrated animations for the evolving celestial pet using a custom Canvas renderer. Our Supabase backend handles authentication and database storage, with Prisma ORM ensuring strong type safety. The project lives in a Turborepo monorepo, which keeps our frontend, UI library, and database logic modular and efficient. We used shadcn/ui for accessible, consistent component design, and focused heavily on smooth visual transitions to give the app a sense of calm progression.
Challenges we Faced
Building a product that balanced technical complexity with emotional design was harder than expected. Creating a pet evolution system that felt meaningful required tuning animations, thresholds, and feedback to avoid making users feel punished for missing days. Setting up our monorepo structure and shared UI packages took careful debugging to get hot reloading and imports working correctly across all packages. Making the reminders feel natural — not intrusive — pushed us to refine our user flow repeatedly. Despite those challenges, we ended up with something we’re proud of: a productivity tool that genuinely feels alive.
What we Learned
We learned how to merge gamification, user psychology, and full-stack engineering into one cohesive product. We deepened our understanding of React server components, monorepo collaboration, and accessible UI design. Most importantly, we learned how small interactions — a soft glow, a pet’s gentle animation, a forgiving streak — can completely change how people engage with consistency.
Built With
- fastapi
- gpt
- next.js
- node.js
- ollama
- prisma
- shadcn/ui
- supabase
- tailwinds

Log in or sign up for Devpost to join the conversation.