seviyorsevmiyor · projects

projects · live

seviyorsevmiyor

subtext of a chat, my own model, web

built by · seviyorsevmiyor.noseydewdrop.com

what it is

Reads the subtext of a chat and commits to a call, with the numbers it used shown next to it. Turkish-first, free, no account. Two flows share one engine:

  • flört var mı, yok mu? Paste a chat, drop a screenshot, or drop a WhatsApp export. It answers "flört var mı, yok mu?" and who is leaning in more.
  • ne zaman değişti? Drop a WhatsApp export. It answers "when did this chat change?" with a date and a confidence interval, not a vibe.

why it is not an LLM wrapper

The verdict is computed on the device. A small tone model and a time-series engine produce the verdict, its percentages and its flags in both flows. No server call takes part in producing them.

The tone model is a logistic regression trained in Python, then ported to browser JavaScript with 1e-16 feature parity. Held-out accuracy improved from 72.2% to 75.9% via synthetic data distillation against an untouched real test set.

The cloud layer is opt-in, off by default, and allowed to fail: with no consent, no key, or a dead Worker, the shipped template lines carry the reading. Engine numbers are law; the cloud is a voice.

what leaves the device

  • The time flow sends derived numbers only: no message text, no names, no dates as text.
  • In the chat flow the cloud reading takes two ticked checkboxes, and once ticked, the messages do leave the device.
  • One button stores chat content: "bu sohbeti bağışla, modeli birlikte eğitelim" posts the full transcript to train the model. The privacy page says how to ask for a donated chat to be deleted.

measured

  • false positives 0% on null series and 0% under drift
  • power 75% on a real 4x jump
  • date CI coverage 89.3% against a nominal 90%
  • 39,524 messages parsed in under 1.5 s on the development machine
  • the largest feature/probability gap between the Python trainer and the JS runtime: 1.11e-16, about machine epsilon

stack

Python (trains the model) · JavaScript (the same model in the browser) · Tesseract OCR (reads a screenshot without uploading it) · Cloudflare Workers (optional, off by default)

links