Skip to content
fullstack e-commerce-web-app featured

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!

fullstack โ”‚ live ยท treecoffee.amazthegreatape.fun ยท ai-assistantยท biteshipยท cod-logicยท e-commerce
Fullstack E-Commerce with AI Assistant & Internal Logistics
AI Assistant Biteship COD Logic E-Commerce Midtrans Realtime Chat Supabase SvelteKit

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 an atomic.Pointer, answering queries with zero database hits.
  • An AI assistant with tool-use, not a canned FAQ โ€” fast and expert modes 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

  1. 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.
  2. Reviews, reactions and flash sales โ€” ratings with replies and likes, plus scheduled flash-sale campaigns with smooth horizontal scrolling on mobile.
  3. Live chat โ€” customer-to-admin messaging over Supabase Realtime, with an admin inbox, quick replies, and staff assignment.
  4. 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.
  5. Logistics portal โ€” a separate login at /auth/logistics-login where delivery staff see orders ready to ship, update delivery status, and sync tracking through Biteship.
  6. 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