Arun
...
Portfolio
E-Commerce4 weeks· Full-Stack Developer

Etincelle Foods

Organic food, simply and beautifully sold.

Next.js 14TypeScriptTailwind CSSStripePostgreSQLPrismaVercel
Live Site

Problem

The Challenge

Etincelle Foods sold organic products through local markets with no online channel. Expanding nationally required a storefront that matched the brand's quality positioning — clean, editorial, and trustworthy — without the overhead of a Shopify subscription. The platform needed to handle product browsing, cart, checkout, and order confirmation end-to-end.


Contribution

My Role & Scope

Sole developer. Scoped the project with the founder, designed the data model for products and orders, built the full storefront and checkout pipeline, integrated Stripe, and deployed to Vercel with a CI/CD pipeline.


Features

What Was Built

Product Catalogue

Category-filtered product grid with ingredient lists, origin stories, certifications, and high-resolution photography.

Cart & Checkout

Persistent cart with quantity management, discount code support, and a streamlined Stripe Checkout flow.

Order Management

Admin dashboard for viewing orders, updating fulfilment status, and triggering transactional email updates to customers.

Brand Storytelling

Editorial landing page sections communicating sourcing philosophy, farming partnerships, and the brand's organic certifications.


Engineering

Technical Deep Dive

Challenge

Product pages needed to rank for ingredient and origin keywords without sacrificing dynamic personalisation.

Solution

Used Next.js generateStaticParams to pre-render all product pages at build time, then layered dynamic cart state client-side — best of static SEO and interactive UX.

Challenge

Stripe webhook reliability was critical — a failed fulfilment trigger would mean an unprocessed order with no customer notification.

Solution

Implemented idempotent webhook handling with a processed event log in PostgreSQL, retrying failed notifications safely without double-processing payments.


Reflection

What I'd Do Differently

E-commerce projects surface edge cases that generic SaaS products smooth over — partial payment failures, inventory race conditions, shipping address validation. Building this from scratch gave me deep respect for what platforms like Shopify handle invisibly. I'd evaluate build-vs-buy more carefully for commerce projects in future unless the client has specific customisation needs that justify the overhead.


Interested in building something similar?

Get in TouchBack to Portfolio