Auto-handled
- Confirmations
- Reminders
- Invoice receipts
- Calendar holds
Just done.
The AI office admin for small business.
Before
After
Built and battle-tested in
Today at OfficeAdmin HQ
Illustrative — real action types, fictional names, amounts & invoice numbers. See your own ticker on a demo →
Three lanes. You stay in control. OfficeAdmin handles the rest.
Just done.
One tap to send.
You decide.
The answer to "but what if it sends something wrong?"
Everything starts in the "review" lane. As you watch it work, you promote categories to auto. Most owners reclaim their inbox in three weeks.
Same business. Same customers. Same hours in the day.
Same desk. Same phone. Same QuickBooks. Different morning.
4 things to approve. 12 things handled overnight. Tap, tap, tap, tap.
Bob texts asking for a quote. Before you finish your coffee, the estimate is drafted with everything you know about Bob attached.
You marked the job complete. The invoice, the receipt, the "thanks" note, and the next-day text to your crew all just happen.
Residential homeowner. Commercial property manager. Vendor. Every reply is drafted on full context, not a CRM field.
Echo Park · Residential · Since 2023
Residential customer dossier
West Hollywood · Commercial · Since 2021
Commercial customer dossier
Vendor · Wire & gear distributor · 9 yrs
Vendor dossier
Three customers. Three completely different reply styles. OfficeAdmin already knows which one to use.
Not "connected to." Working inside.
Not a wrapper. Not a chatbot with integrations bolted on. Here's what actually ships today, and where the chains are still being wired.
The inbound pipeline · shipping today
This is the part that runs on its own. comms-pipeline
reads three Gmail accounts, iMessage, Google Chat, and voicemail
on a cron, applies routing rules, classifies risk into trust
tiers, auto-sends Tier 1, and lands Tier 3 in your review queue
with the dossier attached.
"Hey, can you quote a sub-panel for the garage?"
+1 (323) 555-0142 · 9:14 am · Tue
Comms pipeline scans three Gmail accounts, iMessage, Google Chat, voicemail — every minute, on a launchd cron.
identity
→
Bob Henderson · Echo Park · customer since 2023
Phone, email, slug, or fuzzy name → one canonical entity. So every channel maps to the same human.
know "bob henderson"
4 jobs · $48,250 lifetime · prefers texts · owes $4,000 since 6/14
last seen Tue · note: "loyal, slow on payments, worth the patience"
Seven backends queried in parallel, merged on the fly. Drafter sees full history before writing a word.
drafter
+ Bob's voice profile
"Hey Bob — yes, sub-panel work, same crew as your kitchen. I'll send the estimate by EOD. Heads up, the June balance is still open ($4k) — want me to roll it into the new invoice?"
Drafter writes in the entity's voice (tone, persona, do-not-say rules) merged from three layers.
tier-classifier
→ Tier 2 · for review
just done
12 today
your one tap
+1 ← this one
brain needed
0 today
This part actually fires on a cron. Every action it takes is logged. Mike has been running it on his own business since October 2025.
The know command · shipping today
know is the CLI under the dossier. It resolves any
name, email, phone, or slug to a canonical entity, then fans out
to seven backends in parallel — entity records, the MemPalace
graph, Apple Notes, voice transcripts, AI-session logs,
commitments, and call history — and merges everything into one
answer.
mike@officeadmin ~ $ know "bob henderson" ## entities (1) slug: bob-henderson name: Bob Henderson type: residential customer · Echo Park prefers: text · hates morning calls ## graph (12 facts from MemPalace) [0.94] kitchen remodel — $14,000 — 60% complete [0.91] referred by Susan G. (2 referrals since '23) [0.88] panel preference: Square D [0.84] note: "Loyal. Slow on payments. Worth the patience." [...] ## commitments (2 open) OPEN · Bob owes you $4,000 since 2025-06-14 OPEN · You owe Bob: panel quote (asked Tue 9:14am) ## notes (3) - 2024-06-12 Apple Note: "Bob mentioned Square D panel for kitchen." - 2024-08-03 Apple Note: "Bob asked about EV charger install Q4." - [...] ## voice (2) - 2024-11-04 (12 min) — re: kitchen scope change - 2025-02-18 (4 min) — re: payment plan ## calls (4) - 2025-06-14 outbound — discussed June balance - [...]
That's the actual output format — per-backend Markdown sections, merged on the fly. Now imagine OfficeAdmin pulling that before it drafts a reply for you.
QuickBooks & estimates · partly automated, partly on call
QuickBooks is where the money actually lives. OfficeAdmin doesn't replace it, it operates it. The CLI wraps the QBO and QB Time APIs so the comms pipeline can pull and push without you clicking through.
Create estimates & invoices in QBO from one CLI call. Convert estimate → invoice. Send invoice by email. Pull customer history, line items, rate card, and outstanding balance into the dossier.
QB Time integration. See who was on the job, when, for how long. Labor summaries by job. Crew schedules. So drafts know which crew member to mention by name.
AR aging on demand. Open invoices, days overdue, balance summaries — pulled into the dossier and surfaced when a customer messages you.
Mark a job complete → invoice drafted → thank-you drafted → crew text drafted — each one queued in your review lane, none auto-sent until you promote it. The pieces exist; the trigger from "complete" doesn't ship yet.
Overdue follow-ups on a schedule via the schedule-send module. The schedule-send tool ships today as a one-shot scheduler; the AR-aging-driven nudge cadence is the next chain.
Pricing guides for electrical work live as electrical-estimating: rate, service-call fee, minimums, tax rate, materials markup. The drafter reads them when building an estimate. It's not an automated pricing engine — it's a rate card the drafter quotes from.
How it all wires together · interactive docs
All 65+ modules in the AIVA codebase, grouped by what they do.
Click any module to see its description, machine, and
relationships. Use the filters to focus a cluster, or search
by name. The orchestrator at the center is
comms-pipeline; the engine ring is AIVA; you sit
outside, in control.
Open the full module docs →
Auto-generated from MODULE.md on disk. Re-run python3 bin/generate-docs.py to refresh.
What's actually in the box
Each of these is a working CLI in the AIVA codebase. Some execute work, some are reference skills the drafter consults. All of them ship today.
OfficeAdmin runs the back office at Shaffer Construction, a Los Angeles electrical contractor doing real work for real customers. Every feature on this page exists because Mike needed it on a Tuesday at 9am, not because a product manager spec'd it.
★★★★★
— Mike Shaffer, owner
From Mike's desk
Tuesday, the morning I almost lost my mind.
Hi —
I built OfficeAdmin because in October 2025 I opened my work Gmail and the unread count was 47. Not 47 today. 47 still owed a reply from across the previous three weeks.
Some were customers. Some were vendors. One was the inspector for a job I'd already finished. I'd lost track of who was waiting on me. I knew I was about to drop a ball that mattered.
I couldn't afford to hire someone full-time, and the part-time office help I'd tried before always quit when the workload got spiky. So I built the assistant I needed instead. It pulled every customer's history into one place. It started drafting the obvious replies. It put the overdue invoices in front of me instead of hiding them in QuickBooks. It asked me about the weird ones. Within three weeks the inbox was empty.
That assistant is what's on this page. It runs my whole back office now. It's not a chatbot, it's not a wrapper, and it's not for sale at $20/month, because $20/month would make me cut every corner that makes it actually useful.
If you're another contractor or small-business owner who's losing the email war the same way I was, hit the button. I'll walk you through it personally.
— Mike Shaffer
Owner, Shaffer Construction · Los Angeles
A real human (Mike, usually) walks you through it. No "complete onboarding course."
Mac mini lands. We plug it in, connect QuickBooks, Gmail, Calendar, iMessage. Two hours, not two weeks.
OfficeAdmin has read your last 90 days of email and built dossiers for your top 100 customers. Your first daily summary lands.
You've approved a week of drafts. The "yeah, always send these" patterns get promoted to auto. The lane shrinks.
You stop thinking about it. You think about the work. Your spouse notices you're not on your phone after dinner.
Where it stops
Boundaries on day one, in writing. Not in the fine print.
If something feels close to a line, it lands in your lane. Always.
Three ways to handle the back office. One of them lets you sleep.
We're not the cheapest. We're cheaper than the wrong option, and better than the lonely option.
No FAQ chatbot. Just real things owners actually ask before they buy.
That's the entire reason for the three trust lanes. Until you tell it otherwise, every outbound message lives in "drafted for review." You promote categories to auto only after you've watched it work. Brand-new contacts always come to you first.
OfficeAdmin runs on a Mac mini we ship to you. Your customer history, transcripts, and invoices live on your hardware. The only outbound calls are to whichever AI provider you chose with your own API key. We don't see your data.
QuickBooks, Gmail, Google Calendar, iMessage, Apple Notes & Reminders, and your phone transcripts are first-class today. If you use something else, ask — most integrations slot in within about a week of request.
Yes. OfficeAdmin can route the same draft to whoever should see it. Your bookkeeper sees the invoice questions. Your scheduler sees the calendar back-and-forth. You see the things only you can decide.
"Bring your own keys." You sign up for an API key with Anthropic or OpenAI in about five minutes — Mike walks you through it on the install call. The inference bill comes straight from them, not us. We'll help you size your usage on the install call so there are no surprises.
You keep your Mac mini and your data, full stop. The software stops getting updates and the auto-handle lanes turn off. Your customer history, dossier, and transcripts are still on your hardware in plain formats you can read.
No. You need to know your business. The whole point is that you keep doing the work and OfficeAdmin handles the back office around you. If you can use QuickBooks and reply to a text, you're qualified.
Because the alternative is a $5,000/month employee. We're not a productivity app, we're a virtual back office. At $99/mo we'd cut the corners that make it actually trustworthy. We'd rather charge a fair price and earn it.
Text Mike directly. The exact draft, the dossier it was built from, and the rule that promoted it to auto are all on your hardware, so we can trace the decision in minutes — not days. The category gets demoted back to "drafted for review" until we understand what slipped through. You're never alone with a mistake, and you're not waiting on a support queue.
Setup in a weekend. Pays for itself in a week. A real human (probably Mike) walks you through the install.
Bring your own AI keys. Cancel any time.