STABLE

Project Eko: A custom e-commerce store

A custom e-commerce store built for a high-end Nigerian luxury brand

SvelteKit Better-Auth Typescript SQLite

The client paid a premium to keep this work off my portfolio. So no screenshots or live link. What I can share is the thinking behind it, and that’s the part worth writing about anyway. I’ll call it Project Eko in this post.

The Brief

Project Eko is a high-end luxury brand targeting upper-middle-class and affluent Nigerian consumers with global reach. The founder came in with a clear instinct: he wanted a web presence that emitted culture and prestige.

My first conversation with him ended with a recommendation to go custom. He approved without hesitation and the tone was set.

What We Decided Not To Build

This is where the real work happened, and the part I’m most proud of.

Before a single line of code was written, my design team and I went through a long curation process with the founder. We weren’t deciding what to build, we were deciding what to leave out. Luxury communicates through restraint. Every element that didn’t earn its place on the page was a liability.

Here’s a sample of what we cut, and why:

The founder pushed back on a few of these. We had honest conversations about conversion rates and SEO. I told him clearly that conversions are a marketing problem, not a design problem, and that optimizing for clicks on a luxury site was the wrong frame entirely. He came around. Those conversations mattered more than the code.

The Stack

SvelteKit + TypeScript for the frontend. Fast, lean, and it gives you the control you need when every interaction has to feel considered.

SQLite for the database [1] — a choice some engineers would question, but it’s the right one here. This is a read-heavy application. Customers browse, they don’t have accounts. They select, pay, and receive a confirmation email with their receipt and delivery date in a single transaction. The write load is minimal and predictable. SQLite is extraordinarily fast under those conditions, operationally simple, and eliminates an entire class of infrastructure complexity. A Postgres instance would have been engineering theatre.

Better-Auth for the admin panel and role-based access control. Open-source, self-hosted, full control over your own data. When you’re handling a client’s store credentials and order data, the last thing you want is a breach at some third-party auth SaaS taking you down with it. Better-Auth was a no-brainer.

Paystack handles Nigerian payments. Stripe handles global orders. The best providers, clean separation and rich documentation. The integration was straightforward once the product scope was locked.

How We Worked

This was a team effort between engineering and design. The design team led the visual curation. Engineering implemented that vision. The collaboration was disciplined.

Seamless execution came from planning. When the design is resolved you ship faster.

Where It Stands

The store is in staging. The founder wants to launch — and soon — but the timing is his call. It’s ready.

What I’d Take Forward

Building for luxury taught me that the best product decisions are often acts of removal. The instinct to add features, patterns, and fallbacks is strong. Fighting it deliberately, with a clear brief and a client who trusts you to have the hard conversations, produces better work.

And I’d do the curation session again on every project. Not just for luxury. For everything.


Footnotes

[1] A blog post I wrote on databases. Your team likely uses the wrong database