Online store + integrated workshop, built from scratch for a Hero motorcycle dealership in Medellín.
The problem we solved
When a customer walks into Convergencia Motos with their Hero Xpulse, Splendor, or Hunk, there are two parallel needs:
- Buy parts or accessories — filters, spark plugs, helmets, cables, everything their bike needs.
- Leave the bike at the workshop — from an oil change to a full repair.
Most ecommerce platforms only solve the first. We built a platform that integrates both lines of business without the admin having to juggle 5 different tools.
┌─────────────────────────────────────────────────────────────┐
│ CONVERGENCIA MOTOS │
├────────────────────────┬────────────────────────────────────┤
│ │ │
│ ECOMMERCE │ WORKSHOP (internal sub-app) │
│ │ │
│ • Hero catalog │ • Bike intake │
│ • Cart + payments │ • License scan (OCR) │
│ • Order tracking │ • Quote and diagnosis │
│ • Email tracking │ • Process photo gallery │
│ • Wompi payments │ • Chat with customer │
│ (Nequi, card, │ • Signed PDF work order │
│ Bancolombia, PSE) │ • Public view for customer │
│ │ (no login required) │
└────────────────────────┴────────────────────────────────────┘
The ecommerce — what the customer sees
Buyer journey
Landing → Catalog → Product → Cart → Checkout → Wompi Payment → Confirmation
│ │ │ │ │ │ │
│ │ │ │ │ │ ▼
│ │ │ │ │ │ Email with
│ │ │ │ │ │ tracking link
└──────────┴──────────┴─────────┴─────────┴────────────┘
Frictionless navigation, optimized for mobile
What makes this ecommerce different
Multi-method payments via Wompi
- Credit / debit card
- Nequi (async payment via push notification on the customer's phone)
- Bancolombia Transfer
- PSE (any Colombian bank)
Smart shipping
- Dynamic rates configurable from the admin panel
- Free shipping above a configurable threshold
- Real-time quotes by city/department of destination
- Zones with specific rates + Envia API integration
Order tracking experience
- Customer receives an email with a unique link
- Public tracking page — no login needed (works for guest purchases)
- Auto-refresh while payment processes (critical for Nequi, which can take minutes)
- Email notifications on each status change: paid, shipped, delivered
Live promotions
- Configurable banners from admin
- Product discounts with start/end dates
- Configurable promotional popup for customers
- Coupons with custom rules
Abandoned cart recovery
If a customer leaves products in the cart and walks away, they receive an automatic email reminder. Reduces abandonment and recovers sales that would have been lost.
The workshop — the internal sub-app
This is the part no standard ecommerce offers. The workshop team uses an app within the same domain but with its own flow, designed for day-to-day operations.
Bike intake flow
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ CUSTOMER │ │ VEHICLE │ │ ORDER │ │ TRACKING │
│ │ → │ │ → │ │ → │ │
│ • Details │ │ • License │ │ • Services │ │ • Statuses │
│ • Phone │ │ photo │ │ • Prices │ │ • Process │
│ • Email │ │ • OCR auto- │ │ • Digital │ │ photos │
│ │ │ fills form │ │ signature │ │ • Chat │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
Features that accelerate workshop operations
License plate OCR scanning
Operator opens the order on desktop → a QR is generated on screen → operator scans QR with their phone → takes a photo of the registration document → Google Cloud Vision API reads the data (plate, engine, chassis, owner) → the desktop auto-fills the form in real time.
Eliminates 3–5 minutes of manual typing per bike and prevents transcription errors.
Public view for the customer
- When the order is created, a unique link (UUID token) is generated
- Customer opens that link from their phone — NO account needed
- They see: current bike status, process photos, totals, digital signature
- Can chat directly with the workshop from there
Process photo gallery
- Mechanics upload before/during/after photos of the work
- Customer sees them in their public view
- Full transparency: the customer trusts because they see what's happening
Signed work order PDF
- When the bike is received, a PDF is generated with all details + customer's digital signature
- Archived as legal backup
- Both parties have the document
Customer–workshop chat
- The customer can ask questions from their public view
- The mechanic replies from the workshop panel
- Reduces phone calls and leaves a written history
Architecture — how it's built
We didn't use a closed SaaS platform. Everything is custom code, built to last and scale.
┌─────────────────────────────────────────────────────────────────┐
│ FRONTEND │
│ Next.js 14 + TypeScript + Tailwind │
│ │
│ / /admin /workshop │
│ (public store) (admin panel) (workshop app) │
└─────────────────────────────┬───────────────────────────────────┘
│
HTTPS / REST
│
┌─────────────────────────────▼───────────────────────────────────┐
│ BACKEND │
│ NestJS + TypeORM + JWT │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Orders │ │ Payments │ │ Workshop │ │ Email │ │
│ │ │ │ Wompi │ │ │ │ (Resend) │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │Inventory │ │ Shipping │ │ Coupons │ │ Reports │ │
│ │(multi- │ │ Dynamic │ │ │ │ admin │ │
│ │warehouse)│ │ │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└───────────┬─────────────────┬───────────────────┬───────────────┘
│ │ │
┌────────▼────────┐ ┌──────▼──────┐ ┌────────▼────────┐
│ PostgreSQL │ │ Redis │ │ Google Cloud │
│ (orders, prods, │ │ (cache + │ │ Vision │
│ customers, │ │ sessions + │ │ (license OCR) │
│ workshop) │ │ OCR relay) │ └─────────────────┘
└─────────────────┘ └─────────────┘
External services
| Service | Purpose |
|---|---|
| Wompi | Payment gateway (cards, Nequi, PSE, Bancolombia) |
| Resend | Transactional email delivery |
| Google Vision | Registration document OCR |
| Envia API | Nationwide shipping quotes |
| Seenode | Hosting (staging + production) |
Why custom and not a template?
A generic template (Shopify, Wix) would work for selling products. But it can't handle:
- The workshop flow with OCR and digital signatures
- Dynamic shipping rates by Colombian zone
- Nequi and PSE payments integrated natively
- Multi-warehouse inventory dashboard
- Direct customer–mechanic chat
Building custom means the software adapts to the business, not the other way around.
Convergencia Motos
Parts and specialized technical service for Hero motorcycles.
Medellín · C. 50 #70-30, Laureles · Colombia