All work

    DefaultPathway

    Distressed-property intake routed straight into GoHighLevel

    ReactViteTypeScriptSupabaseMapboxGoHighLevelResendTailwind

    Role: Sole engineer — frontend build, GoHighLevel integration, lead routing, compliance pages. · Updated 2026-09-01

    What's actually in it

    68
    Modules in graph
    madge dependency graph of the source repo
    10
    Dependency edges
    deliberately flat — pages compose primitives directly
    9
    Routes
    three intake paths plus compliance and confirmation
    49
    Frontend deps
    production package.json dependencies

    The problem

    Homeowners in default and investors hunting those properties were landing on the same generic contact form. The client couldn't tell a distressed seller from a cash buyer until someone called them, which wasted the only window that mattered.

    What I built

    • 01Split intake into distinct routes — Sell Home, Save Home, and Investor Save Home — so the path a visitor takes is itself the qualifying signal.
    • 02Each path posts to GoHighLevel with the pathway, urgency, and property context attached, so the right pipeline and the right automation fire without a human triaging the lead.
    • 03Kept the whole front end deliberately flat: 68 modules, 10 internal edges, 9 routes. A marketing surface that changes weekly shouldn't have a deep component hierarchy.
    • 04Compliance pages (Terms, Privacy) and a dedicated Thank You route, because distressed-property intake is a regulated conversation and the paper trail matters.
    • 05Resend for transactional confirmation, Mapbox for property context.

    Building something in this shape? Book a 30-min scope call →

    Walkthroughs

    The developer POV video is the one worth your time — it walks the dependency graph, the route map, and the data layer rather than clicking through screens.

    Developer POV — architecture walkthroughWhy this graph is flat on purpose, and how the intake paths map to GHL pipelines.
    Product demoHomeowner and investor journeys end to end.

    Engineering decisions

    Route as qualification

    Rather than a form field asking 'are you an investor?', each audience gets its own URL. Ad spend routes to the matching path, and the pathway is known before a single field is filled.

    Intentionally shallow dependency graph

    68 modules but only 10 internal edges. Pages compose primitives directly instead of routing through shared layout abstractions. For a site the client edits weekly, a flat graph means a change never cascades.

    GoHighLevel as the system of record

    No parallel database. The lead exists in GHL and nowhere else, so the client's existing pipelines, calendars, and follow-up automations own it from first touch. One source of truth, no sync job to break.

    The surface

    There is no admin interior to show here, and that's the point of the build — the public funnel is the product. GoHighLevel is the system of record, so the screens below are the whole surface a lead ever touches.

    Landing hero — the fork between selling and saving is the first decision.
    Trust and process framing above the intake.
    Audience separation carried through the page.
    Sell Home path — posts to GHL with the pathway attached.
    Save Home path — different urgency, different pipeline.

    Want something built the way DefaultPathway was?

    Bring the problem, not a spec. 30-minute call — I'll tell you what it actually takes to build, what I'd cut, and what it costs. No decks, no discovery phase invoice.

    Related builds