Fullstack E-Commerce with AI Assistant & Internal Logistics
End-to-end e-commerce platform built with SvelteKit, Supabase, Midtrans, and Biteship featuring customer-admin chat, complaint handling, COD eligibility, personalization, and an AI shopping assistant grounded in the product catalogue. ๐ Android app available!

A full-stack Indonesian e-commerce platform built on SvelteKit and Supabase, spanning three audiences at once โ customers, store admins, and delivery staff โ with an AI shopping assistant, Midtrans payments, Biteship shipping, a PWA, and a native Android app.
๐ฑ Android Application Available
The latest Android build is installable directly through Expo:
๐ Install Tree Coffee Android App on Expo
Highlights
- Hybrid product search, not just
LIKEโ full-text BM25 combined with vector embeddings, HyDE query expansion, and an optional reranking pass (Voyage AI or Cohere). Relevance is composed from several signals rather than one, which is what makes a two-word Indonesian query return the right SKU. - A dedicated Go search microservice โ search was moved out of the app into
GO-toko-online, a Fiber service that keeps a read-only snapshot of active products in RAM behind anatomic.Pointer, answering queries with zero database hits. - An AI assistant with tool-use, not a canned FAQ โ
fastandexpertmodes over the OpenAI SDK, able to call tools, search the web, cite sources, and recommend products from live catalogue state. - COD gated by a real verification step โ cash-on-delivery eligibility is decided per area and confirmed by a WhatsApp OTP through Fonnte, so the riskiest payment method is the one with the strongest identity check.
- Three separate portals against one database โ customers, admins, and logistics staff each get their own surface, with role-based auth and real-time deactivation: banning an account takes effect while the session is open, not at next login.
- Shipping that reflects reality โ Biteship integration covering JNE, J&T, SiCepat and Anteraja with live tracking, alongside an internal courier zone for areas the aggregators price badly.
Key Features
- Catalogue and checkout โ category browsing, product detail with reviews, a cart persisted to localStorage, and a protected checkout flow through Midtrans Snap covering cards, bank VA, e-wallets, QRIS, and COD.
- Reviews, reactions and flash sales โ ratings with replies and likes, plus scheduled flash-sale campaigns with smooth horizontal scrolling on mobile.
- Live chat โ customer-to-admin messaging over Supabase Realtime, with an admin inbox, quick replies, and staff assignment.
- Admin CMS โ dashboard metrics, product CRUD with variants, stock and Tiptap rich text, category and banner management, content pages, theme customisation, complaints tracking, and revenue analytics.
- Logistics portal โ a separate login at
/auth/logistics-loginwhere delivery staff see orders ready to ship, update delivery status, and sync tracking through Biteship. - PWA plus native Android โ add-to-home-screen on iOS and an installable APK on Android, with the app detecting when it is running inside the native shell.
Tech Stack
- SvelteKit 2.50 + Svelte 5 (runes), TypeScript 5.9
- Tailwind CSS 4.1 + Skeleton UI 4.12
- Supabase โ Postgres, Auth (email + OTP, role-based), Realtime, Storage
- Midtrans Snap (payments) + Biteship (shipping)
- OpenAI SDK 6.22 โ
gpt-4o,gpt-4o-mini,text-embedding-3-* - Voyage AI / Cohere (optional reranker)
- Fonnte (WhatsApp OTP)
- Tiptap 3.23 + sanitize-html 2.17
- React Native + Expo (native Android client)
- Vercel (primary target), with Docker / Node adapters kept working
Status & Maturity
Active, and the largest project in this catalogue by both commits and lines of code. The web repository and the Android client are versioned separately, which is why the metrics below are reported in two columns rather than summed. There is no automated test suite on either side โ verification is manual against a live Supabase project, and that is the clearest gap in the project rather than an oversight to gloss over.
Measured Metrics
| Web Repo | Android App | |
|---|---|---|
| Commits | 220 | 52 |
| Date Range | 15 Feb 2026 โ 6 Aug 2026 | 26 Jun 2026 โ 4 Aug 2026 |
| Lines of code | 88,519 | 33,165 |
| Automated tests | none | none |