// Behind the portfolio
The AI platform I built to run on autopilot
This site is the front door. Behind the login is a personal AI operations platform I designed, built, and deploy myself — autonomous agents that scout the web and my inbox, a CRM that reads email to classify people, a social studio, and a résumé engine. This is the AI engineering I want to do full-time.
The systems6 built & live
Autonomous agent crew
Six specialised agents that scan, score, and surface — on a schedule.
- ▸News, Jobs, Email, Investing (Atlas), Stock-screening and a Social observer, each with its own persona and job.
- ▸Every scout does a real web search first, then is strictly limited to the URLs it found — no hallucinated links.
- ▸You can open a chat with any one of them, or all at once in a chief-of-staff mode grounded in their latest reports.
Agents that talk to each other
A shared blackboard lets them collaborate without being wired together.
- ▸A Social Observer learns my content voice and writes it to a shared profile the other agents read.
- ▸The News scout judges each story against that profile and auto-saves the ones that fit as post ideas.
- ▸One writes, any surface reads — adding a new agent to the loop is a single function call, not a rewrite.
Inbox-driven CRM
Turns a mailbox into a classified, enrichable contact database.
- ▸Harvests every contact from job/recruiter email automatically — replied or not.
- ▸Classifies each relationship (recruiter, hiring manager, vendor, visa, …) by reading their actual email history, not their domain.
- ▸Enriches phone / LinkedIn / title from signatures behind human approval, and runs guard-railed, role-targeted bulk outreach.
Social studio
Draft, illustrate, schedule, and measure — per platform.
- ▸Generates genuinely different posts per network — LinkedIn hook + CTA, X hot-take, Instagram story.
- ▸Makes the image too (text-to-image) or writes posts FROM an uploaded image with a vision model.
- ▸A daily auto-drip posts one image a day at a time I set, then an analytics tab reads what actually reached people.
Résumé engine
Paste a job description, get an ATS-tuned résumé — as a real file.
- ▸Tailors the résumé to the role, scores ATS + keyword fit, and flags matched vs missing keywords.
- ▸Reads an uploaded PDF/DOCX as the base (extracts the text server-side) or uses my master résumé.
- ▸Exports a real, selectable PDF and a Word document — no print-dialog hack.
Model Context Protocol
The agents pull live data through the same protocol Claude uses for tools.
- ▸A token-gated, read-only MCP server exposes my portfolio, net worth, dividends and budget over JSON-RPC.
- ▸The briefing and investing agents call those tools directly — richer than a flat REST snapshot.
- ▸Tolerant handshake: an optional initialize can hiccup without breaking the data pull.
How it's engineeredthe parts that matter
Human-in-the-loop by default
Agents surface and draft; a human commits. Anything that acts outward is opt-in — the auto-reply sender ships OFF, behind an explicit toggle.
Idempotent triggers
A 15-minute cron drives the daily posts, gated by a timezone clock, a once-a-day flag and an atomic row claim — so it can never double-send.
Loose coupling
Agents coordinate through shared state (a profile row, an ideas queue), never point-to-point — so the system grows without rewiring.
Fail safe, not open
Every guard defaults to deny: a missing flag reads as off, a failed save leaves it off, tolerant JSON parsing recovers instead of crashing a flow.
The stack
This is the kind of AI engineering I want to do full-time.
Seven years bridging enterprise SAP and now AI systems — shipped solo, end to end. If your team is building with agents, LLMs, or automation, I'd love to talk.