Skip to content
Héctor Fonseca
Contents
Leer en español

Case study II

hxgon

hxgon is my own online store for hot wax for bicycle chains, shipping across Colombia. I built it from scratch instead of renting a platform like Shopify, so every future sale stays mine, with no monthly fee and no platform commission.

Role
Founder and sole developer
Year
2026
The home page: one product, explained before it is sold.
Plate II. The home page: one product, explained before it is sold.

Live since September 2026 and ready to sell, with payments by card, Nequi and PSE tested with real money, on a server that costs under ten dollars a month.

The problem

I wanted to sell one product, a chain wax that keeps a bicycle drivetrain clean and dry, without handing a share of every sale to a platform. Shopify and its peers charge a monthly fee and a cut, and while a small brand is still finding out whether people will buy, those costs eat the margin before there is one.

The store also had to speak Colombian: prices in pesos without decimals, payment methods people actually use here, and shipping to every corner of the country.

The solution

A store I own end to end. The catalogue, cart and orders run on Medusa, an open-source commerce engine, and the shop window is a Next.js site written for one job: explaining why wax beats oil and getting the chain into the cart.

Payments go through Wompi, from Bancolombia, so customers can pay with a card, with Nequi or by bank transfer through PSE. Every order confirmation, shipping notice and receipt is sent automatically by email.

I built it locally first and only rented a server once the store was ready to sell. Everything runs on one small machine, behind Cloudflare.

The outcome

  • The store has been live since 14 September 2026, ready to ship anywhere in Colombia.
  • Card, Nequi and PSE payments were tested end to end with a real transaction.
  • No monthly platform fee and no commission per sale, only the payment processor’s.
  • Hosting costs under ten dollars a month.
  • When the store went down for a few minutes, the logs showed it was a reload loop in the product page, not the server. It was found and fixed in a day.

Technical notes

The backend is Medusa v2 with PostgreSQL and Redis, in Docker, behind Caddy. Wompi is integrated as a custom payment provider: the integrity signature is computed only on the server, webhooks are verified by checksum and made idempotent in Redis, so a resent event never creates a second order. Money is stored as whole pesos and converted to cents in exactly one place. Each architectural decision is written down as an ADR.

The product page, with the price in pesos and interest-free instalments through Bancolombia.
Plate II.1. The product page, with the price in pesos and interest-free instalments through Bancolombia.