Skip to contentAbhinav Modi
← Projects

Wakeprint

journal pages → patterns → the days behind each one

A private journal that reads what you write and shows the patterns you keep repeating, with the dates and entries behind each one.

New signups closed while I polish it

Live site ↗

Python · FastAPI · LangGraph · PydanticAI · OpenAI · Postgres · Next.js

Wakeprint's patterns page for a made-up user, with cards like "7 of the last 12 weeks" and the dated lines behind each one

Why

I've kept a journal for about a year. Writing helps me. Going back through it to find what I keep doing is the part I never get to, because that takes even longer than the writing.

I don't think people are broken. We build patterns, some good and some bad, and the hard part is seeing them clearly enough to break the bad ones.

Input

One page a day, like a daily note. Old entries can be pasted in on their own dates. On day one there's nothing to read yet, so onboarding asks five short questions, and every one can be skipped.

Constraints

It's the most private thing a person writes.

How it works

Code counts, the model names, code verifies, then save.

StepWhat it does
readTurns each page into events, one per scene, with who was there and how it felt.
countPlain code counts what keeps coming back, and in which weeks.
nameA model turns each count into one sentence. It answers in labels and never writes a date, a quote or a number. Code puts those back.
verifyCode checks every quote is really on its page, repairs the evidence it can, and drops what it can't.

LangGraph runs the steps as a workflow, and each model call goes through PydanticAI.

Output

Pattern cards with a count you can check, like "7 of the last 12 weeks". Every card links to the days behind it.

To test it there are 17 made-up people, each with a run of journal pages and habits hidden in them. The persona check runs their pages through the pipeline and checks that:

A second model grades each saved card against the pages it came from.