The AI Behind PlanForge

One advisor. Two AI agents. 23 automated tasks. A custom-built illustration engine. An entire business, orchestrated by intelligence that learns and gets better every week.

23AI Tasks
7Smart Listeners
37,000+Lines of Code
19CRM Tables
803+Tests Passing

Drafted by AI. Approved by a Human. Sent with Confidence.

Nothing leaves PlanForge without Nick's approval. The AI writes the first draft. Nick reviews, edits if needed, and approves with a checkmark. Then the system sends it through the right channel with the right signature. Every edit trains the AI to be better next time.

🤖

Meet the Agents

Two AI agents handle different sides of the business. Both learn from feedback and get better every week.

Alexis

Operations & Client Relations

Handles LinkedIn outreach, email drafts, CRM updates, scheduling, client communications, and pipeline management. When ghostwriting as Nick, she sounds exactly like him. When sending as herself (scheduling, nurture sequences), she's warm and professional.

Jarvis

Marketing & Content

Plans a full week of social content every Monday, writes the monthly newsletter ("The Compound"), and keeps the content pipeline on track. He writes in Nick's voice but with a content creator's eye for hooks and engagement.

🧰

The Toolbox

Every tool connected, every service integrated. The agents can reach any system they need.

📧 Brevo (Email)
💬 Slack
🔗 LinkedIn / Unipile
📊 Airtable CRM
📝 Notion KB
📅 Cal.com
📱 Twilio (SMS)
📣 Buffer (Social)
⚡ Zapier
✉️ Gmail
🌐 WordPress
📋 Google Tasks
AI Drafts Message
Posts to Slack
Nick Reviews ✓
Approval Sender Routes It
Logged to CRM
🏛️

The Advisor Panel

The crown jewel. A custom-built illustration engine that replaces software most TPAs and custodians charge $10,000+ per year to access.

PlanForge Advisor Panel V3

Custom Cross-Testing & Illustration Engine

This is a 23,500+ line custom software suite spanning 22 files across three dedicated repository folders (Illustration Engine, Advisor Control Panel, and Test Suites). It does something that normally requires expensive TPA software or a third-party actuary: it models cross-tested profit sharing allocations, runs IRS 401(a)(4) nondiscrimination testing, and generates branded PDF illustrations, all in the browser, in seconds.

The V3 MASTER panel alone is 3,175 lines in a single file. But around it sits an entire ecosystem: client-specific configuration files, PDF generation scripts, a dedicated verification harness, pipeline schema integrations, conflict resolution tests, and nine full test suites covering every edge case from forfeiture reallocation to multi-owner HCE classification.

A business owner's census data goes in (pasted from a spreadsheet or entered manually), and out comes a complete illustration showing exactly how much each owner can contribute, how the plan passes IRS testing, and what the total cost looks like after SECURE Act 2.0 tax credits. It handles multi-owner companies, HCE/NHCE classification, employee departures, forfeiture modeling, and multiple "what-if" scenarios.

The typical alternatives cost between $8,000 and $25,000 per year for a single advisor license. PlanForge built this in-house, which means every illustration generated is free, instant, and fully controlled. No per-plan fees. No vendor lock-in. No waiting 48 hours for a TPA to send back numbers.

Cross-Tested Profit Sharing IRS 401(a)(4) Testing Multi-Owner Support HCE/NHCE Classification Forfeiture Modeling Census Paste Import Scenario Testing Chips PDF Generation Employee Departure Tracking EBAR Tables JSON Import/Export Multi-Plan Tabs
23,500+Lines of Code
22Files
803+Tests Passing
9Test Suites
What does 23,500 lines of code actually mean?

If you printed this codebase, it would fill roughly 470 pages of single-spaced text. That is longer than most novels. For context, Harry Potter and the Prisoner of Azkaban is about 317 pages.

A senior software developer writing production-quality code (not just typing, but designing architecture, debugging edge cases, writing tests, and refactoring) averages about 50 to 100 usable lines per day. At that rate, 23,500 lines represents 6 to 12 months of focused, full-time development work.

If PlanForge had hired a freelance developer specializing in financial compliance software at $150 to $250 per hour, this engine alone would have cost $150,000 to $300,000 to build from scratch. That does not include the 5,375 lines of automated testing, which is often billed separately.

470 Pages if printed
6-12 mo Dev time equivalent
$150-300K Build cost equivalent
$0 What PlanForge paid
📊

The CRM

19 interconnected tables that manage every relationship, every deal, every communication, and every dollar flowing through the business.

Airtable: The Central Nervous System

19 Tables. Every Relationship. Every Transaction.

This isn't a basic contact list. It's a full business operating system built on Airtable. The Pipeline table tracks every prospect from first touch to signed contract, with Deal Warmer nurture fields, questionnaire intake data, and stage-based automation triggers. The Activity Log captures every outbound message (email, LinkedIn, SMS) with edit delta tracking so the AI learning loop can measure how much Nick changed each draft.

The Participants table tracks individual employees across client plans, with lifecycle event triggers for birthdays, enrollment deadlines, and 90-day check-ins. The Partnerships table manages referral partner relationships, with revenue share lookups and automated commission tracking. The Referrals table sits at the intersection of partnerships and pipeline, tracking every lead a partner sends with stage-by-stage fee estimation.

LinkedIn Connections has its own table with Sales Navigator bucket assignments, priority ratings, hiring signal flags, and InMail escalation tracking. The Newsletter tables manage subscriber lists, content calendars, and approval workflows. And the AI Prompts table stores versioned prompt templates that feed the learning loop.

The long-term vision includes using this data infrastructure for private equity opportunity analysis, where the depth of business relationship data and financial modeling capabilities could support deal sourcing and evaluation at scale.

19Tables
80+Contacts Loaded
150+Custom Fields
5Linked Pipelines
🤝

The Referral Partner Portal

Partners don't just send referrals into a black hole. They can see exactly where every lead stands in the pipeline.

Transparency That Builds Trust

Real-Time Pipeline Visibility for Referral Partners

When a CPA, benefits broker, or attorney sends a referral to PlanForge, that lead enters the Referrals table and the pipeline simultaneously. The referring partner gets automated email notifications at three key milestones: when the meeting is scheduled, when the deal is won, and when the plan is fully onboarded. No more wondering "whatever happened to the lead I sent you three months ago."

The portal tracks estimated implementation fees, revenue share percentages (pulled from the partner's agreement), and projected referral earnings. Partners with active agreements see a dashboard view of all their referrals with current stage, estimated fees, and confirmation status. It's the kind of visibility that makes partners want to send more referrals, because they can see the results.

The intake process is seamless: a partner submits a referral through the branded form on planforge401k.com, Zapier catches the webhook, Claude extracts the details, Airtable creates the records, Gmail sends an auto-response with a cal.com booking link, and Nick gets an instant Slack alert. Eight steps, fully automated, under 30 seconds.

🧮

The Calculators

Interactive tools on planforge401k.com that turn curious visitors into warm prospects. Each one does the selling without a sales pitch.

Owner Tax Savings Calculator

"Show, Don't Tell" at Its Best

A business owner visits the page and sees a clean, article-style breakdown of where hidden 401(k) fees live: revenue sharing, sub-TA fees, wrap fees, and asset-based charges. Most small business plans are overpaying by 40% to 60%, and this calculator shows them exactly how much.

The case study section walks through a real example: an 18-employee landscaping company that went from paying $11,400/year (most of it invisible) down to $1,700 in year one after SECURE 2.0 startup credits. Same employees, same contributions, better investment options. The page ends with a CTA to run their own numbers. When they do, their data flows into the CRM through a Zapier webhook and triggers the follow-up sequence.

This is the page that turns "I had no idea we were overpaying" into a booked consultation.

CPA Partner Revenue Calculator

Slider-Based, Interactive, Built for Partners

This one is designed for CPAs and other referral partners considering a relationship with PlanForge. They move sliders to set the number of clients they think they could refer and the average employee count, and the calculator instantly shows projected Year 1 revenue, 3-year cumulative earnings, and tier-based pricing breakdowns.

It's built with PlanForge's navy-and-gold brand styling, WordPress-hardened CSS so it renders perfectly inside the site, and clean Libre Franklin typography. The goal is simple: show a CPA that sending 5-10 referrals a year could generate $15,000-$30,000 in recurring revenue share, and let the math do the convincing.

Ownership Questionnaire

The Front Door for New Prospects

When a business owner is ready to explore a 401(k), they fill out a branded questionnaire on planforge401k.com. It asks about business structure, employee count, owner compensation, current plan status, and goals. The moment they submit, the data flows through Zapier into Airtable, triggers a Slack alert, and kicks off the intake sequence: acknowledgment email, custom illustration generation, and a structured follow-up cadence.

The questionnaire replaces what used to be a generic Google Form with a branded, conversion-optimized experience that feeds directly into the automation pipeline.

Referral Intake Form

Navy Glass-Morphism Design, Seamless Processing

A sleek, dark-themed referral submission form where partners can send leads in 30 seconds. The form features a frosted-glass card design against a navy gradient, and every submission is automatically processed: CRM records created, auto-response sent with booking link, partner notified, and Nick alerted on Slack. The entire flow from submission to follow-up is under a minute.

⚙️

23 AI-Powered Tasks

Every task runs on a schedule, drafts or processes something, and either posts to Slack for approval or updates the CRM directly. Click any card to see the details.

🔗 LinkedIn & Prospecting
👋
LinkedIn Connection Drafter
Writes personalized connection requests from Sales Navigator leads
Alexis

Every morning, Alexis checks the LinkedIn Connections table for new leads that came in from Sales Navigator. She looks at their title, company, industry, and any notes from the SN Prospecting Template, then writes a personalized connection request that sounds like Nick typed it himself. Each request goes to Slack for approval before being sent through Unipile.

She follows 11 different Sales Navigator buckets (benefits brokers, CPA firms, franchise trades, healthcare practices, commercial construction, and more), each with its own messaging angle and watch-out flags. Rate-limited to 20-25 requests per day to keep LinkedIn happy.

Runs: Daily, morning
Limit: 20-25/day
💬
LinkedIn Connection DM
Follows up when someone accepts a connection request
Alexis

When someone accepts Nick's connection request, Alexis drafts a single follow-up DM. Not a sales pitch. A genuine, casual message that opens a conversation. She pulls context from the connection record (their industry, title, what caught Nick's eye) and writes something that would make them want to respond.

Runs: Daily, 10 AM - 3 PM window
Sends: One DM per connection, ever
📩
LinkedIn Inbound Reply
Drafts replies to incoming LinkedIn messages
Alexis

When someone messages Nick on LinkedIn, the Unipile webhook catches it, logs it to the CRM, and alerts Slack. Alexis then pulls the full conversation history via Unipile, classifies the message (interested prospect, partner inquiry, general networking, spam), and drafts an appropriate reply in Nick's voice. Everything goes to Slack for review before sending.

Triggered by: Unipile webhook via Zap 25
Context: Full conversation thread
📤
LinkedIn InMail Escalation
Sends InMail to priority prospects who haven't accepted after 7 days
Alexis

If a connection request goes unanswered for 7 days and the prospect is rated "Priority" in Sales Navigator, Alexis drafts an InMail as a second channel. The connection request stays active (both channels run in parallel). InMails are sorted by employee count (bigger companies first), capped at 5 per day, and each one gets its own Slack approval.

Runs: Weekdays 10 AM
Limit: 5/day, Priority only
📧 Email & Nurture
🔥
Deal Warmer Drafter
4-email re-engagement sequence for warm prospects
Alexis

When a prospect goes quiet, the Deal Warmer keeps them warm over 75 days. Day 5: Nick sends a personal "checking in" bump. Day 14: Alexis sends a value-add email with a relevant resource. Day 30: Alexis offers a newsletter opt-in as a soft exit. Day 75: Final gentle touch. The sequence stops if the prospect replies, books a meeting, or opts into the newsletter. Alexis sends as herself for Days 14/30/75, introducing both herself and Nick. All drafts go through the approval flow.

Cadence: Day 5 / 14 / 30 / 75
Exit ramp: Newsletter opt-in
🎂
Lifecycle Drafter
Birthday, milestone, and personal event messages
Alexis

Nine different lifecycle triggers: birthdays, enrollment deadlines, 90-day check-ins, work anniversaries, plan anniversaries, life events, business milestones, holiday messages, and retirement check-ins. Alexis drafts messages that feel personal, not templated, ghostwritten as Nick. The channel (email, text, LinkedIn DM) matches the relationship type. It's the kind of thing that takes 30 seconds to approve but makes a client feel remembered.

Triggers: 9 lifecycle events
Channels: Email, SMS, LinkedIn
📬
Email Router
Triages and routes every inbound email
Alexis

Scans Nick's inbox and classifies each message: prospect inquiry, client question, partner communication, vendor, personal, or spam. Based on urgency and type, Alexis either drafts a reply, flags it for Nick's direct attention, or archives it. She enforces the arms-length rule (never mixing PlanForge and Ideology communications) and routes partner intake emails through the referral processing workflow.

Runs: Multiple times daily
Classification: 6 categories, 3 urgency tiers
🔔
Partner Pipeline Notifier
Emails referring partners at 3 key milestones
Alexis

When a referred prospect hits a milestone (Meeting Scheduled, Won, or Fully Onboarded), this task drafts an email to the referring partner letting them know. Sent from referrals@planforge401k.com, each notification includes the prospect name, current stage, and relevant next steps. Duplicate notifications are prevented by tracking flags in the Referrals table's Internal Notes.

Runs: Every 2 hrs, 9 AM - 5 PM weekdays
Milestones: Meeting Scheduled, Won, Onboarded
👥 Client Management
📅
Semiannual Meeting Scheduler
Reaches out to schedule client review calls every 6 months
Alexis

Every active client gets a semiannual review call. Alexis sends as herself (not ghostwriting as Nick) with a 30-day lead time, giving clients plenty of runway. If no response, she follows up twice more. Each email includes a cal.com booking link and a friendly, low-pressure tone. When a review is booked, the CRM updates automatically through the Cal.com webhook.

Lead time: 30 days before due date
Attempts: 3 outreach attempts
📱
Meeting Reminder SMS
Sends a text reminder the morning of every meeting
Alexis

The morning of any booked meeting, Alexis sends a quick text via Twilio: the time, a confirmation, and the meeting link. Simple, but it cuts no-shows dramatically. The message is short and personal, not robotic.

Runs: Morning of meeting day
Sent via: Twilio SMS
📝
Questionnaire Intake
Processes new questionnaire submissions and triggers the full intake sequence
Alexis

When a business owner fills out the ownership questionnaire, the data flows into the Pipeline table with all the details: business structure, employee count, owner/HCE/NHCE breakdown, current plan status, goals, and CPA contact. Alexis sends an acknowledgment email, triggers illustration generation via the Advisor Panel, and starts a structured follow-up cadence. The prospect moves through clearly defined stages from "New Lead" to "Meeting Scheduled."

Triggered by: Zap 22 webhook
Outputs: Acknowledgment, illustration, follow-up cadence
🚀
Pipeline Onboarding Reviewer
Scans the pipeline daily and drafts outreach for stale deals
Alexis

A daily scan of the entire pipeline looking for prospects who've gone quiet, deals that need a nudge, or new leads that haven't been contacted yet. If something's stuck, Alexis drafts the appropriate outreach and posts it for approval. It's the task that makes sure nothing falls through the cracks.

Runs: Daily
Scans: All active pipeline stages
🗄️ CRM & Data
📋
Meeting Outcome Logger
Nick posts notes to Slack, the system updates the entire CRM
Alexis

After a meeting, Nick drops notes into the #crm-meeting-outcomes Slack channel. The task reads the message, extracts the contact, company, outcome, and any follow-up actions, then updates every relevant CRM table: Activity Log, Pipeline, Contacts, Participants, and Partnerships. When it's done, it reacts with a thumbs-up. If it can't find the contact, it asks for clarification in the thread.

Runs: Every 30 min, 8 AM - 7 PM weekdays
Updates: Activity Log + 4 CRM tables
Google Tasks Manager
Watches all 6 task lists, logs completions, flags overdue items
Alexis

Monitors all 6 Google Tasks lists (Personal, PlanForge Pipeline, Client Service, Ideology/IMFO, Marketing & Content, Operations). Completed tasks get logged to the Airtable Activity Log with CRM contact matching. Overdue items get flagged. A summary posts to Slack every 2 hours so nothing slips through the cracks.

Runs: Every 2 hrs, 8 AM - 7 PM
Covers: 6 Google Tasks lists
📆 Daily Operations
☀️
Daily Game Plan
Morning briefing with today's priorities, pulled from 7 data sources
Alexis

Every weekday at 7:30 AM, Alexis compiles the morning briefing. She pulls from the calendar (today's meetings), all 6 Google Tasks lists (overdue and due-today items), the Airtable pipeline (deals that need action), client tables (upcoming reviews or deadlines), Slack approval channels (anything still waiting), Gmail (important unreplied threads), and the Activity Log (recent outreach that needs follow-up). It all gets distilled into a scannable Slack post with the Top 3 Priorities for the day.

Runs: 7:30 AM weekdays
Sources: 7 data sources
📊
Weekly Meeting Digest
End-of-week summary of all meetings, outcomes, and open follow-ups
Alexis

Every Friday, Alexis reviews all the meetings from the past week, compiles the outcomes, and surfaces any follow-ups that haven't been completed yet. She highlights pipeline movement (who moved forward, who stalled), flags upcoming renewals or reviews, and gives a quick snapshot of outreach performance. It's the weekly "state of the business" report, delivered automatically.

Runs: Friday afternoon
Delivered to: Slack
🔑 The Keystone
🚀
Approval Sender
The heart of the system. Catches approved messages and sends them to the world.
Keystone

This is the single most important task in the entire system. Every other task drafts messages and posts them to Slack for approval. The Approval Sender is the one that actually sends them out.

Every 30 minutes, it scans the Slack approval channels for messages Nick has approved with a checkmark reaction. For each approved message, it reads the draft metadata (who it's to, which email address to send from, which channel to use), picks the right delivery service (Brevo for email, Unipile for LinkedIn, Twilio for SMS, Buffer for social), attaches the correct signature, and sends it.

If Nick edited the draft before approving, the system captures exactly what changed and logs it. Those edits become training data for the weekly performance review, which uses them to make future drafts even better. Every message sent gets logged to the CRM with full details: who, what, when, how, and whether Nick changed anything.

Runs: Every 30 min, 9 AM - 6 PM weekdays
Routes to: Brevo, Unipile, Twilio, Buffer
Replaced: 10 separate Zapier automations
📣 Content & Marketing (Jarvis)
✍️
Weekly Content Planner
Creates 7 days of social media posts every Monday morning
Jarvis

Every Monday at 7 AM, Jarvis plans the entire week's social content. He follows a daily theme rotation: Monday is motivation or industry insight, Tuesday is educational, Wednesday is a client win or case study, Thursday is a question or conversation starter, Friday is personal or behind-the-scenes. Each day gets a LinkedIn post and a Facebook post, both tailored to how those platforms work differently.

Runs: Monday 7 AM
Output: 14 posts (7 LinkedIn + 7 Facebook)
Published via: Buffer
📰
Newsletter Drafter
Builds a polished monthly newsletter from the content calendar
Jarvis

Once a month, Jarvis compiles the best content from the past few weeks into a newsletter called "The Compound." It covers industry updates, SECURE Act 2.0 news, retirement planning tips, and highlights from Nick's recent work. The newsletter is designed in clean HTML, branded to PlanForge, and ready to send through Brevo to the subscriber list.

Runs: 10th of each month
Sends from: newsletter@ (The Compound)
Target send: By the 15th
🔍
Content Pipeline Check
Makes sure content is on schedule and nothing's stuck in the queue
Jarvis

A quick daily check that makes sure the content machine is running smoothly. Are this week's posts approved and queued? Is the newsletter on track? Did anything get stuck waiting for approval? If something's behind, it pings Nick with a heads-up so nothing goes dark on social media.

Runs: Daily
Alerts to: Slack
🧪 Learning & Improvement
📈
Weekly Performance Review
The system gets smarter every week by learning from Nick's edits
Learning Loop

This is what makes the whole system feel like it's actually learning, because it is. Every Friday at 4 PM, this task analyzes every edit Nick made during the week. If Nick changed a draft before approving it, those changes are captured: what was the AI's version, what did Nick actually send, and what's the difference?

It also reads Nick's coaching notes from a dedicated Slack channel (#alexis-coaching) where he can drop quick feedback like "too formal" or "don't mention pricing in cold outreach." The task compiles all of this into proposed updates to the AI's instructions and posts them for Nick's approval. Once approved, the instructions get updated and next week's drafts are better.

The target: 80%+ of drafts should be sent without any edits within 8 weeks of going live. That's the "clean send rate," and it's the ultimate measure of whether the AI truly sounds like Nick.

Runs: Friday 4 PM
Goal: 80%+ clean send rate
Covers: Both Alexis and Jarvis

7 Smart Listeners

These webhook-powered integrations catch every inbound signal and route it to the right place. They listen. The AI agents act.

📅 Cal.com Event Sync
When someone books, reschedules, or cancels a meeting, it updates the CRM, alerts Slack, and keeps everything in sync across 5 different booking types.
5 Paths
📋 Questionnaire Pipeline
When a business owner fills out the 401(k) questionnaire, their answers land in the CRM and trigger the full intake sequence.
Active
🤝 Referral Intake
When a partner submits a referral, it creates the prospect record, sends an auto-response, and notifies Nick instantly.
8 Steps
🧮 Partner Calculator Webhook
Catches submissions from the partner savings calculator and creates the right records in the CRM based on interest level.
Active
📊 Ownership Calculator Leads
When a prospect uses the ownership savings calculator, their data flows into the pipeline for follow-up.
Active
🔗 LinkedIn Inbound Webhook
When someone messages Nick on LinkedIn, it logs the message to the CRM and alerts Slack so the inbound reply task can draft a response.
Real-time
📰 Brevo Newsletter Events
Tracks newsletter opens, clicks, and unsubscribes to keep engagement data flowing into the CRM.
Active
💰

What This Would Cost to Buy

The honest math on what PlanForge's AI infrastructure would cost if you tried to buy it off the shelf versus what it actually costs to run.

Commercial Equivalent
$147,000+
Per year, if you bought each piece separately
Actual Monthly Cost
~$317
$3,804/year. All services. Everything running.

Where the $147K Comes From

A realistic line-by-line comparison
TPA/Custodian illustration software (replaces Advisor Panel) $8,000 - $25,000/yr
CRM platform (Salesforce/HubSpot equivalent with 19 custom tables) $12,000 - $24,000/yr
Marketing automation (Marketo/Pardot, email sequences, lead scoring) $15,000 - $24,000/yr
LinkedIn automation tool (Outreach.io, SalesLoft, or similar) $12,000 - $18,000/yr
Full-time operations coordinator salary (partial: 20 hrs/week equivalent) $25,000 - $35,000/yr
Content writer/social media manager (part-time equivalent) $15,000 - $24,000/yr
Custom web calculators (development + maintenance) $8,000 - $15,000/yr
Partner portal/dashboard (custom development) $5,000 - $10,000/yr
AI/ML infrastructure (training, inference, learning loops) $10,000 - $20,000/yr

Add it all up conservatively and you're looking at $110,000 on the low end, $195,000 on the high end. The midpoint sits around $147,000 per year. PlanForge runs the whole thing for under $4,000.

What PlanForge Actually Pays
Claude Max (AI backbone)$200/mo
Unipile (LinkedIn API)~$55/mo
Slack Pro~$22/mo
Zapier (7 webhook listeners)$20/mo
Twilio (SMS)~$10/mo
Buffer (Social publishing)$10/mo
Brevo (Email sending)Free tier
Cal.com (Scheduling)Free tier
Airtable (CRM)Free tier
WordPress (Website)Existing hosting
Total Monthly Cost~$317/mo
🏖️

Retired Automations

These old automations were replaced by the AI-powered system. They did good work, but the new approach is smarter, faster, and more flexible.

Zap 1-5
Replaced by Approval Sender
Zap 6
Manual send retired
Zap 7-13
Replaced by Approval Sender
Zap 15-19
Consolidated into AI tasks
Zap 20
Replaced by Google Tasks Manager
Zap 21
Merged into Zap 14