Client work · 2024–2026
Iberieli
One winery, two websites and the same developer
Visit the live site
In short
- Iberieli is a family-owned Georgian winery making natural wine in qvevri, selling to importers in Europe, Asia and to USA.
- I built their first website in 2024 and came back in 2026 to rebuild it as a server-rendered Next.js site with its own wine catalogue admin.
- Today the business adds, edits and hides wines without a developer, every wine has its own searchable page and each visitor sees distributors in their country.
2+ yrs
of working together, from the first launch to today
0
developer requests needed to add, edit or hide a wine
1 page
per wine, each with its own search snippet and product data
Timeline
- Feb – Jul 2024
First website: designed in Figma, tested with users, hand-coded in English and Georgian.
- 2024 – 2025
Paid revisions: SEO passes and content updates as the wine range grew.
- 2026
Full rebuild on Next.js with a database and an admin panel the business uses itself.
The client
Iberieli is a family business. They grow grapes, make wine the traditional Georgian way and sell to importers and distributors in other countries. Their website isn't a shop but more of a business card - viewing the website people in Germany or France know this business is serious.
So it has to look trustworthy, explain each wine properly (grapes, vinification, taste, food pairing) and make it obvious how to buy for importers.
2024: the first version
I started in February 2024, working directly with the head of the business. We designed in Figma, tested the layout with a few people outside the company and I hand-coded the site in HTML, CSS and JavaScript, in English and Georgian. It went live in mid-2024 on free hosting, so there was no monthly cost to the winery.
It did its job, but every new wine, new photo or corrected description needed me. As the range grew, that became the bottleneck.
2026: the rebuild
When the family asked for more changes, I suggested we stop patching and rebuild properly. These are the main decisions:
- A wine catalogue in a database, with a simple to use admin panel. The business can add a wine, upload photos, edit tasting notes, mark organic farming and hide a wine that's sold out.
- Server-rendered pages: Every wine page arrives as complete HTML, which search engines and link previews read correctly.
- Each wine has its own page with its own title, description, social preview and product data. A search for one specific wine can lead straight to it.
- "Where to buy" adapts to the visitor's country. A visitor from Poland sees the Polish distributor first, without a location pop-up.
- Privacy-friendly analytics: Measurement only loads after the visitor accepts cookies, so the family can see which wines get attention.
What changed for the business
The website is no longer something the winery waits on. Updating the catalogue now takes minutes, done by the people who know the wine best. When I'm involved now, it's to add new capabilities, not to fix a typo.
Under the hoodFor developers ↓
Next.js 16 App Router with server components, Neon serverless Postgres through Drizzle ORM, Cloudinary for images, and a small custom authentication system (JWT sessions with hashed passwords) instead of a third-party auth provider. That keeps the running cost close to zero for a business this size.
- Geo-aware distributors: a tiny API route reads the country header that the hosting platform already attaches to every request. No geolocation permission and no third-party IP lookup.
- Structured data: Organization, WebSite and a Product schema per wine, plus a generated sitemap and a robots file that keeps the admin out of search.
- Hide, don't delete: a visibility flag lets the family pause a wine and bring it back next vintage without losing its page.