Timur Rollins

Systems I run

Things I designed, built and run myself. One is a product you can open and use; the others are small programs that read live data, act on it, and keep themselves running.

A live AgentUp practice call: the AI customer, the compliance checklist and the live coaching panel

AgentUp

live on the web · 27 tests, green CI · built solo in two days

A training app for contact-centre agents. You practise against an AI customer who doesn't make it easy, by chat or voice, then you get scored. Two separate grades, on purpose: one for how good the call was, one straight pass or fail on the rules. A warm, friendly call that breaks a regulation still has to fail, and most tools blur those into one number.

Next.jsReactTypeScriptreal-time voiceCI
Open the live app

NuniBot

shipped into a live review pipeline · comments-only, never touches the team's data

A production assistant I built for a studio's review pipeline, to take the chasing off our art director. She catches media links lost in review comments, pings the right producer, and keeps each project's job number and status current. The safety rule: she can comment all she likes, but can only write two named fields — every other write throws. That's what made her safe against live production data. I gave her a face and a voice so people would actually use her. Say hi, she'll remind you to do your Notion.

NodeExpressFrame.io + Notionwebhooks

Odysseus / Emily

100% local · reads my other systems through a read-only mirror · cites its sources

A research assistant that runs entirely on my own machine — local models, local memory, nothing leaves the building. I took Odysseus, an open-source local-AI setup PewDiePie put out, upgraded it, and pointed it at my own systems. Emily is the face I gave it, the same character from the content engine above. She reads everything I run through a read-only mirror and hands me a short, sourced brief each morning. She can read, never change, which was the whole point.

local LLMsChromaDBNodeRAG
▸ NuniBot, in detail · case study

The problem, and what she is allowed to touch

The problem

A studio runs its reviews in Frame.io and its projects in Notion, and neither knows the other exists. Client comments land on a review link and never reach the project page. Review URLs go missing. Projects hit approval with the reporting fields still empty. Producers chase all of it by hand.

What she does

A client comments on a Frame.io review; NuniBot posts it on the matching Notion page and mentions the producer. If a Frame link is missing but sitting in another field, she fills it in. When a project reaches Job Approved with fields still missing, she nudges the producer instead of guessing. Once a day she posts a health brief: deadlines near or overdue, projects with no producer or no job number.

The safety model, which is the actual work

She runs against live client projects, so the clever part isn't what she can do — it's what she's blocked from touching. Every write goes through one file. Comments are allowed. Property writes are allowed only for two whitelisted names, Frame link and Job Number; every other write throws. Nothing can change a status, a date or a client, edit page content, touch the schema, or delete anything. A dry-run mode logs every intended write and performs none. That's what made her safe to point at a working studio's real data on day one.

One guarded write path
Frame.ioclient review comments come in
NuniBotthe only thing that can write
  • comment — always allowed
  • Frame link · Job Number — allowed
  • any other write — throws
Notionthe project page, kept current

The Studio

the crew that makes Emily's videos · still building it

Each cat is one step of making a video, from story to sound to quality control, passing the work along and sending it back when it isn't good enough. The desks that judge the work run on a different model from the ones that made it, since a model checking itself tends to approve itself. I step in twice: approve the story, approve the final cut.

multi-agentNodePM2ClaudeGPT
It's a work in progress, so it's a bit of a zoo. Look around, the cats have opinions. I build it most days: new rooms, new cats, new fixes.