StepLadder

Founder

Therapist-facing tool for assigning structured between-session work and reviewing patient execution before the next appointment.

Role
Founder · product + eng

Problem

Therapy does not fail in-session. It fails between sessions.

Homework is often verbal or a PDF. Patients forget it, avoid it, or complete it wrong—then clinicians get “kind of” instead of data. Content libraries hand out worksheets; they don't close the loop.

Architecture

Assign → execute → review sequence
Therapist                 Next.js App                 Postgres
   │                           │                          │
   │  POST /assignments        │                          │
   │──────────────────────────▶│  INSERT assignment       │
   │                           │─────────────────────────▶│
   │                           │◀─────────────────────────│
   │◀──── 201 + id ────────────│                          │
   │                           │                          │
Patient                        │                          │
   │  GET /homework/:id        │                          │
   │──────────────────────────▶│  SELECT steps + schema   │
   │◀──── guided UI ───────────│◀─────────────────────────│
   │                           │                          │
   │  PATCH /progress          │  UPSERT SUDS / complete  │
   │──────────────────────────▶│─────────────────────────▶│
   │                           │                          │
Therapist                      │                          │
   │  GET /review/:patient     │  aggregate signals       │
   │──────────────────────────▶│─────────────────────────▶│
   │◀──── review payload ──────│◀─────────────────────────│
Domain model
┌─────────────┐  1    *  ┌──────────────┐  1    *  ┌─────────────┐
│  Therapist  │─────────▶│  Assignment  │─────────▶│    Step     │
└─────────────┘          │  modality    │          │  prompt     │
                         │  patient_id  │          │  order      │
                         └──────┬───────┘          └──────┬──────┘
                                │ 1                       │ 1
                                │                         │
                                ▼ *                       ▼ *
                         ┌──────────────┐          ┌─────────────┐
                         │   Progress   │          │   Signal    │
                         │  status      │          │  SUDS / etc │
                         └──────────────┘          └─────────────┘

Stack

  • Next.js 14
  • React 18
  • TypeScript
  • Supabase client
  • PostgreSQL
  • Docker

What we built

  • Shared TypeScript types for assignments/steps across App Router UI and route handlers
  • Guided patient runtime that posts behavioral + emotional signals (e.g. SUDS, completion)
  • Therapist review surface aggregating traces before the next session—not PDF dumps

Outcome

The wedge is adherence and correct execution outside the room—the layer where therapy often fails and where structured product design can matter most. Scope stays supportive of licensed care, not a replacement for it.

© 2026 Braden Ransom