← Projects
In progressRailway · SQLite on a persistent volume · APScheduler

copAIrent

AI co-parent for new parents — daily logger, weekly milestone briefs, and an advisor that only cites your own books.

FlaskSQLite + sqlite-vecVoyage-3Claude Opus + SonnetTelegram Bot API
This Week

The problem

Two new parents end up juggling seven half-used apps inside the first month — a feed tracker, a sleep tracker, a milestone tracker, two baby-care books that disagree, a chat thread asking strangers on Reddit, and a notes app holding everything that didn't fit. None of those tools talk to each other, and none of them limit themselves to the sources you actually trust. So at the moment you most need a clear answer, you're scrolling through screenshots.

The solution

copAIrent is a single app built just for me and my wife — no nannies, no doctors, no open-internet answers — that does three things well. The Logger is a one-tap daily tracker for things like tummy time, books read, sun time and naps, with a weekly chart on top. The Milestone Manager sends pre-generated weekly briefs every Sunday evening, with three sections (development, introduce, read) for years one and two. The Advisor is a Claude chat that's ringfenced to our own book corpus plus Wonder Weeks plus the CDC milestones, with a hard "not in our books" refusal whenever a question wanders outside the corpus.

Features

  • One-tap daily logging for tummy time, books read, sun time, naps and anything else we add
  • Weekly chart that pulls together the last seven days at a glance
  • Pre-generated weekly milestone briefs delivered every Sunday evening through year two
  • Three-section brief format: development this week, introduce this week, read this week
  • Advisor chat ringfenced to our own book corpus plus Wonder Weeks plus CDC milestones
  • Honest "not in our books" refusal whenever a question wanders outside the corpus
  • Topic shortcuts and source-typed citation chips on every answer

Architecture

  • Flask plus SQLite plus sqlite-vec, all running in one app on a single Railway service
  • Opus generates the weekly briefs; Sonnet handles the chat and extraction
  • Voyage-3-large embeddings at 1,024 dimensions over a curated corpus, with 108 chunks indexed and live
  • The corpus schema is intentionally flexible — `corpus_chunks` supports book, study, podcast, article and note types through a `source_meta` JSON column
  • Two ingest paths share the same upsert: a curated YAML path (one chunk per file) and a raw drop-in path that lets Claude normalize and chunk the source
  • Off-topic questions trip a similarity floor at 1.05 and return the "not in our books" refusal, which keeps the advisor honest
  • APScheduler pushes the Sunday brief through an n8n email webhook
  • Google OAuth is allow-listed down to Lance and Tricia only