Most AI reflection tools feel the same because they all rely on harvesting context from the user BEFORE becoming useful.

We wanted to build something more personal that doesn't rely on simple A/B testing users.

Qsers already had the Human Operating System, or HOS, which maps how a person tends to respond, interpret, connect, and express themselves across 16 dimensions. Therapy for Qsers uses that profile to shape how the conversation is paced, structured, and explained.

We also did not want to build a generic “AI therapist.” Users can choose from five distinct approaches:

Cognitive Behavioral Therapy, or CBT Dialectical Behavior Therapy, or DBT Acceptance and Commitment Therapy, or ACT Psychodynamic reflection EMDR-informed support

Each mode changes how the conversation is handled. CBT focuses on thoughts and behavior, DBT on emotional regulation and coping, ACT on values and acceptance, psychodynamic reflection on recurring patterns, and EMDR-informed support on grounding and stabilization.

Therapy for Qsers is a non-clinical reflection tool. It does not diagnose users or replace licensed care.

What We Built

Users sign in with their Qsers account and complete the HOS assessment if they have not already done so.

They can then:

Choose one issue to focus on. Select a therapeutic approach. Complete up to 20 conversation turns. Switch approaches during the session. Finish early or use all 20 turns. Receive a structured reflection report. Download the report as a secure PDF. Permanently delete the session.

The HOS profile is used in two ways. It quietly personalizes the communication style, and it can also be discussed directly when the user asks how their results relate to work, relationships, decision-making, creativity, or communication.

The report is based only on the actual conversation. It separates direct observations, tentative interpretations, and practical next steps.

How We Built It

We built Therapy as its own production application rather than adding a basic chat page to Qsers.

The system uses React, TypeScript, Cloudflare Workers, D1, Queues, R2, Browser Rendering, and encrypted HOS and conversation data.

A conversation turn only counts after both the user message and assistant response have been successfully generated and saved. Failed requests, timeouts, and retries do not reduce the remaining turn count.

Reports are generated from committed conversation turns only. The web report and PDF use the same structured source, which keeps them consistent.

PDFs are encrypted and stored privately. Sessions can be permanently deleted across the database, report system, and file storage.

How We Used Codex and GPT-5.6

Codex with GPT-5.6 was our main engineering partner throughout the build.

We used it to:

Audit the existing Qsers codebase. Design the Therapy architecture. Build authentication and HOS integration. Implement encrypted sessions and exact turn accounting. Add the five reflection modes and safety boundaries. Build report generation and secure PDFs. Write and run tests. Debug production issues. Deploy and verify the live application.

Codex was especially useful when problems crossed multiple systems, including OAuth, Cloudflare bindings, HOS eligibility, report generation, retries, and frontend rendering.

We worked in milestones with branch checks, test gates, feature flags, rollback points, and human approval before production changes.

GPT-5.6 and Codex were used to build the product. The live reflection experience uses separate runtime models, which are clearly disclosed in the project documentation.

Built With

  • aes-256-gcm
  • anthropic-claude
  • behavioral-science
  • claude-opus
  • claude-sonnet
  • cloudflare-browser-rendering
  • cloudflare-d1
  • cloudflare-pages
  • cloudflare-queues
  • cloudflare-r2
  • cloudflare-workers
  • google-identity
  • gpt-5.6
  • json-schema
  • mental-wellness
  • node.js
  • oauth-2.0
  • openai-codex
  • personalized-ai
  • react
  • sign-in-with-apple
  • typescript
  • vite
  • web-crypto-api
  • wrangler
Share this project:

Updates