Project Description (BUHACK Submission)
Inspiration
Students often struggle with focus, burnout, and studying in isolation. Existing tools rarely combine productivity (e.g. Pomodoro), wellbeing awareness, and collaborative learning in one place, tied to their notes and materials. We wanted to extend an academic workspace so that focus, wellbeing, and social revision live in the same environment where students already work.
What it does
Nota is an all-in-one academic workspace (notes, canvas, PDFs, tasks, calendar). For BUHACK we added three modules around digital wellbeing and productivity:
- AI Focus Coach — Pomodoro-style focus sessions with activity tracking and AI-generated insights to improve concentration and study habits.
- Wellbeing Check-In — Daily check-ins and surveys with burnout detection to support mental health and balance.
- Flashcard Battle — Real-time multiplayer quiz battles (Socket.io) so revision becomes social and motivating without leaving the platform.
Everything is integrated in the same workspace, so wellbeing and productivity are part of one workflow.
How we built it
We built on the existing Nota stack and added the new features inside the same monorepo:
- Backend: NestJS (TypeScript), Prisma ORM, PostgreSQL, Redis, Socket.io for real-time battle.
- Frontend: Next.js 15, React 18, Tailwind CSS.
- AI: OpenAI / Anthropic for focus insights and flashcard generation.
- Tooling: pnpm workspaces, Turborepo; Docker Compose for local PostgreSQL, Redis, and MinIO.
- Auth: JWT for API and WebSocket (e.g. battle namespace). Wellbeing and focus data are stored via the same API and database.
Challenges we ran into
- Integrating the new modules (Focus, Wellbeing, Battle) with the existing auth, workspaces, and AI pipelines without breaking the base app.
- Making the battle gateway work with Nest dependency injection (e.g. providing
JwtServiceinBattleModule) and keeping TypeScript types correct for the battle state (e.g. discriminated union for "game over" vs "next question"). - Aligning env and Docker credentials (e.g. Postgres password) across root and Prisma for a smooth demo setup.
Accomplishments that we're proud of
We shipped three hackathon features (AI Focus Coach, Wellbeing Check-In, Flashcard Battle) wired into a real academic platform with auth, workspaces, and AI. The battle is real-time and multi-user; focus and wellbeing are first-class in the same UI as notes and tasks. We're proud of the integration quality and that the project is runnable end-to-end for a demo.
UN Sustainable Development Goals (SDGs) supported:
- SDG 3 — Good Health and Well-being: Wellbeing check-ins and burnout signals.
- SDG 4 — Quality Education: Better focus and collaborative learning (flashcard battles, study tools).
What we learned
We got better at extending a production-style monorepo (Nest + Next.js + Prisma), at real-time design with Socket.io and gateway dependency injection, and at structuring TypeScript so the compiler correctly narrows union types. We also refined our workflow for local dev and demo setup (env, Docker, DB).
What's next
- Richer wellbeing analytics and trends.
- More battle modes (e.g. team vs team, different quiz types).
- Deeper AI integration (e.g. personalised focus recommendations from history).
- Optional LMS integrations for deadlines and course context.
- Bringing focus and wellbeing flows into the desktop (Electron) app.
Built With
- docker
- electron
- minio
- nestjs
- next.js
- openai/anthropic
- postgresql
- prisma
- react
- redis
- socket.io
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.