Inspiration
We've all been there — three minutes before a high-stakes meeting, heart racing, mind scattered, scrolling aimlessly just to feel busy. There's no shortage of meditation apps or productivity tools, but nothing designed specifically for that exact window: the five minutes before you walk in.
That gap is what inspired MindPrep. Not a wellness app. Not a journal. A focused, in-the-moment ritual engine that meets you where you are emotionally and hands you something immediately actionable — before the calendar invite even pings.
The insight was simple: the quality of a meeting often has less to do with preparation time and more to do with mental state in the final moments before it begins. We wanted to solve that — one ritual at a time.
What it does
MindPrep generates a personalised 5-minute pre-meeting prep plan based on how you are feeling right now and what kind of meeting you are walking into.
You select your emotional state from a mood tag picker — Anxious, Nervous, Overwhelmed, Excited, and more — or describe it in your own words. You tell MindPrep what the meeting is. In seconds, you receive a fully tailored ritual containing a named breathing exercise with step-by-step instructions, two cognitive reframing prompts designed for your specific situation, and a first-person confidence statement to carry in with you.
From there you can follow the Guided Timer Mode, which counts down 5 minutes and reveals each step one at a time — complete with an animated breathing circle that expands and contracts in sync with every inhale, hold, and exhale. You can save rituals for future reference, rate how your meeting went afterward, and unlock Meeting Insights that surface which mood and technique combinations correlate with your best meetings. A smart reminder system lets you schedule a browser notification to fire before your next meeting, and a shareable image card lets you post your confidence statement to LinkedIn or X.
A streak counter tracks your consecutive days of use, and every plan generation produces a distinct output — no two rituals are ever identical.
How we built it
MindPrep is a single-page React application powered by the large language model for contextual plan generation with MeDO. The stack was kept intentionally lean so the experience could stay fast and focused.
Frontend— React with a calm, minimal design system built around a teal and off-white palette, generous whitespace, and fully mobile-responsive layouts.
AI layer — Large language model generates the full prep plan from the user's mood context and meeting type using a carefully structured few-shot system prompt that enforces specificity, tone, and format on every generation.
Persistence — Saved rituals, streak data, and post-meeting feedback are stored via the artifact storage API and persist across sessions without requiring a user account.
Browser APIs— Web Speech API powers voice input for the emotional state field, the Notification API drives the smart reminder system, and the Canvas API generates the downloadable shareable image card.
The Meeting Insights feature computes a weighted average rating per mood tag and breathing technique across all saved rituals:
$$\bar{r}{tag} = \frac{\sum{i \in S_{tag}} r_i}{|S_{tag}|}$$
where \( S_{tag} \) is the set of saved rituals containing a given mood tag and \( r_i \) is the post-meeting star rating for ritual \( i \). This surfaces the single most actionable pattern from a user's own history.
Challenges we ran into
Making AI output feel personal, not generic. Early plan generations produced bland affirmations and textbook breathing descriptions. The breakthrough was restructuring the system prompt with explicit negative constraints — "do NOT write things like believe in yourself" — alongside two full positive few-shot examples. Output quality and specificity improved dramatically after this change.
Timing the guided timer fairly. Distributing 300 seconds across a variable number of steps — where breathing has multiple sub-steps and reframing prompts are single blocks — required a weighted allocation model rather than a naive equal split. Breathing always receives at least 50% of total time regardless of how many steps the generated plan contains.
Generating a shareable card that looks good enough to actually post. A Canvas-rendered PNG has no layout engine, no flexbox, no text wrapping — every element has to be positioned and sized programmatically. Getting the typography, padding, line wrapping, and gradient to look polished enough for LinkedIn took far more iteration than expected.
Streak logic without a backend clock: Correctly determining whether the current session represents a new day, the same day, or a skipped day — across timezones, without a server — required storing a normalised UTC date string and comparing it carefully against the local system date at generation time.
Accomplishments that we're proud of
We are proud that MindPrep feels like a complete product, not a hackathon prototype. Every state is handled — empty states, error states, loading states, edge cases like duplicate saves and skipped streak days — nothing is left blank or broken.
The animated breathing circle during timer mode is something we are particularly proud of. It takes a list of text instructions and turns them into a genuinely calming, embodied experience without requiring any audio or external libraries — just CSS animation timed precisely to the breathing technique the AI generated.
We are also proud of the Meeting Insights feature. Showing users a data-derived pattern from their own history — "your best meetings happen when you feel nervous and use box breathing" — transforms MindPrep from a one-time tool into something that gets more valuable the more you use it.
What we learned
Prompt engineering is product design:The difference between a useful AI feature and a forgettable one lives almost entirely in how the system prompt is structured. Specificity, few-shot examples, and explicit negative constraints are not optional refinements — they are the core of the feature.
Constraints create calm: Limiting the tool to exactly five minutes and exactly three sections forced every design decision to serve the user's limited time. The constraint made the product feel more trustworthy, not less capable.
The ritual matters more than the content: Users do not just want good advice — they want a process to follow. The guided timer exists not because the content requires it, but because being led through steps reduces cognitive load at exactly the moment when cognitive load is highest.
What's next for MindPrep
Calendar integration — connecting to Google Calendar or Outlook so MindPrep can detect upcoming meetings automatically and prompt the user to start their ritual without any manual input.
Audio-guided breathing— adding optional ambient sound and a spoken breath cue so the breathing exercise works with eyes closed, making the timer mode a truly hands-free experience.
Team rituals — allowing managers to create and share a ritual template with their team before recurring meetings, building a shared pre-meeting culture across an organisation.
Longitudinal insight reports — a weekly summary showing how meeting performance has trended over time, which emotional states are most common, and which rituals are being used most — giving users a genuine picture of their mental performance patterns.
Multi-language support — generating plans in the user's preferred language so MindPrep can serve professionals globally, not just English speakers.
Built With
- backend-storage
- llm
- node.js
- react
- streaks
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.