Client project
Synk Beauty: Korean beauty online store
A boutique design on a solid technical base: payments that tolerate failures, a cart that never loses products and search built for Spanish.

Figures
- ways to confirm a payment: webhook and a direct Stripe lookup
- 2
- catalog levels: brand, line and product
- 3
Challenge
Synk Beauty sells Korean cosmetics in Mexico, a crowded industry where yet another catalog with a cart is not enough. The challenge was twofold: a flawless checkout, with payments that did not rely on a single Stripe notification, a cart that kept its products on sign-in and search that understood Spanish; and a visual identity that felt like a boutique without giving up technical solidity.
Solution
- PostgreSQL full-text search with a Spanish stemmer and weights (name and brand first, then description and usage), with autocomplete and no Elasticsearch.
- A cart with a single entry point, which merges the anonymous basket into the user’s on sign-in.
- Stripe payments with a dual path: the webhook confirms the order and, if it never arrives, the success page asks Stripe directly and marks it as paid with no manual work.
- A brand, line and product catalog, with cross-brand categories and price and availability filters.
- A customer account with saved addresses, order history and one-click reorder.
- A custom design system, with its own palette, editorial typography and a translucent navigation bar.
- Multi-stage Docker and deployment with Coolify, with linting and tests against a real PostgreSQL on every change.
Outcome
Synk Beauty has a store that feels like a boutique and behaves like a serious system: payments are confirmed even if a notification fails, the cart survives sign-in, and searching for “moisturizing cream” returns what the customer is looking for.
What it is built with
- Django
- Python
- PostgreSQL
- Stripe
- Docker
- Coolify

