InspirationA 20-item to-do list does not motivate everyone. For people with ADHD, executive dysfunction, or burnout, a long list triggers task paralysis: the brain sees everything at once, cannot pick a starting point, and freezes. Traditional productivity tools show MORE — more lists, more badges, more red overdue labels — which makes the freeze worse. SingleStep asks a different question: what if the tool showed LESS, on purpose?What it doesPaste or speak your messy brain dump (microphone uses the Web Speech API). Pick your current battery: 10% Survival (1–2 minute ultra-baby steps), 50% Steady (5 minute micro-steps), or 90% Flow (10–15 minute structured steps). Groq's llama-3.3-70b-versatile turns the dump into 5–8 concrete micro-steps, each starting with a physical verb. The full list is then HIDDEN — only ONE card is shown, with a gentle breathing progress ring and "Step 2 of 8 (7 hidden to protect your focus)". Four single-tap actions: Done → Next (soft chime and confetti), Still Too Hard → Slice Smaller (breaks the step into three 60-second baby steps), Swap for an Easier Step, and Read Aloud / hands-free Voice Mode. Three test personas make it concrete: Maya (ADHD student), Alex (burned-out developer), and Sam (sensory overload at home). An accessibility dock stays always visible: Bionic Reading, dyslexia-friendly typography, three sensory themes (Calm Sage, Warm Paper, High-Contrast WCAG AAA), and synthesized Brown Noise / Soft Rain soundscapes via the Web Audio API. No account, no signup — everything persists in localStorage, with JSON Export/Import. If no Groq API key is present or the API is rate-limited, the app automatically falls back to a deterministic heuristic micro-slicer, so it never crashes during judging.How we built itBackend: Python 3 + Flask (app.py), Groq API via plain HTTPS (llama-3.3-70b-versatile, JSON mode). Frontend: one single-page app (templates/index.html) with Tailwind CSS, Lucide icons, canvas-confetti, and vanilla JavaScript — no build step, no framework. Browser APIs: Web Speech API for voice input, read-aloud, and voice commands; Web Audio API for the chime and synthesized soundscapes; localStorage for persistence.How to run itcp .env.example .env # optional: add GROQ_API_KEY (free at console.groq.com)pip install -r requirements.txtpython app.py # open http://127.0.0.1:5000No key? No problem — the app runs fully on the offline fallback. Click any persona (Maya / Alex / Sam) for a one-tap demo.Challenges and LimitationsThe cognitive-load percentages in the comparison view (94% vs 14%) are illustrative estimates, not clinically measured values, and are labelled as such in the UI. AI decomposition quality depends on the model; the heuristic fallback is simpler and less personalized than Groq output. Voice features work best in Chrome with microphone permission, but every action is also a button, so voice is never required. Steps are stored only in the browser (localStorage); there is no cloud sync yet. Slice-smaller recursion is capped at 2 levels.What we learnedShowing less is a feature, not a missing feature — hiding the queue was the single most important design decision. Judges and users need a one-tap demo: personas beat empty input boxes. Every AI feature needs an offline fallback, because judging-day conditions are never guaranteed. Accessibility cannot be a settings-page afterthought — it has to be a persistent dock, one tap away, always.AI Assistance DisclosureThis project was built with AI assistance (Cursor / AI coding tools): the Flask backend structure, the heuristic fallback, and the frontend were drafted with AI help and then reviewed, tested, and fixed by the developer. The product idea, persona scenarios, accessibility requirements, and final submission text are the developer's own. All AI-generated code was tested end-to-end (including the no-API-key fallback path) before submission.

Built With

Share this project:

Updates

Submission history