Back to the lab

Treacle

Shipped

An AI dating app with no swiping.

Voice profiling instead of forms. You talk, it listens, and it debriefs with you after dates to learn what actually worked. Architected and shipped alone, live on the Play Store.

  • Next.js
  • React Native
  • ElevenLabs
  • WebRTC
  • Neo4j
  • pgvector
  • AWS
The Next.js backend behind Treacle, written solo.
API routes
Psychological domains across values, communication and lifestyle.
matching dimensions
Architected and shipped for Android alone, built cross-platform on React Native.
engineer
The problem

Dating apps ask you to describe yourself in a form, which is the one context where nobody is honest or interesting. The profile is the product, and the product is bad.

The approach

Replace the form with a conversation. An ElevenLabs voice stack, speech to text into a Claude LLM and back out through text to speech over WebRTC, builds the profile from how someone actually talks. Real-time prosody analysis captures voice reactivity signals into a Neo4j graph, and a 32-dimension model scores matches across values, communication and lifestyle.

The part that was actually hard

Confidence. A model that infers personality from speech is wrong often enough that shipping its raw output would be irresponsible, so scoring runs on weekly Inngest jobs behind a confidence gate with an admin review workflow, and low-confidence inferences never reach a match.

Where it landed

Live on the Play Store. Next.js backend across 109 API routes, React Native on Expo, PostgreSQL with pgvector across six embedding tables, AES-256 on sensitive profile data, and a Sentry observability facade with 38 tests holding the boundary between backend and mobile.

The rest of the lab