
Commerce · 2025 · Full-stack, April to July 2025
Truvanas
A supplement shop I built in Angular because the brand needed a cart, not another brochure.
They already had pretty pictures. They did not have a till.
April 2025 the brief was a health brand that could explain a bottle by concern (sleep, gut, energy) and then take money. A brochure is easy. A wishlist, an admin, and a card charge that does not leak keys is the actual job.
I built it in Angular 19 with standalone components because that is what the team around the brand could live with. Firebase Auth, Firestore, Storage. Cloud Functions mint Stripe customers and start checkout so the browser never holds the interesting secret. I also wrote a tiny Tkinter adder that validates product JSON before it is allowed near the database, because I have cleaned one too many 'almost a schema' spreadsheets.
July, and the shop finally behaved like a shop
Three months later you could browse, heart a product, pay, and an admin could change a title without me. The blog lives in the same login. Chart.js shows up where a dashboard needs a pulse. It is not Zafriya's velvet. It is a different stack doing the same honest thing: ship commerce, keep secrets on the server, let merchandising move without a release.
I still like this one when I want to prove I am not married to React. Same instincts. Different tools. A cart that works.