A jeweler was selling through Instagram and WhatsApp. Every piece was put on hold by message, prices were repeated twenty times a day, and nobody knew for sure what was still in the case. Half the customers wrote in English because they live on the other side of the border.
We built an online store that reads just as well on a phone as on a desktop, with the feel of a real boutique: cream background, copper accents and one large photo of the piece. At the top there is an ES/EN button that switches the whole site —copy, currency, even the day labels on the panel charts— without reloading. The customer picks her piece, the ring size when it applies, chooses home delivery or boutique pickup, and ends with a tracking number and a WhatsApp button with the order already written out.
We added a gallery where customers appear wearing their jewelry. They send the photo on WhatsApp, the jeweler uploads it from the panel and it stays "pending" until she publishes it, because the person's consent comes first. Each photo is linked to the piece being worn, so anyone browsing can tap it and go straight to buying it.
The panel is the heart of the system. It opens on today's sales, this week's chart against last week, the split by category and how many orders sit in each stage. Orders move from pending to delivered with one tap and the customer gets the update on her phone. There is also inventory with low-stock alerts, coupons, review moderation, downloadable reports, user roles —the owner sees amounts, the workshop only sees what to make— and a license serial tied to the domain.
It all runs on PHP 8 with MySQL, no Composer and no paid services: push notifications use keys generated during setup, and the system installs on any shared hosting through a four-step wizard that locks itself when it finishes.