Indonesia Store
A headless Shopify store for Asian groceries, built from scratch with Next.js
NextJS, Shopify, Supabase
2026

A trilingual online store for Indonesian and Asian food in Norway, built on headless Shopify with Next.js, Supabase and Tailwind. It also has a loyalty program, a warehouse app, and a lot of noodles!
Indonesia Store is the online shop of Scanesia, a Norwegian importer of Indonesian and Asian food since 1991. I designed and built the whole platform in about a month: a fast storefront on Next.js 16 (App Router, React 19, TypeScript, Tailwind CSS 4), with Shopify handling the catalog, cart and checkout behind the scenes. The store speaks three languages, Norwegian, English and Indonesian, with localized URLs, hreflang and server-rendered language tags. The catalog is managed from code: I wrote Node.js scripts on the Shopify Admin GraphQL API to create products, translations, GTIN barcodes, unit pricing and Google product categories. That makes it ready for Google Merchant Center. Shoppers get clean filter URLs (/butikk/nudler/indonesia), a cart synced with the Shopify Cart API, wholesale carton options and passwordless customer accounts through the Customer Account API (OAuth with PKCE). On the data side, I turned 150 product labels into structured data: ingredients, allergens and nutrition facts in three languages, following EU food-labelling rules. Everything lives in a Supabase (PostgreSQL) database that a future B2B store will also use. I also built "Banteng Coins", a loyalty program on Shopify webhooks and metafields with points, rewards, referrals and birthday gifts. The emails run on Brevo: double opt-in, welcome discount, abandoned cart and back-in-stock alerts. The blog runs on Shopify's native articles with Recipe structured data. Behind the store there is an internal warehouse app with email-code login and row-level security in Supabase. Every new order automatically prints an order sheet and a packing slip on the warehouse printer, and staff can print 10x15 cm box labels for a thermal printer. All the PDFs are generated with pdf-lib. The finishing touches: bot protection with Vercel BotID, SEO with JSON-LD, a sitemap, llms.txt and dynamic Open Graph images, and performance tuning with a custom Cloudinary image loader and inlined CSS. I even built a small tool with sharp and the OpenAI image API that turns phone photos into clean studio product shots. My favorite part? Watching the first real order print itself in the warehouse.
Contribution
Full-Stack Development, E-commerce Architecture, UX/UI, SEO, Data Engineering
Website
https://indonesia-store.no/Duration
1 month





