
Who
I watch real estate agents make a quarter to a third of their income on referrals and still track those deals in spreadsheets, group texts, and vibes.
That is not a CRM problem. That is a referral accountability problem. Who sent it. What fee was agreed. What stage the deal is in. Whether the check showed up when it closed.
Reaferral is for licensed agents who are tired of losing money to ambiguity. Solo producers who want a link in the email signature that actually attributes. Team leads who need roles and a shared pipeline. Builders who already speak Next.js, Convex, and Clerk and want the vertical product without another Electron tray.
If your week includes "did that referral ever close" and a half-finished Google Sheet. that is the room.
What
I built Reaferral: an agent-to-agent real estate referral platform.
Stack on the wire: Next.js 16.1.6 (App Router, Turbopack), Convex for the reactive backend, Clerk for auth, Tailwind v4, Radix/shadcn-style UI, Recharts, PostHog, Sentry configs, Resend, Stripe Connect routes. Bun monorepo. Workspaces: web (reaferral-web 0.1.0) and mobile (Expo reaferral-app 1.0.0). Hosted at reaferral.vercel.app. GitHub repo private under HurleyUS.

What ships in the product surface:
Referral tracking. create, send, receive; fee percent or flat; status through the deal.
Trackable links. short codes under /r/[code], click analytics, campaign names.
Pipeline. lead to active to under contract to closed (and payout adjacency in schema).
Teams. slugs, invites, roles (owner/admin/financial/assistant/member), pending joins that survive signup.
Messaging. per-referral threads in Convex.
Twelve dashboard themes. neumorphism, gradient-wave, dark-pro, inman-style, minimal-light, plus brokerage-inspired skins (Keller Williams, RE/MAX, Zillow, eXp, Trulia), Raycast, Brutalist.
Content engine. 423 MDX files under web/content/stories/. Linguist says MDX is ~76% of the repo by bytes. The landing still says "66+ Expert Articles." The filesystem disagrees in the agent's favor.


Public GTM pages: Inman-style editorial landing (orange LIVE strip, green REAFERRAL wordmark, navy stats band), Features, Stories, Investors. Auth: Clerk sign-in/up to /dashboard.


Positioning in the ProductHunt/HN drafts on disk: core tracking free forever; premium later (follow-ups, agreements, payment tracking). I am not pretending the Stripe Connect routes mean the billing story is finished.

Where
It runs on Vercel at reaferral.vercel.app. Clerk on the live deploy is still a dev instance (pk_test_…), the marketing pages render signed-out; the dashboard sits behind auth.
Repo: HurleyUS/reaferral. Private. Branch main. HEAD at pack time 8ba157a. 501 commits. Zero GitHub Releases. MIT license file present (copyright line dated 2021).

The audience sits next to agent networks, Inman-shaped media, and the same Convex/Clerk/Vercel family I use elsewhere, not next to "what is a referral fee" explainers.
Chrome extension lives in a sibling repo (michaelmonetized/reaferral-chrome-extension). Not this pack.
When
2024-08-07. init.
2026-01-08. Docs snap into focus: OPPORTUNITIES, PLAN, README. this is a real-estate referral platform, a tracked referral pipeline.
2026-02-04. The real ship week. feat: complete Convex backend and core web app. GitHub repo created. Landing design variants. Vercel monorepo wiring. Clerk to Convex user sync.
2026-02-05–06. Theme system expands. Features + Stories infrastructure. Investors, privacy, terms. Shared chrome. Mobile-friendly dashboard.
Late February through April. The content firehose. Hundreds of content: add new story commits. 413 of them by pack count. Journal becomes the bulk of the tree.
2026-02-27 onward. Security passes. auth checks on mutations, collect bounds, Svix verification on Clerk webhooks, console cleanup for production.
2026-05–06. CI thrash (Blacksmith) then removal; promo banner overlap fix; nightly commits.
2026-08-08, morning Eastern. X-Robots-Tag set to index, follow, then three unblock fixes so production deploy stops choking. Last push. That is the clock stop for this pack.
2026-09-08. Pack day. Site up. og-image.png 404s. Draft only. no blog publish, no social blast, no git push from this task.
Why
Because referral income is real and the tooling agents use for it is mostly improvisation.
Because I already had the Convex/Clerk/Next pattern and the missing piece was the vertical: links, fees, stages, teams, and a journal that attracts the people who feel the spreadsheet tax.
Because shipping 423 MDX stories into a private monorepo is a weird flex and also a concrete SEO loop, even when the hero still says 66+.
Because the badge of honesty here is the timeline: February MVP, spring content factory, August robots unblock, still private, still free-forever core, still no tagged release.
What dashboard or sheet are you still using to remember who owes whom on a referral?
