← All projects

TMax Electronics

Client
TMax Electronics
Industry
E-commerce & inventory
Year
2025

A storefront and the inventory back office behind it: catalogue, discounts and token-based checkout on the front, suppliers, stock adjustments and fulfilment states on the back, with an AI shopping assistant on top.

Visit the site
TMax Electronics admin orders queue

51

Products across 38 suppliers

2

Languages, content and catalogue

1

Codebase for shop and back office

What it covers

  • Storefront & catalogue
  • Token-based checkout
  • Customer accounts & order history
  • Supplier & inventory management
  • Stock adjustments & damaged goods
  • Order fulfilment states
  • AI shopping assistant
  • Role-based admin
  • Blog & testimonials

Two systems, one product

A shop is the easy half. The hard half is everything that keeps the shop honest: what is actually in stock, what it cost, which supplier it came from, what was damaged in transit, and where each order has got to. TMax is both halves in one SvelteKit application.

The storefront

Catalogue with categories, tags and per-variant package options, discounts, a token-based checkout that does not require an account up front, and customer accounts carrying order history. Prices and content are bilingual through Paraglide, because the audience is.

The back office

Suppliers and price ranges, stock adjustments, damaged goods, order fulfilment states and customer records, all under role-based admin. The blog and testimonials are managed from the same place, so marketing does not need a deploy.

The assistant

A shopping assistant built on Google Gemini answers questions against the live catalogue rather than a static FAQ, so it stays correct as stock changes.

How it was built

Svelte
TypeScript
MySQL
Drizzle
Framework

SvelteKit

Server load functions, form actions and endpoints; SSR by default.

Svelte 5

Runes for reactivity ($state, $derived, $effect).

Language

TypeScript

Strict mode across app and server code.

Data

MySQL

Primary datastore.

Drizzle Kit

Committed SQL migrations rather than push-to-prod diffing.

Drizzle ORM

Typed schema and queries, with migrations generated from the schema.

Auth

Better Auth

Session-based auth with server-side verification.

Forms

Superforms

Progressive-enhancement forms with server-side validation.

Zod

One schema validating both client and server.

UI

Tipex

Rich-text editor for CMS content.

Lucide

Icon set.

TanStack Table

Sorting, filtering and pagination for admin tables.

Bits UI

Headless primitives behind the component library.

Chart.js

Reporting charts.

Embla

Carousels.

Dark mode

System-aware theme switching.

Tailwind CSS

Utility-first styling with a project design token layer.

Reporting

jsPDF

Server-side PDF generation for reports and receipts.

jsPDF AutoTable

Tabular report export.

Payments

Chapa

Ethiopian payment gateway.

AI

Google Gemini

Shopping assistant answering against the live catalogue.

i18n

Paraglide i18n

Compiled translations, English and Amharic.

Infrastructure

Client image compression

Uploads compressed in the browser before hitting the server.

Nodemailer

Transactional email over SMTP.

Inside the system

TMax Electronics admin orders queue
Orders carry their fulfilment state, so the back office is the same system that took the sale rather than a spreadsheet beside it.
TMax Electronics storefront home page
The storefront: a rotating hero over the live catalogue, with search, cart and language switch always in reach.
TMax product catalogue with filters
The catalogue filters on price, brand, category and tag at once, and each card carries its own package options and price.
TMax Electronics about page
Marketing pages are content-managed from the same admin as the catalogue.
Back to all projects