← work.

SnapTask

AI task planner, shipped to Google Play

role
Full-stack
stack
Expo · React Native · React · Convex · Clerk · Turborepo · Sentry
year
2026
SnapTask

the problem

Most task apps assume you already know your next step, but the harder problem is starting. A big, abstract goal is easy to stall on, the analysis paralysis that comes from facing too many unknowns at once, and a plain to-do list or calendar does not help because it still expects you to do the planning yourself. SnapTask treats that planning as the core of the app rather than a feature bolted on the side: you describe a goal in plain language, and an AI planner breaks it into a structured set of tasks you can start on. The reasoning step is the whole point. Without it SnapTask would be another list; with it, the app helps you begin instead of only reminding you to act.

architecture

SnapTask is a Turborepo monorepo on pnpm workspaces. Two client surfaces, an Expo React Native app and a Vite React web app, share a single Convex backend package through the workspace protocol, so queries and mutations are written once and consumed by both. Clerk handles authentication across both clients, and Sentry captures errors in production.

The web client showing a project board: thesis tasks grouped into Todo, In Progress, and Done columns, each card carrying a due date, priority, and subtask progress.
The web client, running against an offline build seeded with sample data.

the AI layer

Planning runs through @convex-dev/agent, with @convex-dev/rate-limiter guarding the endpoints it exposes. Keeping the agent inside Convex means it shares the same auth context and data model as the rest of the app rather than sitting behind a separate service.

The in-app assistant planning a project: the chat panel reasons over the same tasks shown in the workspace, flags what is overdue, and lists the changes it made.
The assistant works over the user's own projects and tasks, not a separate chat context.

the mobile app

The same Convex backend and AI planner drive an Expo React Native app, published on Google Play. Quick capture, the today list, project progress, and the assistant's plan-and-approve flow are all rebuilt as touch-first native screens.

Mobile Today screen: tasks due today with status filters and a bottom tab bar.Mobile assistant proposing a week of tasks with an approve-and-add action.Mobile Projects screen: projects grouped by status, each with a progress ring.
Google Play listing screens.

shipping it

The Android build is published on Google Play. The web client deploys to Cloudflare Workers, configured to expose only the custom domain. Preview URLs are disabled because they fail Clerk's allowed-subdomain check in production.