SetFlow
SetFlow
Start free

Build log

Every meaningful update, in order.

The receipt of how SetFlow gets built. Not a marketing changelog — a public commitment to a shipping cadence. Updated as we ship; investors and schools doing diligence are welcome to scroll.

13 entriesApr 27 May 4, 2026

May 2026

  1. FixMay 4, 2026

    New-user flow sequencing — onboarding step 4 + walkthrough behind Meet Tori

    Two related bugs. The onboarding form's step 4 ('Help Tori know you') was flashing past — fixed by switching from FormData-from-DOM to an explicit submit() that reads React state. And the walkthrough was rendering on top of the Meet Tori welcome animation; layout.tsx now reads welcomeSeenAt and defers the walkthrough's autostart, listening for an event that fires when Meet Tori dismisses.

  2. FeatureMay 3, 2026

    Presence + WhatsApp-style classroom About panel

    Heartbeat-driven online status (User.lastSeenAt, 60-second pings). Chat headers show "X online · Y total" for groups. Click the title → side panel with editable group name + photo, member list with avatars + green/grey presence dots + auto-resolved Teacher / Parent / Student badges (Principal cut as overboard).

  3. FeatureMay 3, 2026

    Tori personalisation profile + supportive private chat mode

    New UserToriProfile drives Tori's tone, examples, and pacing per learner. Plus a private chat mode for talking to Tori about anything personal — never logged, never reviewed by humans, auto-deleted after 24 hours. Crisis-resource panel always visible (988, Crisis Text Line) but Tori never auto-calls or auto-emails. Listening, not surveillance.

  4. FeatureMay 3, 2026

    Founder note + rich-text toolbar on every announcement email

    Every broadcast carries a personal letter from the founder above the CTA — photo, signed signature, recipient's first name in the greeting. Composer at /dashboard/admin/announcements gets bold/italic/underline/strikethrough/heading/list/quote/link buttons + Ctrl+B/I/U shortcuts.

  5. RefactorMay 2, 2026

    LTI 1.3 architecture moved to apex domain — classroom-aware launches

    Original implementation lived in app/academy-domain/* — wrong domain for classroom content. Refactored: admin pages at /dashboard/admin/lti, deep-link picker at /lti/deep-link-picker on the apex domain, launch handler bridges to both AcademyUser AND main-app User sessions. Public LTI marketing pages also moved to apex with middleware bypass so academy subdomain links keep resolving.

  6. FeatureMay 2, 2026

    Welcome animation tracks seen-state per account, not per browser

    Earlier the three-act intro used localStorage — meaning a user signing in on a new device would replay it. Now User.welcomeSeenAt is the source of truth, stamped on dismiss via a server action. Every existing user pre-dating the column is caught exactly once; cross-device, cross-browser.

  7. DesignMay 2, 2026

    Welcome animation redesign — alive Tori orb, solid backdrop

    Three problems: dashboard bled through the gradient backdrop, click-anywhere felt like dismiss, the Tori orb just scaled. Now: stacked solid + opaque gradient layers, click-events stopPropagation across the wrapper, conic-gradient sphere rotating on an 8-second linear loop with an orbiting white highlight on its own ease curve so the glint never freezes in one corner.

  8. FeatureMay 2, 2026

    Dashboard feature-discovery row + student-first copy

    College-student users were signing up and never finding the Tori chat, voice mode, classrooms, or Academy. Targeted fix: a one-time-dismissable row at the top of /dashboard with four tiles (Tori, private chat, classrooms, Academy). Header copy swapped from "control center for execution" project-management vibe to "what's due, what Tori's working on, what your classes need from you."

  9. FeatureMay 1, 2026

    Admin launch-checklist dashboard + LTI diagnostics + 1EdTech compliance badge

    Pre-launch admin checklist (1EdTech certification path, billing, email deliverability, Stripe wiring, monitoring, runbook) shipped. Diagnostics page at /dashboard/admin/lti/diagnostics health-checks the JWKS endpoint + lists the integration URLs to hand to a school's IT.

April 2026

  1. FeatureApr 29, 2026

    Academy "Coming Soon" courses + admin course management

    Academy catalog now displays course shells in a 'Coming Soon' state ahead of full content. /dashboard/admin/academy gets toggle-coming-soon, publish, delete, create — everything an admin needs to ship a course without a deploy.

  2. FeatureApr 29, 2026

    Phase 1 content openers shipped for 5 priority Academy courses

    Python, College Algebra, Calc I, AP Bio, and Intro to AI got their first chapters drafted by Tori. Quality bar: a high-school student can finish chapter 1 and pass a comprehension quiz. Each course is reviewed before publishing; openers stay in DRAFT until then.

  3. FixApr 28, 2026

    Quiz auto-complete + P2 prompt-injection audit + course-Tori enrolment gate

    Three security/correctness fixes: a quiz that auto-completed on visit (regression from a state migration), a P2 prompt-injection vector found in the course-Tori system prompt (reproducer + fix shipped same day), and a missing enrolment check that would have let any signed-in user open course-Tori for a course they hadn't enrolled in.

  4. DesignApr 27, 2026

    Study Mode + Tori page redesign + landing copy refresh

    /study now centers a single big input + Tori orb instead of a six-tile grid. /tori page got new capability cards. Landing-page hero copy moved away from project-management framing toward 'AI tutor that reads your stuff.'