// CASE STUDY · CARZZ
AUTOMOTIVE · B2B MARKETPLACECarzz
Everyone's inventory.
A deal between two.
A private trading platform for car dealers: shared inventory, chat, auctions and inventory requests.
A car dealer sells only what's on the lot. When a customer wants something else, the deal goes to someone else. CARZZ opens every other dealer's inventory to licensed dealers, at dealer prices, and lets them close between themselves: talk, negotiate, bid in an auction, request a car that isn't there — and sell more.
onezero built the whole product, in stages, from 2023 to today: a web app in three languages, a Python backend on MongoDB Atlas, smart search, chat with voice messages, an auction engine, targeted inventory requests, a recurring subscription, an admin console and SMS notifications.


- auction36HDefault duration · reserve price · tiered bid steps
- inventory request40Dealers at most in a targeted audience — by region, category and activity
- languagesHE · AR · ENFull RTL, Hebrew first
- subscription30 DAYSFree trial, then a recurring subscription through Cardcom
// 01 · What we built
A marketplace. Trading tools. A business.
CARZZ is not a classifieds board. It's a closed system for licensed dealers, where inventory is only the starting point — what matters is what happens between two dealers once the car is found.
- 01INVENTORY · SEARCH · CATALOG
The marketplace
Every dealer lists their inventory at a dealer price and a customer price. A feed of cars for sale, free-text search with smart filters and radius, a listing page with photos, video, inspection report and licence — and a public catalogue per dealership, with prices hidden from customers on demand.
- 02CHAT · AUCTIONS · REQUESTS
The trading tools
Dealer-to-dealer chat with replies and voice messages, timed auctions with a reserve and anonymised bids, inventory requests that reach only the relevant dealers, saved cars with private notes, and sold cars with profit and days-to-sale.
- 03SUBSCRIPTION · ADMIN · NOTIFY
The business & the system
A 30-day trial then a recurring subscription, trade-credit leads, in-app and SMS notifications, and an admin console for CARZZ: dealerships, users, listings, conversations, auctions, requests, an audit log and admins at three permission levels.
// 02 · The challenge
A market that runs on phone calls.
And on trust.
Used-car dealers work with each other all day — but on WhatsApp, by phone and from memory. For a system to replace that, it had to solve things an ordinary classifieds board doesn't:
- 01
Closed doors: only licensed dealers get in — dealer number, trade licence and company ID — and dealer prices never reach the end customer.
- 02
Find the right car fast: 'Corolla 2024 hybrid white up to 90k' has to work as a search, typos and distance from the lot included.
- 03
Negotiate like on the phone — voice messages included — but with history, the car in context and an alert when someone answers.
- 04
Sell fast without burning the price: a timed auction with a reserve, anonymised bids and automatic finalisation.
- 05
Ask for a car that isn't in the pool without spamming the whole country — only dealers who trade it, in the right region.
- 06
Be a business: trial, subscription, recurring billing, invoices — and an admin console for the CARZZ team.
All of it in right-to-left Hebrew, in Arabic and in English — on the phone, on the lot, between one customer and the next.
// 03 · The solution
One deal.
From listing to profit.
We built the system around how dealers actually close — not around a feature list. This is one deal inside CARZZ:
- 01
The selling dealer lists a car: photos (compressed automatically), video, dealer and customer price, licence, hand, mileage, inspection report
- 02
Another dealer types 'Corolla 2024 hybrid white up to 90k' — the system detects make, model, year, colour and price and turns them into filters
- 03
Results come back tolerant of typos, with distance from the lot and a 'high match' tag — and a car can be saved with a private note
- 04
A message is sent from the listing: chat with replies, voice messages, and an SMS alert to the other dealership
- 05
Or: the seller opens an auction — opening bid, reserve, 36 hours; bidders are anonymised ('Bidder #3'), reminders at one hour and ten minutes, automatic finalisation
- 06
No such car in the pool? An inventory request goes out — the system picks up to 40 dealers by region, category and activity, and widens after 48 hours
- 07
Closed: the car is marked sold with price, buyer and cost — and the sales board shows revenue, profit and average days to sale
A feed of dealer inventory: photo, dealer price, year, hand and mileage — and one search box on top. Dark, fast, built for a phone on the lot.

// 04 · Inventory & search
One car.
Two prices.
Every car on CARZZ carries a dealer price and a customer price. The dealer sees both; the customer — through the dealership's public catalogue — sees only what the dealer chose to show. Behind the search: an Atlas Search index with fuzzy matching, a radius filter from the lot, and automatic detection of what you typed.
- 01Free-text search that turns into filter chips
- 02Fuzzy make/model matching (one edit away), exact-match boost
- 03Radius from the dealership: 30 km by default, up to 300
- 04Dealership location from a locality table and OpenStreetMap, cached
- 05Recent searches replayed one-to-one
- 06Photos compressed and drag-ordered, a video per car
- 07Licence and expiry, inspection report, engine size, import type
- 08A public dealership catalogue with a share link — and a 'show prices' switch
// 05 · Auctions
36 hours.
The leading bid wins.
An auction opens from inventory: opening bid, reserve and duration. Bids rise in steps that depend on the amount, bidders appear as 'Bidder #' so the negotiation stays between the car and the money, and a background engine checks auctions every few seconds — sending reminders, ending on time, and opening a conversation between seller and winner when the reserve is met.
- 01Bid steps: ₪500 up to 50k, ₪1,000 up to 150k, ₪2,500 above
- 02Reserve price: 'sold' or 'reserve not met' at the end
- 03Anonymised bidders, 'leading in 3', 'outbid in 1'
- 04Reminders in the last hour and the last ten minutes
- 05Automatic finalisation with a lease — restart-safe, no duplicates
- 06The auction shows on the car in the feed and search ('in auction')
// 06 · Inventory requests
Looking for a car that isn't there?
Ask the right dealers.
An inventory request is the opposite of spam. The dealer describes what they want and the system builds an audience: dealers in the same district and adjacent ones, holding cars in that category, recently active — up to 40, scored and explained. Whoever has a match answers 'I have one' or with a message; after 48 hours without enough responses the audience widens.
- Scoring by district, adjacent districts and category
- Recent activity: listings and sales in the last 30 days
- Two audience tiers, automatic expansion after 48 hours
- Sent to N dealers, valid until a date, statuses: sent / responses / closed
- A 'I have a match' response with a car from inventory, or a message
- A shortcut from an empty search: 'send an inventory request'
The matching logic is pure and unit-tested — it can be tuned without touching the database.
// 07 · Chat & notifications
Negotiation like a phone call.
With history.
Every conversation on CARZZ starts from a car. Messages keep their context, you can reply to a specific one, delete your own, and send a voice message from the lot without typing. When a dealer messages, the other dealership gets an in-app and SMS alert — once, without duplicates.
- 01A conversation per car, with photo and dealer name
- 02Reply to a message, delete, optimistic 'sending…'
- 03Voice messages: record, pause, swipe to cancel
- 04Server-side HTML sanitising against XSS
- 05Notifications: messages, requests, auctions — today / this week / earlier
- 06SMS through an Israeli provider, with a dedupe key per event
- 07A deep link from every notification to the right screen
- 08Mark all as read, a count in the menu
// 08 · The business model
Trial. Subscription. Credit.
CARZZ is a business, not just a product. A new dealership gets a 30-day trial with every tool, then picks a plan. Payment goes through a secure Cardcom page, the subscription renews automatically at the end of each period, and renewal can be cancelled from the subscription screen. In parallel, a dealer who wants to finance a purchase leaves details for 'trade credit'.
- 01
30-day free trial — full access, no commitment
- 02
Monthly recurring subscription, quarterly and annual options
- 03
Cardcom: checkout page, webhook, a token for renewals
- 04
Expired? The screen locks and offers a plan — nothing is deleted
- 05
'Trial ending' reminders three days and one day before
- 06
A subscription event log per dealership
- 07
Trade credit: a lead form, an e-mail to the team, 'we'll call you back'
- 08
A sales page: revenue, profit, days to sale — 30/90 days, a year
// 09 · The admin console
CARZZ's
control room.
For the CARZZ team we built a separate admin console, with its own login and three permission levels: super admin, admin and support. Everything on the platform is visible from it — and every action is logged.
- Overview: live platform numbers
- Dealerships: verification, subscription, region, activity, dealer number
- Users and listings filtered by status and make
- Conversations and messages — viewed for support
- Auctions and inventory requests
- Outbound notifications
- An audit log
- Admins and roles
- Global Ctrl+K search
- Rate limiting on login attempts
The product's own visual language — dark, teal, fast — in the internal tool too.
// 10 · Design & principles
Three principles.
- 01
Dealers only
Sign-in by dealer number; trade licence and company ID at registration; verified dealerships; dealer prices that stay between dealers. Closed doors aren't a limitation — they're why dealers post real prices.
- 02
On the lot, on the phone
Dark so it doesn't glare in the sun, big cards for a thumb, a voice message instead of typing, saving with a note like 'check the test' or 'fits a client'. Desktop is the bonus; the phone is the product.
- 03
Three languages
Hebrew, Arabic and English from day one, with real RTL — not a translated English UI. Every string, every arrow direction, every number and date format passes through one language layer.
// 11 · The outcome
From one lot.
To a network of dealers.
CARZZ lives at dealers.carzz.co.il as the private trading platform of Israel's car dealers: shared inventory at dealer prices, a search that understands what you type, chat and auctions to close, inventory requests that reach the right people — and a trial-and-subscription business model that runs itself.
The product was built in stages — from 'CarTalk' in 2023 to the auction engine, inventory requests, subscription and admin of 2025–2026 — on the same codebase and database. That's how it continues: a dealer dashboard, credit, and more.
// 12 · Technology & capabilities
What's under the hood
One monorepo: a web app, a Python API, one database — and a lot of pure, testable logic.
- FRONTENDNext.js (App Router) · React · Tailwind
- I18Nnext-intl: Hebrew, Arabic, English, RTL
- BACKENDFastAPI · Pydantic · asyncio
- DATAMongoDB Atlas · Atlas Search with fuzzy
- GEOGeo search: radius, localities, OpenStreetMap
- AUCTIONSAuction engine with a background loop and leases
- MATCHINGAudience matching for requests — pure logic
- PAYMENTSCardcom: checkout, webhook, recurring billing
- MEDIAS3 for photos and video, Pillow compression
- NOTIFYSMS (Inforu) · e-mail (SendGrid) · deduped notifications
- SECURITYJWT, bcrypt, HTML sanitising, rate limiting
- OPSAnalytics events, structured logs, unit tests
// 13 · Building a marketplace or a B2B platform?
From a market idea
to a system that closes deals.
We build platforms where two sides meet — with search, chat, auctions, payments and an admin console — and stay with them from the first phase to the next version. Let's build yours.
Closed. Direct. Dealer to dealer.
