Agent Assist
An AI-powered operations platform behind my subscription support business for real estate agents. Agents get everything an assistant would do. Two virtual assistants handle delivery from the SOP library and member portal, with AI doing the repetitive work.
The problem
Agents lose deals in the back office: CRM databases full of duplicates, inconsistent follow-up, and hours spent on MLS entry and presentations. Hiring an assistant is expensive and hard to manage.
What I built
- Member portal. A self-serve web app on Supabase with Stripe subscriptions, role-based access enforced by row-level security, monthly usage quotas, an admin console with KPIs and threaded messaging, and a Database Health dashboard that shows members their progress.
- Two-way ClickUp sync. Every request creates a ClickUp task. A Supabase Edge Function receives ClickUp webhooks, maps statuses both ways, and uses a sync-state column to prevent update loops.
- AI-driven CRM cleanup. AI dedupes, standardizes, tags, and scores agent databases. KW Command has no open write API, so I designed a browser-automation workflow with human approval on every batch.
- Document pipelines. A Node.js and Playwright script renders a 65-field newsletter template to print-ready PDFs and flags anything left blank.
- SOP library. Six SOPs drafted with AI, then checked by a second AI reviewer reading as a brand-new assistant before release.
How I keep AI output safe
AI drafts, a human verifies. Nothing that touches a client's CRM, MLS, or inbox goes out without a person approving it.
Life of a request
- Agent submitsFrom their portal profile, counted against the monthly quota
- Supabase logs itCreates the ClickUp task and sends a confirmation through Resend
- Work follows the SOPRequired checklist steps must be done before completion
- Status syncs both waysSigned ClickUp webhooks update the portal and admin dashboard live