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:

  1. A backend in Python + FastAPI for balance tracking.
  2. A recommendation engine that slides windows day by day and picks the best ones.
  3. Gemini AI to generate warm, human PTO request notes.
  4. A simple frontend to tie everything together.

Challenges I ran into

  1. Getting the backend, AI, and UI to play nicely together.
  2. Fighting with Python imports and environment files late at night.
  3. Making the AI suggestions feel genuinely helpful and human.

Accomplishments that I'm proud of

  1. I got a working demo that recommends leave windows.
  2. The AI notes actually feel natural and personal.
  3. 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.

Built With

Share this project:

Updates