DEV Community

Tommaso Sacco
Tommaso Sacco

Posted on

I built an AI planner that forces you to do only 4 things a day — here's why

I have a confession: I'm a productivity app addict.

Notion, Todoist, Things, TickTick, Bear, Obsidian — I've tried them all. And every single one failed me in the same way. Not because they were bad apps. But because they let me add unlimited tasks.

So I'd wake up Monday morning, open my to-do app, and see 47 items staring back at me. By 9am I was already paralyzed.

The problem with unlimited tasks

Decision fatigue is real. When you have 47 tasks, you don't pick the most important one — you pick the easiest one. You trick yourself into feeling productive by crossing off "reply to that one Slack message" while the actually important work sits untouched.

I call this the infinite backlog trap. Every productivity system I tried made it worse, not better. GTD gave me a perfectly organized list of 200 tasks I'd never do. Time-blocking showed me exactly how many hours I was fooling myself.

The problem isn't organization. It's unlimited optionality.

The constraint that changed everything

I stumbled onto something while reading about Warren Buffett's "two-list strategy." The idea is that constraints force prioritization in a way that abundance never can.

So I ran an experiment: what if I could only plan 4 things per day?

Not 4 categories. Not 4 projects. Four discrete tasks. That's it.

The first week was uncomfortable. I had to make real choices. I had to admit that most of my to-do list was noise. But by week two, something shifted — I was actually finishing what I planned. For the first time in years, my day had a clear shape.

What I built: LifePilot

After six months of living with this constraint myself, I built LifePilot — an AI planner for iOS that enforces the 4-task limit.

The AI part isn't magic. It helps you reframe tasks that are too vague ("work on project" → "write the intro section of the Q2 report"), break down tasks that are too big, and suggests which 4 things actually matter today based on your goals and energy.

But the real feature is the constraint itself. You literally cannot add a 5th task. The app won't let you.

Some people hate this when they first hear it. "What if I have 8 urgent things?" — then you have a prioritization problem, not a task management problem. LifePilot forces you to solve the right problem.

The tech stack

  • Swift + SwiftUI — native iOS, no React Native or Flutter
  • LLM integration for task reformulation and daily planning suggestions
  • Editorial Luxury design system — a custom design language I built for the app: Playfair Display for headlines, Space Grotesk for UI, JetBrains Mono for numbers. No gradients, no shadows, just clean typographic hierarchy on a warm off-white background
  • No backend — everything runs on-device or direct API calls; no user data stored server-side

The design was a deliberate counterpoint to the "gamified productivity" trend. No streaks. No confetti. No points. Just clarity.

What I learned

1. Constraints are features, not limitations.
Every time I wanted to add "just one more slot," I stopped myself. The constraint IS the product. Removing it would make LifePilot just another to-do app.

2. Empty state design is underrated.
When a user opens the app and has 0 tasks planned, what do you show them? This is the highest-leverage moment in the entire UX. I spent more time on the empty state than on any other screen.

3. Ship earlier than you think.
I waited until the app was "ready." It was never ready. The feedback I got in week one of the App Store launch taught me more than six months of solo building.

4. The AI should be invisible.
The best AI feature is one the user doesn't think of as AI — they just think "this app gets me." That's the bar I'm trying to hit.

Try it

LifePilot is free on the App Store: https://apps.apple.com/app/id6760910669

If you're building something in the productivity space and want to talk constraints, design, or LLM integration — I'm all ears in the comments.


Built with Swift, SwiftUI, and an unhealthy obsession with typography.

Top comments (0)