Parkzy icon

Software · 2025

Parkzy

Driveways, garages, and private lots — booked in seconds from real people in your neighborhood. A peer-to-peer parking marketplace, live on the App Store with a 4.9★ rating and 2,400+ downloads. My company; built end-to-end.

Parkzy, Inc. · useparkzy.com

React NativeSupabaseStripeMapsi18n
★ 4.9
Rated 4.9 on the App Store — live in productionShipping as Parkzy: Find Parking Nearby

Skip the Search. Ping a Host Instead.

The whole product, frame-accurate: this walkthrough is rendered from code with Remotion — the same pipeline that renders Parkzy's App Store previews — so it's always the current app. The steps follow along as it plays; tap one (or scrub) to jump anywhere.

$15average spot — vs $40+ in stadium lots
<60sthe accept target — built for sub-60-second responses
100%in-app payment — no cash, no Venmo

Live map at useparkzy.com ↗

How It Works

01Drop a pin

Tell us where you're going. Search a destination — SoFi, USC, a friend's apartment in Echo Park. We surface hosts within walking distance.

02Ping hosts

One tap. Real humans respond. Parkzy pings every nearby host at once — hosts accept in real time — the matching system is built for sub-60-second accepts.

03Park & go

Drive up. Pull in. Done. Your host's address, access notes, and a live chat thread are waiting.

“I listed 12 of my spots on Parkzy and was able to successfully rent out all of them. They earned me $600 in just one night from an event.”
— five-star App Store review

On the App Store

Find a spot
Find a spot
Booked
Booked
Host earnings
Host earnings
Get started
Get started

The real App Store listing — “Stop Circling for Parking. Name your price and book a private spot in seconds.”

Parkzy: Find Parking Nearby Book Spots or Earn From Yours.
★★★★★ 4.9 · Travel · Free · v2.2
App Store ↗

For spot hosts

List in seconds

Put an unused driveway, lot, or private space online in under a minute.

Earn automatically

Get paid every time a driver parks — pricing, scheduling, and availability all in your control.

Accept from the lock screen

v2.2 — approve or decline a parking request straight from the notification, without opening the app.

For drivers

Guaranteed parking

Find a spot when you actually need it — book last-minute or reserve ahead.

Pay in-app

Apple Pay and Google Pay through Stripe. No cash, no Venmo, no sketchiness.

Talk to a human

A live chat thread with your host — access notes, voice messages, gate codes.

Under the hood

The shape of it

490 SQL migrations, 163 Supabase edge functions, and 3,989 commits in the first year — built and operated as sole engineer since Sept 2025.

One codebase, three platforms

React 18 + Vite + TypeScript, shipped to web, iOS, and Android through Capacitor 7 — with Capgo for over-the-air updates so a fix doesn't wait on app review.

Payments & identity

Stripe Connect for host payouts plus Stripe Identity for ID verification — the trust layer a stranger-parks-in-your-driveway marketplace actually requires.

Geospatial search

Mapbox GL with supercluster, so thousands of spots cluster and re-rank smoothly as you pan.

Tested, not hoped

6 Playwright end-to-end specs (guest booking, auth booking, pricing, Safari), Vitest units on the pricing engine, and a Deno test on the edge functions — all gated in GitHub Actions.

Data warehouse

A separate dbt + BigQuery stack lands PostHog, Supabase, and Stripe data in one place, so product questions get answered with SQL instead of vibes.

Disaster recovery — the part nobody sees

Parkzy runs on Supabase, which means Supabase is a single point of failure for a business that takes people's money. So there's a Terraform-managed AWS standby: an RDS Postgres 17 instance configured for logical replication to match Supabase's defaults, standby Lambdas covering the critical paths (auth, spot search, profile, payment methods, health check), and a GitHub Actions cron that syncs the database every four hours.

It's applied infrastructure, not a diagram — the Terraform state is on disk. Most solo products don't have a failover story. This one does, because a marketplace that can't take a booking is a marketplace that's dead.

The AI suite, shipped

All of it is in production, not in progress: semantic spot search (pgvector embeddings, with a backfill function), LLM-explained dynamic pricing, AI-graded listing photos, message translation, audio transcription, and AI-drafted support replies — all routed through one shared LLM/embeddings helper so every function gets model access the same way. That shared helper is the small, honest version of the model-access layer a platform team builds at real scale.

Live at useparkzy.com ↗.

A real ML pricing engine — not an API call

Dynamic pricing runs on a separately deployed Python service: a scikit-learn GradientBoostingRegressor behind FastAPI, Dockerized, with Prometheus metrics, health/readiness probes, and endpoints for pricing, hourly curves, retraining, and a booking-outcome feedback loop. It runs in shadow mode first — an operator sandbox compares the model's price against the live price on real inventory — and rollout is gated behind a master switch plus a per-host allowlist. An LLM explains the price to users; the number comes from the model.

Inside the machine

A 23-Agent AI Company

Parkzy is operated with a 23-seat AI organization: engineering seats, a board with a duty to dissent, and rituals engineered against sycophancy. It has produced 233 versioned PRDs. The agents propose — I decide.

The org chart

Twenty-three agent seats, each a written role definition with standing responsibilities: leadership (a chief-of-staff CEO seat that synthesizes into decision memos, plus a program manager), a five-seat board (market strategist, legal & risk, CFO, a wildcard — and a customer advocate, because the voice of drivers and hosts holds a board seat on purpose), eleven technical seats (frontend, backend, iOS, Android, UX, AI, DevOps, QA, data, security, and a collector whose whole job is making sure concerns never evaporate), trust & safety, and four marketing seats. Premium models take the judgment lanes; cheaper models take the scan-and-draft lanes.

The rituals

Weekly board meeting

Metrics get refreshed first, then six seats write positions independently — before a clash round where each seat must attack the most dangerous claim on the table. The CEO seat compresses it into a memo of at most three decisions, with dissent preserved verbatim.

Weekly engineering cycle

Twelve seats report evidence-backed concerns plus one mandatory challenge to another seat's work. A collector triages everything into a task board with a hard WIP cap of 10.

Marketing sprint

Every one to two weeks, the four marketing seats run the same propose-clash-decide loop on growth work.

The hard problem is sycophancy

A room full of agreeable AI agents is worse than useless — it launders your own biases back to you with confidence. So the mechanisms are the product: a duty to dissent written into the charter (“silence is a failed contribution”); independent-then-adversarial structure so positions form before they can converge; standing adversaries built into the seat definitions — the wildcard generates, the CFO finds the cheapest falsifying test; QA blocks, the CEO seat pushes ship-speed; trust & safety adds friction, the market strategist defends supply; evidence rules — no number without a source, and “unknown” is an acceptable answer, which kills the failure mode where confident agents out-argue correct ones; a dissent ledger where every decision carries a review-by date and seats earn credibility retroactively for dissents that proved right; and the collector guarantee — every raised concern lands on the board, in the backlog, or gets rejected in writing.

What it produces — and who decides

To date: 233 versioned PRDs, 35 dated decision memos, and shared state files (decision log, experiment queue, risk register, task board) that persist across sessions — the organization has memory. The boundary is explicit in the charter: no agent makes irreversible business decisions, spends money, or deploys to production on its own. Every seat advises, drafts, builds, or critiques; my cofounder and I make the calls. That's not a limitation of the system — it's the design. The interesting discovery after months of running it: the value isn't automation, it's structured disagreement on tap.