Build-in-public

What I shipped.

Every build at AGV.VIZION, AGV.SYSTEMS, and AGV.AI. Auto-updated from the same Build Progress tracker I use internally. If you ever wondered whether a one-person shop can out-ship a 50-person SaaS company, the answer is here.

Week of April 20, 2026 · 100 shipped

  • REC4-K Stripe customer auto-archive

    2026-04-22
    AdminAGV.VIZION

    Monthly 09:00 UTC. Archives 18mo-idle delivered clients. Cap 200/run. Build Log IakfGODX. Commit b53dc52.

  • REC6-J Churn-risk deterioration alerter

    2026-04-22
    AdminAGV.VIZION

    Monday 16:00 UTC. WoW delta ≥20pts flags deteriorating. Slacks top-5. Build Log aehKH6K4. Hook Q4B9V25l. Commit b53dc52.

  • REC7-F /send-live-update skill

    2026-04-22
    AutomationAGV.VIZION

    Wedding-day instant bell skill with 8 copy templates. Build Log nE9o18fR. Hook CGGXnp0v.

  • REC6-H Emitters catalog admin page

    2026-04-22
    AdminAGV.VIZION

    SOURCES registry + orphan detection. Build Log m47imIkZ. Commit 490c830.

  • REC5-H Portal bottom-tab unread anchor

    2026-04-22
    PortalAGV.VIZION

    notify_tab_segment column + window-event broadcast + bottom-tabs dot render. Build Log IKGoYZaW. Commit 490c830.

  • REC6-D Wedding-countdown milestones cron

    2026-04-22
    PortalAGV.VIZION

    Daily 15:00 UTC M28/M7/M1 milestone bells. Build Log j40JRfaC. Hook sP4brdMD. Commit b53dc52.

  • REC4-I /admin/email-templates-preview

    2026-04-22
    AdminAGV.VIZION

    13 cron email templates rendered with sample data in sandboxed iframes. Click-through to full-width. Commit 50473b4. Build Log cNTtsXgn.

  • REC7-K Churn-risk accuracy scorecard

    2026-04-22
    AdminAGV.VIZION

    v_churn_risk_accuracy view + gold-accent strip at top of /admin/churn-risk. Operator-trust moat. Commit 50473b4. Build Log gNohJPsa.

  • REC7-C /admin/churn-risk/[clientId] detail

    2026-04-22
    AdminAGV.VIZION

    Full per-bride churn story: score/bucket/delta hero, factor bars, 8-week trend, bell history, failures, opt-outs, quick-action links. Pure read. Commit 3cd88ed. Build Log 5Tm6mM71.

  • REC5-E /admin/portal-activity operator view

    2026-04-22
    AdminAGV.VIZION

    v_portal_client_engagement view + 4-bucket strip + sorted oldest-first. Commit 50473b4. Build Log YzxXy91w.

  • REC3-G /portal/[clientId]/wrapped annual retro

    2026-04-22
    PortalAGV.VIZION

    Bride-facing year-in-review. Timing-safe portal_token auth. Share-friendly layout for IG stories. Commit 3cd88ed. Build Log dLiNyFjO.

  • REC6-K Portal notification preferences

    2026-04-22
    PortalAGV.VIZION

    Opt-out model with default-all-on. New table + API + portal UI + notifyClient() consultation. Build Log kaMFjrkD. Commit 3785a81.

  • REC7-A Referral-earned bell emitter

    2026-04-22
    PortalAGV.VIZION

    convertReferral() now pings the referring bride's bell. Build Log X6eKj2bM. Commit 25027e0.

  • REC6-A Voice-memo-ready bell emitter

    2026-04-22
    PortalAGV.VIZION

    Finally unblocked via REC5-D waiver. Emitter live. 5 legit Gemini findings on pre-existing code addressed alongside. Build Log 35aFNfq7. Commit da6a099.

  • REC7-H NFC onboarding complete bell emitter

    2026-04-22
    PortalAGV.VIZION

    onboarding-video-complete probes published vs completed counts. 4 Gemini findings addressed. Build Log JBk1ew3y. Commit 34ae9ae.

  • REC6-F Churn-recovery auto-sequence

    2026-04-22
    AdminAGV.VIZION

    3-step hands-free save sequence with operator-pause override. Fail-closed on history lookup errors. Build Log 1tnQwYT3. Commit db14742.

  • REC5-D Adversarial-review exception ledger + quota-aware soft-fail

    2026-04-22
    AutomationAGV.VIZION

    Pre-commit hook now handles Gemini quota outages + supports WAIVER_HASH-pinned false-positive waivers. Build Log p1iykMAa.

  • REC7-G Padrino milestone bells (50/75)

    2026-04-22
    PortalAGV.VIZION

    Before/after pct compare ensures fire-once-per-milestone. Build Log b66EZn3S. Commit 34ae9ae.

  • REC8-D Referral credit UI + apply workflow

    2026-04-22
    PortalAGV.VIZION

    Portal form + API + admin queue. Build Log BZjUwXIY. Commit a44e793.

  • REC7-D Notifications smart-archive

    2026-04-22
    PortalAGV.VIZION

    UI filter hides read > 7d. Build Log T59C5SN9. Commit d04af5e.

  • REC8-H Post-onboarding milestone bells

    2026-04-22
    PortalAGV.VIZION

    Day 3/7/30 anchored to onboarding_complete. Build Log ZqAkC2oW. Commit 4aeb0b3.

  • REC5-B Weekly bride digest email

    2026-04-22
    PortalAGV.VIZION

    Daily cron. Compliance-gated, idempotent. Build Log Lmlqwa8T. Commit d4ddaf7.

  • REC7-B Post-wedding retention sequence

    2026-04-22
    PortalAGV.VIZION

    3 bells at T+0/3/10 post gallery-delivery. Build Log ZhrDfTXs. Commit d4ddaf7.

  • REC7-E Emitter heartbeat telemetry

    2026-04-22
    AdminAGV.VIZION

    Weekly probe + Slack alert on silent emitters. Build Log 0HfkPIuV. Commit d04af5e.

  • REC8-J NFC tap analytics

    2026-04-22
    AdminAGV.VIZION

    /admin/nfc-analytics with heatmap. Build Log Oja8rZ66. Commit 6c36378.

  • REC8-C Operator email drafts composer

    2026-04-22
    AdminAGV.VIZION

    Templates + autosave + HTML sandbox preview. Build Log iJRwREHE. Commit db154b8.

  • REC8-I Monthly business review P&L

    2026-04-22
    AdminAGV.VIZION

    CEO single-page with MoM deltas. Build Log TiX5bSwY. Commit 6c36378.

  • REC9-A Wedding anniversary lifecycle emitter

    2026-04-22
    PortalAGV.VIZION

    1/2/5/10yr bells. Multi-decade retention. Build Log N0uUX6gj. Commit 8c1c1be. SKIP_ADVERSARIAL used (Gemini 21h quota) — manual review tomorrow.

  • REC8-E Multi-business tenant overview

    2026-04-22
    AdminAGV.VIZION

    /admin/businesses tenant list. ?business_id filter on other surfaces deferred. Build Log wrKSvRnm. Commit 32d5279.

  • REC9-C Gallery engagement dashboard

    2026-04-22
    AdminAGV.VIZION

    Per-bride rollup. Build Log vC4iKBdr. Commit da1baca.

  • REC9-L Competitor-watch pitch workflow

    2026-04-22
    AdminAGV.VIZION

    Handle health + venues discovered + pitch candidates. Claude-API classification deferred. Build Log hn1OJRNp. Commit 38d9f9b.

  • Cross-Business Customer Lookup — customer_unified view + /admin/customer-lookup

    2026-04-22
    AdminAll

    One URL resolves any customer across AGV.VIZION + AGV.QUINCES + AGV.BOOTHS + AGV.MEDIA with total LTV + cross-sell hints.

  • Wedding Day Live Status Portal (public family link + Alex mobile control + hearts)

    2026-04-22
    PortalAGV.VIZION

    Bride gets shareable link, family watches live. Alex updates status from phone. Hearts register + buzz Alex. wedding_live_status + wedding_heart_reactions tables LIVE.

  • Canonical Sales Call Kit (6-pillar flow + objection script + HTML collections guide spec)

    2026-04-22
    Content/MarketingAGV.VIZION

    Replaces 12 dump cards. 6-pillar call flow, anchor-highest framework, partner-gate on lead form, slide copy for team-joining + same-day incentive.

  • Vendor Rolodex System — Airtable table + /vendor-outreach skill + FB group scraper

    2026-04-22
    AutomationAll

    Replaces 12 dump cards. 23-field Airtable table LIVE with 8 seed rows. /vendor-outreach skill registered. Pending: Alex replaces [TEMPLATE] rows with real vendors.

  • DUMP Board Triage System — 591 cards → 256 BUILT + 190 NOISE + 145 IMPACTFUL bundles

    2026-04-22
    Tooling/SkillAll

    13 bundles created on Trello QUEUE list. /dump-triage skill + weekly cron live. Master plan card https://trello.com/c/AtODkPhl

  • NPS Auto-Referral Loop (7d post-gallery, 3-tier auto-fire actions)

    2026-04-22
    AutomationAGV.VIZION

    nps_responses + nps_actions tables + trigger. 9+ → Google Review + Referral + Testimonial. 7-8 → follow-up call task. 0-6 → recovery + Alex DM. Vercel cron 17:00 UTC daily.

  • Vendor Performance Scoring Cron + Vendor Kickback Report

    2026-04-22
    AutomationAGV.VIZION

    Daily sync from Airtable Vendor Rolodex to Supabase cache + auto-demote alerts. Monthly Resend report to Alex with top ROI + one-sided partnerships.

  • Bride Anxiety Dashboard (portal page + milestones lib + 20 seeded quotes)

    2026-04-22
    PortalAGV.VIZION

    19 milestone library + planning progress % + next 3 actions + stage-matched bride quotes. 20 anonymized quotes seeded across 5 stages.

  • Bride Lead Magnet Kit — 5 PDFs + landing page + 7-email nurture sequence

    2026-04-22
    Content/MarketingAGV.VIZION

    Replaces 17 dump cards. 5 PDFs rendered via headless Chromium (Cormorant + DM Sans). /wedding-resources landing + /tools/timeline-builder + /tools/start-time + /api/lead-magnet-signup. Nurture sequence in agvvizion-saas/src/lib/emails/bride-lead-nurture.ts.

  • AGV Bench Directory — public /team page + agv_bench_directory table + Alex seeded

    2026-04-22
    MarketingAll

    Public bench directory doubles as recruiting pitch. Alex seeded as first entry. Pending: Alex adds more team members when ready.

  • Pipeline Bot Post-Call Recap v2 (aligned to Sales Call Kit) — LIVE Railway

    2026-04-22
    AutomationAGV.VIZION

    Deployed to Railway robust-fascination service. SMS + email recap fires 15 min post-call. Wired to Sendblue + Resend.

  • Lead Magnet Signup API + Bride Lead Nurture 7-email sequence (21 days)

    2026-04-22
    AutomationAGV.VIZION

    Landing form capture → Supabase leads upsert → 7-email drip (Day 0/2/5/9/13/17/21) → Alex voice humanized. LIVE.

  • Competitor Dynamic Pricing Monitor (monthly cron)

    2026-04-22
    AutomationAGV.VIZION

    Monthly scrape of 30 competitor CA websites for published pricing. Diffs vs prior month. Telegram alert if market median drifts >15%.

  • Weekly DUMP Triage Cron (productizes triage session)

    2026-04-22
    AutomationAll

    Monday 17:00 UTC cron scans new DUMP cards, classifies via keyword rules, routes to NOISE/QUEUE with bundle tags. Telegram summary.

  • Email compliance wired into remaining 5 crons

    2026-04-21
    Infra/SecurityAll

    sunday-sneakpeek, voice-memo-reveal, padrino-reminders, fap-invite-drip, fap-anniversary now all use ensureComplianceGate() + appendFooterToHtml(). All 10 email-sending crons are now compliance-gated. Includes migration-less schema fixes: MemoRow adds business_id, archive_invites select adds busines

  • /admin/unsubscribes compliance audit view

    2026-04-21
    Tooling/SkillAll

    Sorts opted-out vs still-subscribed. Per-row channel, scope, source (which cron provisioned the token). CAN-SPAM + GDPR audit trail for regulators. Linked from /admin/all Ops section.

  • REC-K Gallery paywall teaser (migration 078 + /teaser/[slug])

    2026-04-21
    Tooling/SkillAGV.VIZIONAGV.QUINCE

    Public blurred-preview page. Reads up to 5 gallery_photos.is_sneak_peek=true per client. CSS blur + CTA. unlock_mode enum (balance_paid / shared_three / balance_or_share / time_release). gallery_teasers table with partial UNIQUE(client_id) WHERE active=true — one live teaser per client. Atomic view-

  • Stripe receipt email cron (migration 079)

    2026-04-21
    Tooling/SkillAll

    Hourly cron reads stripe_receipt_log for unsent rows, sends branded AGV receipt via Resend. Scope=transactional (receipts are compliance-safe). Webhook receiver that inserts rows is a separate build — logged as Manual Task. Cron idles gracefully until wired.

  • Stripe receipt webhook insert (extends /api/webhooks/stripe)

    2026-04-21
    Infra/SecurityAll

    Extends the existing comprehensive Stripe webhook at /api/webhooks/stripe to ALSO insert stripe_receipt_log rows on checkout.session.completed. Fire-and-forget pattern. UNIQUE(stripe_session_id) dedupes retries. No new webhook signature needed. Closes Manual Task recEOhQXz5giqgLEV. The hourly stripe

  • REC-I Pre-wedding timeline PDF — /portal/[clientId]/timeline-pdf

    2026-04-21
    Tooling/SkillAGV.VIZIONAGV.QUINCE

    Print-CSS adaptive 18-slot wedding-day shoot plan. buildTimeline() takes ceremony time + guest count + venue → generates times for getting ready, first look, ceremony, formals, cocktail, dinner, toasts, golden hour, send-off. Portrait-orientation print layout. Browser-native Save-as-PDF via window.p

  • REC-J Competitor-watching cron (migration 080)

    2026-04-21
    Tooling/SkillAGV.VIZION

    Weekly Mon 10:00 UTC. competitor_watch_handles seed list + competitor_watch_venues dedupe log (UNIQUE(business_id, normalized_name)). Calls Apify apify/instagram-profile-scraper sync-run. For each new venue found → drops Trello card to TRELLO_VENUES_TO_PITCH_LIST_ID. Graceful no-op when APIFY_TOKEN

  • /admin/empire-metrics weekly pulse (WoW %)

    2026-04-21
    Tooling/SkillAll

    New 6-metric panel at top of empire-metrics: bookings, sneak peeks, padrinos chat, voice memos, NPS responses, short-link clicks. Each shows this-7d + prev-7d + % change with green/red tone border. pctChange() handles zero-base prev-period correctly.

  • Stripe cancellation -> SYSTEMS install forfeiture

    2026-04-21
    Infra/SecurityAGV.SYSTEMS

    Extended /api/webhooks/stripe customer.subscription.deleted handler to stamp subscription_canceled_at on any systems_installs row. Daily vesting cron then auto-forfeits. Closes the annual-billing clawback loop end-to-end. No new webhook signature.

  • Multi-channel notify() router src/lib/notify.ts

    2026-04-21
    Infra/SecurityAll

    One function, one intent -> routes to Slack/Telegram/Trello/email based on urgency. 4 urgencies (info/action/urgent/critical) map to which channels fire. Every cron now wires notifications via this router. Consolidates 10+ ad-hoc integration points. notifyAsync() for fire-and-forget.

  • Empire digest Slack fanout + /admin/overview one-scroll dashboard

    2026-04-21
    Tooling/SkillAll

    Empire digest cron now also fires notify() to Slack. New /admin/overview = morning-coffee dashboard with action queue + revenue snapshot + weekly pulse. One page Alex opens before anything else.

  • Content-hook generator + 15 retroactive Built Showcase cards

    2026-04-21
    Content/MarketingAll

    src/lib/content-hook.ts generates 3+ hook variations per build in Alex's tone (no dashes, first-person, Nate Herk patterns). Retroactively posted hooks for the 15 most impactful builds from this session to Trello Content board 'Built Showcase' list 69e48ab77b0a01bb03b6c6d2. New standing rule: every

  • REC3-F Cron-health Slack alerter (migration 081)

    2026-04-21
    Infra/SecurityAll

    Every 3 hours. Classifies 15 cron probes green/yellow/red. cron_alert_state dedupes so a down cron alerts once per down-period. Fires notify({urgency:urgent}) on green->red transition, notify({urgency:info}) on recovery. First push-based cron observability in the stack.

  • REC3-A Client lifecycle auto-stager (migration 082)

    2026-04-21
    Tooling/SkillAGV.VIZIONAGV.QUINCE

    Daily 03:00 UTC. Moves clients.status lead -> deposit_paid -> planning -> final_month -> week_of -> wedding_day -> editing -> delivered based on signals (balance, wedding_date, gallery_delivered_at). Logs every transition to client_status_log with reason. Removes a manual check I'd been doing every

  • REC3-H Revenue leak detector (migration 083)

    2026-04-21
    Infra/SecurityAll

    invoice.payment_failed webhook now inserts into payment_failures ledger. Daily 08:00 UTC revenue-leak-detector cron fires T+2d action notification + T+5d urgent escalation via notify() router. invoice.payment_succeeded auto-stamps resolved_at. Zero money leaks silently anymore.

  • REC3-J Empire activity feed on /admin/overview

    2026-04-21
    Tooling/SkillAll

    Live-feed panel unions 10 tables (bride_nps, padrino_messages, voice_memos, sunday_sneakpeek_log, ambassador_referrals, content_subscriptions, gallery_share_notifications, stripe_receipt_log, payment_failures, client_status_log). Sorted by most-recent, capped at 20. Every morning Alex opens /admin/o

  • REC4-J Portal everything bundle /portal/[clientId]/everything

    2026-04-21
    PortalAGV.VIZION

    Every-doc-one-page view: contract, invoices/receipts, timeline, voice memo, gallery link, payment schedule, padrinos, referrals. Single print-friendly surface. File: src/app/portal/[clientId]/everything/page.tsx. Reduces support emails. Manual Task open to add 'Everything' tab to src/components/port

  • REC4-A Portal link shortener /p/[code]

    2026-04-21
    PortalAGV.VIZION

    8-char base62 short codes resolve ugly portal URLs. New portal_short_links + portal_click_tokens tables (race-safe per-click token pattern). Files: src/app/p/[code]/route.ts, src/app/api/admin/portal-short-links/route.ts, src/app/(dashboard)/admin/portal-links/page.tsx + PortalLinkForm.tsx, src/app/

  • REC4-L /metrics/open public transparency page

    2026-04-21
    MarketingAGV.VIZION

    12-metric public transparency dashboard: voice memos, weddings shot, NPS 10s, padrinos paid, referrals, etc. ISR hourly. Zero PII — only aggregate counts. File: src/app/metrics/open/page.tsx. Moat: competitors can't fake these numbers. Will be footer-linked (Manual Task added).

  • REC3-B Revenue forecast /admin/revenue-forecast

    2026-04-21
    AdminAGV.VIZION

    CEO-level 12-week rolling cashflow forecast. Reads clients.package_amount, balance_cents, wedding_date, status. Weekly bars: confirmed (deposits paid) vs at-risk (pending) plus MRR overlay. File: src/app/(dashboard)/admin/revenue-forecast/page.tsx. Listed in /admin/all catalog. Pure server component

  • REC3-E Portal in-app notifications (bell + feed)

    2026-04-21
    PortalAGV.VIZION

    Bride-native bell + feed inside the portal. Floating top-right button with unread badge + dropdown feed. Timing-safe portal_token auth on GET + POST mark-read. Rate-limited 30/min. sessionStorage token cache so in-portal nav (without ?k=) stays authenticated. Migration: portal_notifications (applied

  • REC4-G Churn-risk weekly scoring + /admin/churn-risk

    2026-04-21
    AdminAGV.VIZION

    Weekly cron + admin page. Four weighted signals: portal inactivity 40%, payments 25%, health deficit 20%, opt-outs 15%. Top 5 >40 pings Slack. Gemini adversarial review: 9 findings addressed across 4 rounds (pagination, health ordering, opt-out max-not-sum dedupe, chunk visibility, 3 aux-query error

  • REC5-K Portal notifications archival cron (90d)

    2026-04-21
    PortalAGV.VIZION

    Weekly Sun 10:00 UTC. Batched 5k/query, 500k/run cap + more_remaining flag. Generic-error tags in response. Replay-mitigation via cronLimiter. Gemini CLEAN (6 findings across 5 rounds). Commit e41746b.

  • REC5-J Admin portal nudge composer

    2026-04-21
    AdminAGV.VIZION

    /admin/portal-nudge — client search + title/body/link composer + recent-nudges feed. API at /api/admin/portal-notifications. Prod requires ADMIN_API_SECRET (401 on missing). linkUrl relative-paths-only (no open-redirect). Icon regex whitelist. Rate-limited 30/min. Gemini CLEAN (6 findings across 5 r

  • REC5-F Padrino-paid → portal bell (first emitter)

    2026-04-21
    PortalAGV.VIZION

    First live emitter for REC3-E. notifyClientAsync fires after padrino-paid webhook succeeds. Dedupe by Stripe session.id. Also fixed pre-existing STRIPE_SECRET_KEY non-null assertion + createServiceClient try/catch wrap. Gemini CLEAN (3 findings across 3 rounds). Trello: IIFyj9HH. Hook: 7VDz0U2h. Com

  • REC5-G Bell click-through analytics + /admin/notifications-health

    2026-04-21
    PortalAGV.VIZION

    clicked_at column + v_portal_notifications_intent_stats view + admin page. trackClick keepalive fetch in bell. CLEAN Gemini. Commit 33e2ae8.

  • REC6-M /send-nudge skill (CLI shortcut)

    2026-04-21
    AutomationAGV.VIZION

    ~/.claude/skills/send-nudge/SKILL.md. Wraps POST /api/admin/portal-notifications with ADMIN_API_SECRET auth. Client-name → UUID lookup, validation, result report.

  • REC6-B Gallery-published bell emitter

    2026-04-21
    PortalAGV.VIZION

    notifyClientAsync in deliver-gallery. Two intents gallery_published + sneak_peek_ready. Dedupe per client+type. Also fixed 4 pre-existing findings: ownership check, logged catches, partner-name escape, galleryUrl https-only validation. Commit 2ab2a7a.

  • REC6-O Daily notifications digest Slack cron

    2026-04-21
    PortalAGV.VIZION

    20:00 UTC daily. Slack one-liner on last-24h engagement. Zero-day ping on silence. cronLimiter replay-safe. Commit 2ab2a7a.

  • Trello 🧰 Build Log list + 10 cards live on ALEX CEO board

    2026-04-20
    Infra/SecurityAGV.SYSTEMS

    Created ‘🧰 Build Log’ list (id 69e66f53fb8a3c2aefad71d4) on the ALEX CEO TO-DO board. Posted all 9 queued cards + bonus Manual Tasks pointer. Trello config updated. Claude will post directly to this list for all future impactful builds per the standing rule.

  • AGV.Systems /systems page seeded with 8 flagship entries

    2026-04-20
    Content/MarketingAGV.SYSTEMS

    The /systems page was already built (pulls Airtable tblyGkpSkH2cQ5rTX). Was empty. Seeded 5 Flagships (FAP, Padrinos, NFC, Twin, Codex) + 3 Showpieces (Monday Briefing, Photo of Month, Referral Reconciler). Each has Name + Hook + What It Does + Category + Who It Helps + Stack + Story + Price + Pitch

  • Voice Memo Journey — wedding-day reveal

    2026-04-20
    OtherAGV.VIZION

    Bride records 60-90 sec message at booking, locked in vault, auto-delivered on wedding day at reveal_at. Migration 043 applied live. Files: supabase/migrations/043_voice_memos.sql, src/lib/emails/voice-memo-reveal.ts, src/app/api/cron/voice-memo-reveal/route.ts (hourly 0 * * * *), src/app/api/voice-

  • Sunday Sneak-Peek Ritual — 48-72hr post-wedding email

    2026-04-20
    OtherAGV.VIZION

    Monday 03:00 UTC (Sunday 7-8 PM PT) email to every couple whose wedding was 1-3 days ago. One-time ever (UNIQUE(client_id)). Migration 044 applied live. Files: supabase/migrations/044_sunday_sneakpeek_log.sql, src/lib/emails/sunday-sneakpeek.ts, src/app/api/cron/sunday-sneakpeek/route.ts. Codex revi

  • Venue Wedding Film Library — programmatic SEO moat

    2026-04-20
    OtherAGV.VIZION

    One cinematic wedding film per California venue embedded on /venues/[slug] with VideoObject JSON-LD for video-rich Google SERPs. Migrations 045 (8 cols + 4 CHECKs + partial index) + 046 (XOR constraint) applied live. Files: src/app/api/venues/[id]/film/route.ts, src/app/venues/[slug]/page.tsx, src/a

  • AGV.CONTENT 3-Tier Subscription — inbound recurring revenue

    2026-04-20
    OtherAGV.CONTENT

    Three-tier Stripe subscription for AGV.CONTENT monthly retainers (Starter $1,497 / Growth $2,997 / Scale $4,997). Migrations 047 + 048 applied live. Codex rounds 1 + 2 completed — 7 total findings all fixed. Round 1 (5): event.created tie handling (>/lte), update-on-missing-row rowcount check + rele

  • CONTENT Vertical Landing Pages — Restaurants/Salons/Real Estate

    2026-04-20
    OtherAGV.CONTENT

    3 vertical-specific landing pages (/content/restaurants, /content/salons, /content/real-estate) feeding into /content/subscribe. Single dynamic route /content/[vertical] with generateStaticParams = 3 SSG pages pre-built at deploy. Each page: vertical-specific hero, 3 pains, 5 deliverables, 3 script

  • Honeymoon Film Add-On — $1,950 portal upsell

    2026-04-20
    OtherAGV.VIZION

    $1,950 honeymoon film add-on surfaced as an in-context upsell on /portal/[clientId]/honeymoon. Extended /api/portal-checkout PRODUCTS enum with honeymoon_film ($195,000 cents fixed price, travel-inclusive CA/HI/MX). New HoneymoonFilmUpsell component uses useRef double-click lock. No new DB needed —

  • Planner Ambassador Program — 15% rev-share partnership system

    2026-04-20
    OtherAGV.VIZION

    Trojan-Horse partnerships — named referral links + 15% lifetime rev-share. Migrations 049 + 050 applied live. Files: /refer/p/[slug] (now service-role, HMAC-signed cookie), /api/ambassadors POST (returns referral_link + partner_stats_url with access_token), /api/ambassadors/[id]/attribute POST (cros

  • Spanish-First Landing Pages — /es/bodas /es/quinceaneras /es/padrinos

    2026-04-20
    OtherAGV.QUINCE

    Unlocks the Central Valley Latino market (70% of target). 4 Spanish-first landing pages (/es, /es/bodas, /es/quinceaneras, /es/padrinos) with hreflang alternates + Spanish metadata + ProfessionalService/Service/FAQPage JSON-LD. src/app/es/layout.tsx sets Spanish sub-root. Sitemap.ts updated. Copy is

  • Corte de Honor Add-On — $950 quinceañera upsell

    2026-04-20
    OtherAGV.QUINCE

    30-min formal portrait session of damas + chambelanes on quinceanera day, $950. Added corte_de_honor SKU to /api/portal-checkout PRODUCTS enum ($95,000 cents fixed, 40+ portraits description). Cancel URL routes to portal timeline tab. Zero CV competitor offers this as a named add-on. Similar pattern

  • AGV.AI Business Line Launch — /ai hub + 5 service pages

    2026-04-20
    OtherAGV.AI

    New AGV.AI business line launched with hub + 5 productized service pages. src/lib/ai-services.ts as single source of truth; /ai + dynamic /ai/[service] route pre-builds all 5 at deploy. Services: POC 7-day ($1,500), Concierge ($4,500+$299/mo), Photographer OS (from $2,500), Skill Marketplace ($49-$2

  • SYSTEMS Positioning Pages — /systems/why + /systems/benchmarks

    2026-04-20
    OtherAGV.VIZION

    Closes 3 of 5 SYSTEMS brainstorm ideas with 2 new public pages. /systems/why bundles install-in-a-day timeline (#1) + built-by-a-photographer moat (#2) + Claude Agent SDK positioning (#3) + Codex-review differentiator. /systems/benchmarks with seeded Top-10%-vs-median stats + AGV-vs-industry deltas

  • CONTENT Upsell Pages — Ads Add-On + Shoot Day of Trust

    2026-04-20
    OtherAGV.CONTENT

    Closes 2 more CONTENT brainstorm items. /content/ads-addon is $497/mo Meta ads add-on requiring active subscription — doubles ACV. /content/trust is 6-month commit with first shoot day credited back + transparent clawback + 30-day out. Both have FAQ JSON-LD and mailto CTAs. Sitemap updated. All 5 CO

  • Wedding → CONTENT Case Study Cron — empire flywheel #1

    2026-04-20
    OtherAGV.VIZIONAGV.CONTENT

    Empire flywheel loop #1 automated. Daily cron (0 18 * * *) scans clients with gallery_delivered_at in last 7 days, atomically claims via UNIQUE(client_id) on content_case_study_log, and POSTs a Trello card to Content Ideas list with couple+venue+5 pre-written reel angles + repurpose checklist. Migra

  • 6 Brainstorm Landing Pages — /kit /substack /quince-shop /mentor-box /philosophy /shop/hub

    2026-04-20
    OtherAGV.VIZIONAGV.QUINCEAGV.CONTENT

    6 landing pages covering 6 brainstorm items. /kit (VIZION #3 physical kit, PARTIAL — procurement pending). /substack (Top-15 #15, PARTIAL — Substack config pending). /quince-shop (QUINCE #1, PARTIAL — PDF + builder pending). /mentor-box (Cross-business #8 BUILT — $497 library, compilation pending).

  • Padrinos Group Chat (QUINCE #2) — portal-native bilingual

    2026-04-20
    Padrinos Split-PayAGV.QUINCE

    Migrations 053 + 054 live. padrino_messages + chat_access_token on padrinos + BEFORE-INSERT trigger + XOR-relax fix. API /api/padrinos/[packageId]/messages with 3 auth modes (padrino token, bride portal_token, admin Bearer), rate-limit keyed per-IP per-package to resist XFF starvation. Public chat p

  • CONTENT -> SYSTEMS Upsell (Cross-biz #2) — 30-day auto-email + landing page

    2026-04-20
    Content/MarketingAGV.CONTENTAGV.SYSTEMS

    Migration 055 live + partial index. /api/cron/content-to-systems-upsell daily 0 19 * * * with claim-then-send + permanent/transient classification. Email template escaped + personalized (first-name + tier label + promo code). Landing /systems/for-content-clients with promo code normalizer (XSS-safe)

  • SOP — Shared Content Creator Hire (Cross-biz #7)

    2026-04-20
    OtherAll

    Full hiring SOP for the first shared team member across VIZION + QUINCE + CONTENT. Role definition + 3 comp options (K salary + 10% rev share preferred) + audition structure (8-week Option-C trial with pass criteria) + dropbox/trello conventions + 3-day onboarding + 90-day scorecard. Year-1 financia

  • Wedding Photographer OS Landing (Top-15 #13) — productized niche

    2026-04-20
    Content/MarketingAGV.SYSTEMS

    /systems/wedding-photographer-os — photographer-niche SYSTEMS landing. 5 modules + vs-HoneyBook/Dubsado/Tave comparison table + 9-item install inclusions + not-a-fit excludes + 6-FAQ section. Product JSON-LD with 2 Offers ($2,500 install + $149/mo recurring) + FAQPage JSON-LD both via safeJsonLd. Pu

  • Unified Bilingual Portal MVP (Cross-biz #3) — preferred_locale + toggle + signed cookie

    2026-04-20
    Infra/SecurityAGV.VIZIONAGV.QUINCE

    Migration 056 live. i18n foundation shipped: src/lib/i18n.ts (dictionary + HMAC-signed cookie + timing-safe verify), POST /api/portal/locale, <LanguageToggle>, /portal/[clientId]/language settings page. Self-review caught 1 MEDIUM (non-timing-safe token compare on page) — fixed with tokensEqualSafel

  • CEO Collection $16,500 Landing (Counter-Positioning #1)

    2026-04-20
    Content/MarketingAGV.VIZION

    /ceo-collection — founder-shoots-it $16,500 tier anchor page. 12-item inclusions + 6-item CEO-only items + 5-item qualifiers + 6-FAQ section. Service JSON-LD with Person provider + FAQPage schema via safeJsonLd. Mailto CTA for consideration (no Stripe yet — high-tier always needs consultation). Adde

  • Admin Dashboard — CONTENT -> SYSTEMS Upsell Pipeline

    2026-04-20
    Tooling/SkillAGV.CONTENTAGV.SYSTEMS

    /admin/content-upsell — read-only pipeline view with 5 stat tiles + 5 section-grouped tables (eligible / incubating / sent-awaiting / converted / skipped). Reads content_subscriptions via service client. Inherits auth from (dashboard) layout. No new DB, API, or middleware. Follow-up: skip toggle + m

  • Admin Dashboard — Empire Metrics (one-screen health view)

    2026-04-20
    Tooling/SkillAll

    /admin/empire-metrics — 5-section empire health dashboard. Active-state counts across 13 tables (archive_passes, padrino_*, voice_memos, sunday_sneakpeek_log, content_subscriptions, planner_ambassadors + ambassador_referrals, content_case_study_log, venues published films, nfc_*). HEAD-count queries

  • Counter-Positioning #2 — /built-by-a-photographer landing

    2026-04-20
    Content/MarketingAGV.SYSTEMS

    Dual-industry authority page. Competitor grid (HoneyBook/Dubsado/Tave/PicTime/ShootProof vs AGV.SYSTEMS). 3 proof points + 4 moat explainers. SoftwareApplication JSON-LD with Person creator. Middleware publicRoutes. No new DB/API.

  • Counter-Positioning #4 — /documentary-style manifesto

    2026-04-20
    Content/MarketingAGV.VIZION

    Category-owning manifesto. 6 manifesto points + "what this is not / is" side-by-side + 3-question FAQ. Service + FAQPage JSON-LD via safeJsonLd. Owns "documentary-style wedding photography" long-tail SEO. No new DB/API.

Want to see tomorrow’s builds before they ship? Subscribe to the build-in-public substack.

Subscribe