Inspiration
I’ve often wanted to take a break but hesitated because I wasn’t sure if it was a good time. Too many teammates might already be off, or I would worry about leaving my manager scrambling. I wanted to make time-off planning less stressful and more natural. That’s what inspired me to build SmartPTO.
What it does
SmartPTO helps me plan my breaks. It shows me how many PTO days I have left, suggests the best times to take them, and even drafts a short, human-sounding note I could send to my manager. Instead of second-guessing, I can just focus on resting.
How I built it
I started with a simple idea: find vacation windows where team coverage is strong. Mathematically, for each potential window, I calculate: $$ \text{coverage}(d) = \frac{|\text{team out on day } d|}{\text{total team size}} $$ If the maximum ratio across those days is below a threshold (around 30%), I recommend that window. That way, I don’t end up being “the last one standing.”
From there, I built:
- A backend in Python + FastAPI for balance tracking.
- A recommendation engine that slides windows day by day and picks the best ones.
- Gemini AI to generate warm, human PTO request notes.
- A simple frontend to tie everything together.
Challenges I ran into
- Getting the backend, AI, and UI to play nicely together.
- Fighting with Python imports and environment files late at night.
- Making the AI suggestions feel genuinely helpful and human.
Accomplishments that I'm proud of
- I got a working demo that recommends leave windows.
- The AI notes actually feel natural and personal.
- I pushed through setup headaches and learned a lot in a short amount of time.
What I learned
I learned that even a small formula can make PTO planning feel more objective. And when I combine that logic with natural language from AI, I end up with a tool that feels both smart and approachable.
What's next for Break Buddy
Next, I want to make Break Buddy more connected — pulling real data from Google Calendar or Slack, letting managers see the full team picture, and making suggestions even more personal. My dream is to turn “Can I take time off?” into a one-click process.
Log in or sign up for Devpost to join the conversation.