All Startup Ideas

SMS Time Tracker for Side-Hustlers

A two-command SMS time tracker for gig workers, drivers, and weekend consultants who'll never open another app—text "start" and "stop", get an invoice-ready weekly summary.

A weekend consultant finishes a Saturday-morning client call, jumps in the car to make a delivery, swings by a coffee shop to write copy for a third client, then realizes at midnight that none of those hours got logged anywhere. Existing time-tracking apps assume you work at a desk: they want you to switch tabs, find the project, hit a button, watch a timer. Most gig workers don’t have that ritual—they have a steering wheel, a doorbell, a kid’s soccer game. The friction between “I’m starting work” and “the timer is running” is the gap where billable revenue evaporates.

Built for Side Hustlers, Solo Founders, Non-Technical, Freelancers.

SMS marketing is a $12.6B industry in 2025, with some forecasts projecting $38.4B by 2030 (Telnyx 2025 SMS report). The infrastructure cost to run a behavioral SMS product has fallen below the price point most side-hustlers will pay for it—a precondition that didn’t exist five years ago.

Suggested stack: Next.js 14 + Vercel, Twilio (Programmable Messaging), Supabase (Auth + Postgres), OpenAI gpt-4o-mini, Stripe Billing, Vercel Cron + Inngest (optional). Weekend scope: about 10 hours.

The Problem

A weekend consultant finishes a Saturday-morning client call, jumps in the car to make a delivery, swings by a coffee shop to write copy for a third client, then realizes at…

The Solution

A web app whose primary surface is a phone number. Users sign up once, set an hourly rate and a few project tags, then run their entire workflow over SMS. Text start and a timer…

Market Research

SMS marketing is a $12.6B industry in 2025, with some forecasts projecting $38.4B by 2030 (Telnyx 2025 SMS report). The infrastructure cost to run a behavioral SMS product has…

Competitive Landscape

Toggl Track — The category leader for freelancers—great desktop app, browser extensions, mobile clients. Beautiful product, but the entire UX assumes the user opens it. Pomodoro…

Business Model

Free ($0) — Up to 5 sessions/month, weekly summary by SMS, 1 hourly rate—the lead-gen wedge

Recommended Tech Stack

Next.js 14 + Vercel — App Router for the dashboard, Edge runtime for the Twilio webhook, Vercel Cron for the Sunday summary job. One repo, zero infra babysitting.

AI Prompts to Build This

Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.

  1. 1. Project Setup

    Build the weekend MVP of "TextTrack": track billable hours by text message. Text "start" and "stop" to one number, and get a weekly summary text with hours and earnings.
    
    Stack: Next.js (App Router), TypeScript, Tailwind, Supabase (Postgres, Row Level Security, Auth with email magic link), Twilio Programmable Messaging for the number and the replies, the OpenAI API (a small model) to read a message the plain grammar does not understand. Verify a phone with a code sent by text. A Vercel Cron route sends the Sunday summary. Deploy on Vercel.
    
    Tables (Row Level Security on, each user reads only their own rows; the SMS route writes through the service role):
    - profiles(user_id, phone, phone_verified_at, timezone, default_rate_cents)
    - projects(id, user_id, name, rate_cents)
    - sessions(id, user_id, project_id, started_at, ended_at, note, source, confidence, auto_stopped boolean) source is sms or web
    - messages(id, user_id, direction, body, twilio_sid, created_at)
    - summaries(id, user_id, week_start, total_seconds, total_cents, sent_at)
    
    Screens: /login, /setup (phone, rate and projects), /sessions (the week and CSV export).
    Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER, OPENAI_API_KEY, CRON_SECRET.
    
    Do not build: billing, plans or an annual option, a model-based project categorizer, a break command, a job queue, invoice generation.
    Done when: npm run dev starts, you can sign in, and the five tables exist with Row Level Security on.
  2. 2. Core Feature

    Build the one feature that proves TextTrack: a timer that lives in a text thread and never loses an hour.
    1. POST /api/sms validates the Twilio signature, finds the user by the From number (verified phones only) and replies with a signup link if there is none.
    2. Parse the body with a plain grammar first: start, stop, status, rate and note, with an optional project name after start ("start uber"). If nothing matches, ask the OpenAI API for JSON { intent: "start" | "stop" | "set_rate" | "note" | "status" | "unknown", project_hint, rate_cents, note, confidence }. Under 0.7 confidence, reply "Did you mean start? Text YES or rephrase" and do nothing else.
    3. State rules: start opens a session when none is open, otherwise replies "Already tracking X minutes". stop closes it and replies with the elapsed time and the earnings at the project's rate or the default rate. rate updates the default. note adds to the latest session.
    4. Close any session older than 8 hours at the start of every inbound message and before the weekly summary, setting its end to 8 hours after its start and auto_stopped true. Tell the user their last session was auto-stopped.
    5. Reply with TwiML in under a second and keep replies under 160 characters. Save every inbound and outbound text to messages.
    6. A Sunday cron route (protected by CRON_SECRET) sends each user a text with hours by project and total earnings for the week and saves a summary. /sessions shows the week and exports a CSV.
    Rules: honor STOP and HELP (Twilio handles the opt-out; do not message a number that has opted out). Show the user's own timezone in every time. A message from an unverified number gets one reply with the signup link and nothing else.
    Empty state: before setup, show the phone verification step.
    Done when: texting start, then stop, returns the right elapsed time and earnings, a second start says already tracking, an unclear message asks to confirm instead of guessing, a forgotten session is auto-stopped at 8 hours, and the Sunday text matches the CSV.
  3. 3. Landing Page

    Build a one-page landing site for TextTrack, an SMS time tracker for gig workers and weekend consultants.
    Hero: "Track every billable hour with two text messages." Sub: "Text start when work begins and stop when it ends. We do the math. You send the invoice." One button: Join the waitlist.
    Sections: a phone-sized sample text exchange, the problem (gig workers undercount hours because trackers assume a desk), how it works in four steps (set a rate, text start, text stop, read your Sunday summary), and an FAQ on carrier rules for business texting, how unclear messages are handled and data privacy.
    Waitlist: store the email in a waitlist table in Supabase. No other service.
    Style: Geist, an off-white background (#fcfaf7), near-black accents, generous whitespace.
    Done when: the page renders on a phone and a submitted email appears in the waitlist table.
  4. 4. Branding Package

    Use a design or image tool for this one. A coding agent cannot draw a logo.
    Brand for TextTrack: a wordmark and a small icon that suggest a single text bubble with a clock.
    Colors: near-black, one emerald (#10b981) and two warm neutrals. Type: Geist for the interface, IBM Plex Mono for timer values.
    Deliverables: wordmark, icon, a six-icon set (start, stop, rate, project, note, export), three sample text confirmations, and a one-page brand sheet. Voice rules: never moralize about productivity, always show earnings beside hours, keep texts under 160 characters.
    Done when: each deliverable is saved in one folder and each sample text is under 160 characters.