All projects
full-stack·2023·active

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
AK Diam homepage with loose diamonds behind the company name

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.

Interested in the implementation?

I’m happy to discuss the decisions behind this project.

More projects