Mikheil Chkhvirkiaმიხეილ ჩხვირკია

12 · 2026 · Live

Wheel Swap

Preview wheels, paint colours and wraps on a photo of your own car before you buy them.

Live site ↗

The story

Wheel Swap is an AI car-part visualiser: a customer uploads a photograph of their car and a photograph of a wheel, a paint colour or a wrap, and gets back their own car wearing it. The rule the whole product is built on is edit, never generate: the output is always the customer's photograph with the shop's product edited in, and there is no text-to-image path anywhere. Wheels are found by a vision model seconded by a radial-symmetry transform, measured at 96.5% precision against published ground truth; a quality gate judges every render and refuses any that invented a wheel, retrying first and refunding when it still fails. The backend is .NET 10 with several image-edit providers behind one router, a credit ledger that never holds a mutable balance, Flitt card payments and 455 tests. Photos are deleted as soon as the render finishes. Georgian, English and Russian; live and in active development.

The customer sees the wheels on their own car before paying for them.

My role

Own product: backend, render pipeline, quality gate and the site.

With

Own product, in active development.

Stack

.NET 10 · Image-edit models · Vision detection · Flitt payments

How I built it
  1. Edit, never generate: every job is the customer's own photograph, the shop's reference photograph and an instruction. There is no text-to-image path anywhere.
  2. Wheels are located by a vision model seconded by a radial-symmetry transform: 96.5% precision against 194 published wheel boxes.
  3. A quality gate judges every render and refuses one that grew a wheel the photograph never had; a failed job retries, then refunds automatically.
  4. Credits live in an append-only ledger with two pots, plan and permanent, so a balance is always the sum of movements that say why.
  5. Georgian, English and Russian; card payments through Flitt, Google and email sign-in, 455 automated tests.