Skip to content
EbenKwete

AllSelected work

Products, platforms and the businesses behind them.

Not concepts or dribbble shots. Real codebases with real users, real payments and real uptime. The case studies below cover the problem, what I built and the engineering decisions behind it; the rest covers what each platform actually removed from someone's day.

Also shipped

Products of my own and platforms built for a client's operation: the storefront, the booking, the automation and the audience work that replaced whatever was being handled by hand.

Elyra beauty-tech storefront homepage featuring an LED skincare mask

Beauty & skincare

Elyra

Beauty e-commerce, end to end

A full direct-to-consumer storefront for an LED skincare brand: catalogue, checkout, editorial blog and an automated content pipeline. I own the design, the storefront, the admin and the infrastructure.

  • Storefront, catalogue and Stripe checkout with geo-aware pricing
  • MDX editorial blog on a scheduled publishing cadence
  • Drag-and-drop merchandising admin behind row-level security
  • Design, infrastructure and automation owned end to end
  • Next.js 16
  • TypeScript
  • Tailwind v4
  • Supabase
Ericeira Sense beginner course page: two coaches in wetsuits holding surfboards beside a pricing table for one, three and five lessons, with what the level covers

Sport & tourism

Ericeira Sense

Surf lessons, booked and briefed

A booking platform for a surf school in Ericeira. Students pick a level, a package, a coach and a slot, then pay online, and the waiver, the swell brief and the reminders fire on their own. Coaches run their groups from the same system.

  • Availability computed from roster, group limits and slots sold
  • Stripe checkout confirmed by webhook, never by the browser
  • Waivers, swell briefs and reminders timed to the lesson
  • Coach space with group lists and student progression
  • Next.js
  • TypeScript
  • Supabase
  • Stripe
Black Cat Cinema venues page: an audience seated in a floodlit Lisbon cloister facing an open-air screen at dusk

Culture & events

Black Cat Cinema

Screenings, tickets and the weather

Programming, ticketing, newsletter and private-hire requests for an open-air cinema, in one system. Audiences browse screenings by venue and buy a ticket, and when the sky cancels the night, the postponement, the notifications and the refunds run themselves.

  • Programming and ticketing across several open-air venues
  • Weather postponements with automatic notices and refunds
  • Newsletter and private-hire requests in the same system
  • Audience communications tied to each screening
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
Lisbon by Design site: an exhibition room with a stone side table, an upholstered chair and a sculptural bust, beside the fair's information navigation

Design & events

Lisbon by Design

Applications, exhibitors and the floor plan

An event platform where artists, galleries and designers apply, submit a portfolio and follow their selection. It also centralises exhibitors, spaces, sponsors, ticketing and the pre-event communications.

  • Application flow with portfolio submission and selection tracking
  • Exhibitors, spaces and sponsors managed in one place
  • Ticketing and pre-event communications
  • Content and partnerships scoped through the first 5,000 qualified followers in design and craft
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
Inside Marbella editorial: a guide to Marbella opening on a flower-lined old-town street, beside a sidebar of related articles

Media & hospitality

Inside Marbella

An audience turned into partnerships

A media platform rebuilt to convert its audience into commercial partnerships. A B2B funnel takes a venue from downloading the media kit to booking a call and receiving a proposal generated for its profile.

  • B2B funnel: media kit, qualification, call booking, generated proposal
  • Site, analytics and social accounts connected to attribute bookings to campaigns
  • Editorial support and performance reporting
  • Audience work scoped through the first 10,000 engaged followers
  • Next.js
  • TypeScript
  • Tailwind CSS
  • MDX
Ceramiche De Simone storefront: hand-painted red and white teapots and mugs on a laid table, over an invitation to find your mug

Craft & homeware

Ceramiche De Simone

Handmade ceramics, told properly

An e-commerce experience built around the colour, the collections and the hand behind them. Each piece carries an editorial page on its origin and how it is made, alongside workshop booking and digital certificates of authenticity.

  • Editorial product pages covering origin and process
  • Workshop booking alongside the shop
  • Stock alerts and personalised recommendations
  • Digital certificates of authenticity tied to purchased pieces
  • Shopify
  • Liquid
  • TypeScript
  • Shopify APIs
Athens Food on Foot homepage: a market stall stacked with vegetables behind the words Food Tours in Athens and a book-your-tour button

Food tourism

Athens Food on Foot

Food tours, in four languages

A multilingual booking journey where visitors filter experiences by dietary preference, language, group size and availability. Guide assignment, payments, pre-tour information and review requests all run automatically.

  • Multilingual booking filtered by diet, language, group size and date
  • Automated guide assignment and payment handling
  • Pre-tour information and post-tour review requests
  • Add-on offers matched to the traveller's profile
  • Next.js
  • TypeScript
  • Django REST
  • PostgreSQL
Les Caves du Père Auguste homepage: vines at sunrise under the line six generations of winegrowers since 1875, beside tasting and stay navigation

Wine tourism

Les Caves du Père Auguste

Tastings, cellar and stay in one place

The wine shop, the tastings, the accommodation and the private-event requests brought into a single experience. Visitors book an activity, buy the wines they tasted and arrange their stay without leaving the site.

  • Wine shop, tasting booking, accommodation and event requests unified
  • Buy-what-you-tasted flow linking the visit to the cellar
  • Segmented email flows automating post-tasting follow-up
  • A club built for returning customers
  • Next.js
  • TypeScript
  • Shopify Storefront API
  • Supabase
Frédéric Rent a Bike homepage: the shop's painted bicycle banner over the line bike rental, city tours, bike repairs and a rent-a-bike button

Rental & mobility

Frédéric Rent a Bike

Booking wired to real inventory

A rental platform connected to the actual fleet. Visitors pick a bike, accessories, a duration and options, then pay a deposit, while the team tracks what is available, out or in maintenance from one dashboard.

  • Booking bound to real inventory, with accessories, duration and options
  • Deposit handling and digital rental contracts
  • Return reminders, repair slots and guided-tour booking
  • Fleet dashboard: available, rented, in maintenance
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase