Ben Bykovski

// kovos — the public changelog

i run my life on an AI system i built.
this is its honest log.

kovos (from kov-, “to forge” — it’s in my surname) is my personal AI system: a daily analyst brief for my niche pushed to my phone at 8am, drafting that’s voice-gated (it refuses to write “as me” without real samples of my writing), and an anti-slop gate that rejects anything that reads like a machine wrote it. it never auto-publishes. i approve everything, or it doesn’t ship.

everyone demos their assistant on day one. this page is what week after week actually looks like — every win and every failure, dated. built on evenings and weekends, next to a day job and a degree.

01

never auto-publish. draft-for-approval, always.

02

no real writing samples, no drafting. the voice is not fabricated.

03

every number in this log is real, or it isn’t in this log.

the log

  1. kovos goes public

    this page ships. the plan: keep building it for myself in the open — every win and every failure, dated — and later this year, let a handful of creators subscribe to the part that matters most: the daily analyst brief for their niche. nothing here auto-publishes. that stays the rule.

  2. the recording countdown froze at «3» — on camera

    live-tested the new recording cockpit and the countdown overlay stuck on screen. webkit let a css grid override the hidden attribute. same session it also cited a clickbait finance video as «trend evidence» — the eligibility filter now rejects that whole class, with regression tests.

  3. trend memory + a recording cockpit

    every observed video now lands in a local sqlite trend memory (141 videos and counting) instead of evaporating with the day's cache. the console picks one «next 30 minutes» move each morning, and /film is a real teleprompter: one beat at a time, countdown, straight into a copy-ready publish pack per platform.

  4. it recommended a 488-view video as a «trend»

    the radar extrapolated a 1-hour-old upload into ~500 views/hr and called it a trend. added hard floors: minimum views to rank at all, a 6-hour age floor so freshness can't fake velocity, and a 7-day window that only calls something a riser when the same video measurably gains across days.

  5. a de-jargon gate, because i'm not a dev-tools account

    hooks that lead with insider jargon get hard-rejected before they reach me — if the first line needs a glossary, it doesn't ship. also added ask-kovos: a chat grounded in the day's real artifacts, not vibes.

  6. the 07:30 run fired before its own credentials existed

    first morning on the new machine: the scheduled run launched, found no model login and no telegram creds (both landed hours later), and degraded to fallbacks. the fix: a force re-run path that archives instead of deletes, and a failure alert to my phone — a crashed pipeline used to look identical to a sleeping laptop.

  7. moved the whole runtime to the mac + an anti-slop gate on every hook

    docker and the vps are gone; kovos now runs on launchd + host python. every generated hook passes deterministic structural checks (length, single line, no memo-speak, no em dash) before i ever see it. the committed worst offender is pinned as a permanent rejection test.

  8. mornings became film-ready packets

    the daily brief no longer stops at «here's a move» — it expands the top idea into a full packet: hooks, script, on-screen text, shot list, caption, audio note. delivered to my phone as «ready to film». i still record and post everything myself.

  9. real view-counts replaced vibes in the radar

    wired actual per-video data (youtube api + scrapers) into the morning brief, ranked by views-per-hour velocity. honest footnote: it shipped inert — the api keys weren't set yet, so it contributed nothing until they were. the code being «done» isn't the system being live.

  10. never miss twice

    a streak tracker with one rule i actually believe: missing once is life, missing twice is a pattern. plus a video queue that ranks the backlog by what's filmable today.

  11. the voice gate opened — with real samples only

    seeded the voice file with 4 things i actually posted publicly. that's the whole unlock: kovos drafts in my voice now, but only because the examples are real. the gate that refused to fake it is the feature i'm proudest of.

  12. kovos refused to draft anything — correctly

    the drafting engine hard-refuses to write «in my voice» without at least 2 real writing samples, and the voice file didn't exist yet. so it drafted nothing. an ai that declines to fabricate your voice is working as intended; i shipped the refusal to this log instead of a workaround.

  13. kovos answers its own status from my phone

    a read-only home command on telegram: pending reviews, the focused item, gate states, the latest ship note. it can tell me everything and change nothing — read-only by design.

want this for your niche?

later this year i’m letting a handful of creators subscribe to the part of kovos that matters most: the daily analyst brief — what actually moved in your lane (measured, not vibes), why it moved, and what you should post — drafted in your voice and gated against slop. onboarded by hand, a few people at a time.