Inspiration

I live with a brain injury from a traffic accident. Working memory is the part that doesn't work well anymore. A normal to-do list is a wall for me: too many items, too vague, and I freeze. When I do start, something else catches my attention and I stop.

So I built the app I needed. VeilTask hides the list. It shows only the one thing to do now.

What it does

  • Breaks a task into concrete steps. Answer a few questions, or let AI plan it. On Apple Intelligence devices the planning runs on-device. On any device, VeilTask writes the prompt for you: copy it into the AI you already use, paste the reply back, and the steps are imported as the plan.
  • Shows just one thing. The full list is deliberately kept out of sight. VeilTask sorts the steps and puts the one to do now on the main screen.
  • Stays with you. It nudges you until you start, and stays with you until you're done. If you end up waiting, it suggests a task you can do right where you are.
  • Auto mode. With the screen open, it listens and picks out tasks from ordinary conversation. What it hears is never stored or sent anywhere.
  • Calendar, if you want it. It can plan for events already on your calendar, and write steps back to a calendar of your choice.
  • Everything on your iPhone. No account, no server, no analytics. It works the same offline.

Free for up to two unfinished tasks. VeilTask Plus via RevenueCat: lifetime, monthly with a 7-day free trial, or yearly. All three unlock the same features.

How I built it

Swift and SwiftUI, iOS 26. On-device speech recognition (SFSpeechRecognizer with on-device mode), Foundation Models for planning and task extraction on Apple Intelligence devices, with a rule-based fallback elsewhere. EventKit for calendar, CoreLocation for the "what can I do while waiting?" suggestions. RevenueCat handles the paywall, entitlements, and restore.

I can't hold a large codebase in my head, so I worked with Claude: Claude Code wrote and refactored the code, and a second Claude session acted as planner and reviewer, keeping a running handoff document so nothing depended on my memory. Every feature was tested on a real device before it counted as done.

Challenges

  • Keeping the whole app local-only while still handling purchases — RevenueCat was the only network call I allowed.
  • Making Auto mode useful without a server: on-device speech recognition plus a small on-device model, with a simple rule-based path for older iPhones.
  • Designing for a brain that gets lost easily: one question per screen, one task on the main screen, big buttons, and nothing that pulls attention away.
  • Building with a working-memory limit: the handoff document between sessions became as important as the code itself.

What I learned

The list was never the point. Showing less let me get more done. And the limits of my own brain turned out to be a good enough design spec for anyone who struggles to get started.

What's next

  • Better Auto mode: smarter filtering, and fewer mistakes when extracting what was actually said.
  • Suggestions beyond tasks: remind you to take an umbrella when rain is coming, or suggest a place to stop by on the way, based on where you are.
  • Better task breakdown: learn from how you use the app, inside the app, so steps can be generated without Apple Intelligence — and get even better when Apple Intelligence is available.
  • New modes: dedicated modes to prevent slip-ups while shopping or cooking.

Built in public with Claude Code. #Shipaton2026 #BuildInPublic

Built With

Share this project:

Updates

Submission history