Blake Hallisey · How I use AI
When a recruiter asks how I use AI day to day

I don't just use AI. I build the tools I work with.

Not a chat box. A small operating system I built and run myself: one feed to stay on the frontier, agents that do real work with me in the loop, one desk that ties it together. I built it to run my job search. It is how I would run a product.

the same instinct runs in my day job
40%+

a production agent stack at Sephora that cut PM execution cycles. This page is that pattern, pointed at my own work.

the whole system, at a glance
01

Learn

operate from the frontier

  • Uptake
  • Agent Academy
  • Blake Academy
detail below ↓
Uptake · today's drop
frontier read, generated
people I follow, cut into cards
locked until I apply today
6am cron → drop.json → Vercel · personalized generation
02

Reach out

agents in production, human in the loop

  • Outreach Agent
  • Inbox auto-draft
  • Ask Blake
detail below ↓
Gmail · draft
To: recruiter@company.com
in my own writing voice
never auto-sends
draft-only · Gmail MCP · per-recipient register
03

Rehearse

a feedback loop I run on myself

  • Case
  • Dex
  • Interview Ledger
detail below ↓
Interview ledger
architecture, named
data path, traced
tradeoff, owned · next rep
transcript → feedback → pipeline.json · closes the loop
04

The engine

one desk, one voice

  • Jarvis
  • Daybook + morning routine
detail below ↓
Jarvis · morning
Shipped
Needs you
Today
routing doctrine · git + JSON shared backend
one seat runs it all

The tools I work with, not a portfolio of demos.

Read the source →
01 · Learn
01

Staying on the frontier of a field that moves weekly

The field moves weekly. I built my own learning surfaces so I'm reading the frontier, and my own work one layer deeper, so I can go a layer deeper than the résumé on anything I've shipped.

the feed

Uptake

It runs on a 6am cron and generates a fresh, personalized feed every day. A live consumer-grade AI product, not a reading list.

6am cron → drop.json → Vercel · personalized generation
the offense

Agent Academy

If a team needs to get fluent in agentic patterns fast, I've already built the curriculum for it. I structure the domain, I don't just consume it.

foundations → capstone · scored mock screen
the defense

Blake Academy

I hold my own work to a documented standard, every build broken down a layer past the artifact. The same rigor I bring to a roadmap.

generated from 4 wings · master-your-own-story
02 · Reach out
02

Agents in production, with me in the loop

Every agent here drafts; I decide. That human-in-the-loop boundary is deliberate. Nothing goes out without me.

the voice

Outreach Agent

Reads a recruiter thread, detects whether it's cold, warm, or a follow-up, then drafts the reply in my own writing voice straight into Gmail. I read it, tweak it, send it. It never auto-sends.

draft-only · Gmail MCP · per-recipient register
always on

Inbox auto-draft

An always-on background job: every inbound email gets a drafted reply and a phone push, waiting. Production automation that runs whether or not I'm at the desk.

launchd cron · Gmail MCP · phone push (ntfy)
the portfolio

Ask Blake

My portfolio isn't a PDF. It's an AI agent of me you can interview. A recruiter can ask it anything about how I think and what I've shipped, and get a grounded answer in my voice.

Claude-powered persona · career-arc spine
03 · Rehearse
03

A feedback loop I run on myself

Before a room, two agents get me ready: one builds the room, the other drills me in it. And every interview feeds a loop that tells the system what to sharpen next.

builds the room

Case

Before an interview it assembles a live dossier: the company, the product, the person across the table. Then it role-plays the hiring manager so I can rehearse against the actual room, not a guess.

Gmail + web + résumé · Claude persona · living doc
drills the reps

Dex

A technical-fluency coach, born from a real final-round loss. It holds every answer to three beats: name the architecture, trace the data path, own the tradeoff. And it reps me until that's just how I talk.

reads the interview ledger · translate-then-drill
the loop

Interview Ledger

Every interview transcript gets distilled into structured feedback: what landed, what didn't, what to carry. That feeds the other agents, so the system gets a little better prepared after each room.

transcript → feedback → pipeline.json · closes the loop
04 · The engine
04

How it all holds together

I don't remember agent names or juggle a dozen tools. There's one seat.

the desk

Jarvis, the orchestrator

One seat I talk to like a chief of staff. I say what I want ("is this email okay," "prep me for this company," "how am I doing today") and it decides which specialist agent owns the lane, pulls it, and answers in one voice. I never manage the roster; I just talk.

routing doctrine · git + JSON shared backend (the "spine") · Claude Code + MCP
And the day layer: a Daybook that runs my to-dos, and a morning routine that refreshes every product's data before I'm awake. The same one-voice desk runs those too, so the tools don't just exist, they actually get used, every day.
The stack, briefly · for the technical read

Nothing here is a slide. It's shipped and it runs itself.

Under the hood it's the Claude API and Claude Code agents, MCP tool servers wired to my real Gmail and Calendar, a git-and-JSON signal store as the shared backend every surface reads from, background jobs on launchd crons, and Vercel for the live products. I designed the data flow, the agent boundaries, and the guardrails, including a delete-nothing rule so no automation can lose my data.

Claude API Claude Code agents MCP tool servers git + JSON spine launchd crons Vercel draft-only guardrails
Go look yourself

Six tools for when the agent works and nobody's watching.

Everything above runs unattended, which is where it gets dangerous. These six came out of that: each one exists because something went wrong and a note in a document turned out not to be a control. A prompt is a request. Code is a rule.

The first four are the same night at different layers: nightwatch picks the work, curfew says what it may touch, breaker notices when it stops resembling the ask, shipgate refuses to let it out until it was checked. Each installs and runs on its own, standard library only, with no dependency on the others.

Everything on this page is running right now.
Built and used by Blake Hallisey · the tools I work with, not a portfolio of demos.