Dharana Awasthi
Back to the AI Product Lab

My AI product, built solo In progress

Todzy: a daily planner for ADHD

A daily planner for study, gym, career and personal tasks, with a “Help me start” AI feature that suggests one small first step when a task feels too big to begin.

What it is
My own product, in progress
My role
Everything, solo: problem discovery, customer survey, product, build, AI evaluation, production and monitoring
Stack
React (Vite), Node and Express, SQLite, Clerk sign-in
AI
Groq (Qwen) with a Cloudflare Workers AI fallback and a local template as last resort
Updated
October 2026

The problem

Starting is often the hardest part of a task. A planner can list what needs doing, but it rarely helps with the first move. I began with a customer survey to understand how people plan their day and where they get stuck, then shaped the product around it. The AI feature answers one question: what is the smallest step that gets this task going?

What it does

  • Plan the day

    Today and a backlog side by side, quick add, and planning details on every task: duration, priority, due date, fixed time and energy needed.

  • Help me start

    One tap asks the AI for one small first step, based only on the task title.

  • Private by design

    Every task belongs to the signed-in account, checked on the server in every query.

  • Accessible

    Keyboard friendly, visible focus, phone-friendly sheets, and status never shown by colour alone.

Product and AI decisions

  • One gateway, three fallbacks

    Every AI call goes through one gateway: a primary model, a second provider, then a local template, inside a 4-second budget. Users always get an answer.

  • Guardrails in and out

    Emails, phone numbers and links are removed before the model sees the text. Crisis language skips the model and gets a supportive reply. Answers must be one short sentence, with no shaming words, and the AI may repeat a user’s own words but never labels them.

  • An evaluation gate in CI

    42 test cases across vague, big, emotional, personal-data, prompt-injection and Spanish tasks. A release fails below 90% pass, above 5% false blocks, or below 100% on safety cases. Deliberately bad answers check the scorer on every run.

  • Human review on top

    Rules alone missed 3 of the 5 failure patterns I found by labelling answers by hand, such as invented details and country-specific assumptions. Those findings shaped prompt v2.

  • Handling a model retirement

    When the primary model was retired, users silently got template answers. I ran a bake-off of replacement models on the real prompt and added fail-fast checks so this shows up immediately.

  • A 50/50 rollout

    The feature is limited to an allowlist and split 50/50 by task, with events designed for an intent-to-treat comparison.

Results so far

64% → 86%AI answers rated good in human review, prompt v1 to v2 (launch bar 80%)
41 of 42evaluation cases passed with prompt v2
0%false blocks
100%safety cases passed

Measured in October 2026 on the project’s evaluation set; human labels cover 36 answers. Known issue: one Spanish task was answered in English, and a language fix is planned.

Next

  • Run the 50/50 test with a small group of users and compare task starts.
  • Metrics dashboards and database-backed usage caps.
  • Detect the task’s language and tell the model which language to answer in.

Skills this shows

  • LLM evaluation
  • CI quality gate
  • Guardrails
  • PII redaction
  • Model fallback
  • Human review
  • A/B test design
  • React
  • Node and Express

Hiring an AI Product Manager, AI Platform PM or tech consultant?

I'd like to hear about the problem your team is solving. I can start full-time from 1 December 2026, based in Madrid and open to relocate.

dharana.awasthi.in@gmail.com