AKDiam
My first real project: designed, built and deployed alone in 20 days while learning React, and still live and maintained by me today.
- Role
- Designer, developer and deployment
- Duration
- 20 days (v1), rebuild ongoing
- Stack
- React, Next.js, TypeScript

Context
AKDiam is my uncle's company. They sell natural and lab-grown diamonds and jewellery, to private customers and to trade buyers. In March 2023, during my bachelor's, he needed a website, and I offered to build it.
At that time I had just learned React. I had never designed a website, never built one for a real business, and never deployed anything. I did all of it anyway, and I built the first version in 20 days. That version is still the one live at akdiam.com, and I still host and maintain it.
The first version
20 days
First version
From zero to a live site in March 2023
1
Developer
Design, development and deployment
3+ years
Live
Still running and maintained by me
The hardest part of this project was not one technical problem, it was that everything was new for me. Design, development, hosting, domain, deployment, I had to learn each of them while building. I learned all of it from YouTube and the internet, trying things, breaking them and fixing them again.
Looking back, this project taught me more than any course did. It was the first time something I built was used by a real business, and that feeling is what pushed me to keep building.
The rebuild
Now I'm rebuilding it with everything I learned since then. The new version is a Next.js app with Supabase, PostgreSQL and Drizzle ORM, and it's much more than a website. It's a storefront plus an admin panel to run the business.
- Catalog: diamonds and jewellery, each natural or lab-grown, with full diamond specs, certificates and 360° videos.
- Pricing: diamonds are priced per carat and the total is calculated, jewellery has fixed prices, and any product can be switched to "price on request".
- Enquiries instead of checkout: customers add pieces to an enquiry list and send it, and the admin can put an item on hold from the enquiry.
- Admin panel: dashboard, product and category management, drag and drop media, and roles for owner, admin and staff.
- Stock import: the company's stock sheet can be imported directly, so products don't have to be added one by one.
Enquiry flow instead of payments
Diamonds and fine jewellery are high-value products, and most buyers, especially trade clients, want to talk before they buy. An enquiry flow fits how the business actually works better than a checkout, and it keeps the site simpler.
Trade-off: Customers can't buy directly on the site.
Media stored outside the app
The host overwrites the app folder on every deploy, so uploaded images and videos would be lost. All media goes through one storage layer that saves files outside the deploy folder, with Supabase Storage as a fallback.
Trade-off: Backups of the media folder have to be handled separately.
What's next
The rebuild is almost finished. Once it's tested with the real stock and the owner is happy with it, it will replace the current site on akdiam.com.