Skip to content
+ JB/04CASES ⁄ HOSTSHAREEST. 200601 ⁄ 06
2023 — nowFounding Engineer · Product + PlatformUnited States · RemoteReal Estate

Hostshare

A host-only home-exchange network for Airbnb hosts — designed and engineered end to end, from the design system to the deploy pipeline.

Role
Founding Engineer · Product + Platform
Team
Solo through beta · small team since
Engagement
Full-time · Embedded
Status
Shipped
Case
0106
Hostshare global network — "Explore thousands of member homes worldwide" gallery collage
01Context

What the engagement looked like.

Hostshare arrived with an idea, a founder, and no product. The brief: take a novel real-estate primitive — hosts trading nights in each other’s short-term rentals instead of paying cash — and ship something beta-worthy in under a quarter. It has since grown into a full production platform that I own end to end.

Design systemFull-stack platformNext.jsHonoTrigger.devStripeAI featuresAgent-native
02Problem

The problem on arrival.

No design system, no engineering patterns, no product surface — just a business model and a waitlist building in the background.

It could never be just a UI. A trustworthy marketplace where property and money change hands needs payments, identity verification, real-time messaging, calendar sync with the platforms hosts already use, a payout ledger, and the background machinery to keep all of it honest — built, and kept running, by essentially one person.

Hostshare global network — "Explore thousands of member homes worldwide" gallery collage
Fig. 01product still · hostshare
Hostshare marketing landing — "The smarter home exchange built for Airbnb hosts" over a dusk cabin hero
Fig. 02product still · hostshare
Hostshare explore — searchable property grid of member homes with per-listing pricing and ratings
Fig. 03product still · hostshare
Hostshare explore map — split list-and-map view with price pins across the western US
Fig. 04product still · hostshare
Hostshare trip detail — completed lighthouse-home stay with itinerary and price breakdown
Fig. 05product still · hostshare
Hostshare host dashboard — total saved, trips, nights stayed, and listing management
Fig. 06product still · hostshare
Hostshare integrations settings — connect PMS and host platforms like Hospitable, Guesty, Airbnb
Fig. 07product still · hostshare
Hostshare search — where/when/who guest picker with adults, children, infants, and pets
Fig. 08product still · hostshare
Hostshare member profile — verified identity, profile completion, and trip stats
Fig. 09product still · hostshare
Hostshare admin — internal listings table with verification and per-listing detail drawer
Fig. 10product still · hostshare
Hostshare blockout editor — per-year calendar of nights kept, with demand shading and prorated caps
Fig. 11product still · hostshare
Hostshare admin bookings — stays table with a trip drawer showing timeline, people, and nights moved
Fig. 12product still · hostshare
Hostshare admin — stacked trip, listing, and member record drawers opened side by side
Fig. 13product still · hostshare
Hostshare admin dashboard — ARR/MRR, active subscribers, booking GMV, and a growth funnel
Fig. 14product still · hostshare
03Process

How it came together.

6 phases, each one building on what the last one shipped.

  1. Weeks 0–2
    System first

    Typography, token primitives, and a component catalogue scoped to likely product needs — before touching a single screen.

  2. Weeks 2–6
    Flows as wireframes

    End-to-end host and guest journeys as low-fidelity wires, validated against the founder weekly and iterated.

  3. Weeks 6–16
    Vertical slices to beta

    Each slice shipped a working screen on real Hono + Postgres endpoints, not mocked data — then a pass on onboarding, empty states, responsive and motion. Flipped the switch for the waitlist at week 16.

  4. Post-beta
    From app to platform

    Grew the single app into a Bun/Turborepo monorepo — the API split onto Hono, a Drizzle/Neon data layer, and a three-tier GitHub Actions pipeline that gives every feature branch a full preview environment with its own database.

  5. Then
    The money & trust layer

    Stripe payments, Connect payouts and a credits ledger; Persona identity checks; and the webhooks plus reconciliation jobs that keep every balance and payout honest.

  6. Ongoing
    Real-time, sync & AI

    Two-way Airbnb calendar sync, real-time messaging over Ably, a notification pipeline across email and SMS, 40+ background jobs, and Claude wired into message drafting, review summaries, translation, and demand-scored blockout suggestions.

04Under the hood

The platform behind it.

  1. One monorepo, the right runtime per job

    A Bun + Turborepo workspace of 8 apps and 9 shared packages: a Next.js web app, Hono APIs on Vercel Functions, a Lambda@Edge CDN for images and calendar feeds, a Trigger.dev worker for durable jobs, and Python scrapers — all sharing one typed framework and Drizzle/Postgres data layer.

    BunBunTurborepoTurborepoTypeScriptTypeScriptNext.jsNext.jsReactReactHonoHonoTailwind CSSTailwind CSS
  2. A three-tier deploy pipeline

    GitHub Actions orchestrates every release. Each feature branch gets a full preview environment with its own Neon database branch; production is pinned to an immutable release tag and staged behind a DNS swap, health-checked with one-command rollback. Env is driven from AWS Secrets Manager, never touching production by accident.

    GitHub ActionsGitHub ActionsVercelVercelNeNeonAWSAWS
  3. An event, job & notification pipeline

    40+ Trigger.dev tasks — scheduled (exchange-rate refresh, nightly cleanup, payout reconciliation, calendar purge, offer expiry, dashboard snapshots) and event-driven — fan out into a notification layer that routes email, SMS and push through Customer.io and Twilio, mirrored to analytics and conversion APIs, with webhook retries.

    TrTrigger.devRedisRedisCioCustomer.ioTwTwilioPostHogPostHog
  4. Real-time messaging & Airbnb sync

    Host-to-guest messaging runs in real time over Ably. Calendars two-way sync with the platforms hosts already run — iCal feeds served from the edge plus Hospitable reconciliation — and Python enrichers pull listing data from Airbnb and VRBO.

    AbAblyAirbnbAirbnbHsHospitableMapboxMapbox
  5. Payments, payouts & trust

    Stripe runs subscriptions, Connect payouts and a credits-and-wallet ledger; Persona handles identity verification; and a web of webhooks and reconciliation jobs keeps every balance, payout and booking honest.

    StripeStripePePersonaPostgreSQLPostgreSQLDrizzleDrizzle
  6. In-product AI, tastefully applied

    Claude powers message drafting and enhancement, review summaries, translation, offer-instruction compiling, and the demand-scored “suggest my blockouts” calendar — each wired as a job, not a chat box.

    ClaudeClaude
  7. Built to be run by agents

    The repo itself is engineered for AI: a shared CONCEPTS.md domain vocabulary, a skills and slash-command system, MCP scaffolding, and a documentation system that compounds learnings — so features ship faster the longer the project runs. Observability is OpenTelemetry tracing, structured logs, and PostHog, on compute region-pinned next to the database.

    ClaudeClaudeModel Context ProtocolMCPLinearLinearOpenTelemetryOpenTelemetryPostHogPostHog
05Outcome

What shipped.

Public beta shipped on schedule with 1,000 accounts drawn from a 10,000-deep waitlist — on a platform that now spans a typed Bun/Turborepo monorepo, a three-tier deploy pipeline, 40+ background and scheduled jobs, real-time messaging, Airbnb calendar sync, Stripe payments and payouts, and Claude-powered in-product AI. The system laid down in the first weeks has absorbed every one of those without a rewrite.

0
Accounts at beta
0+
Background & cron jobs
0
Apps in the monorepo
0
Deploy environments

Need this kind of ownership?

Open to full-time product engineering roles and select consulting engagements.

Other casesAll cases ↗