E-commerce · Full Stack · Design

[001]

Telegram Commerce

Year

2026

Role

UI Designer & Developer

Category

E-commerce, Full Stack, Design

Stack

NestJS, React, PostgreSQL, Medusa, Docker

Telegram Commerce

About the Project

A full-stack Telegram commerce platform where sellers go from a product photo, link or barcode to an AI-written listing and a published channel post, through both a chat bot and an in-Telegram Mini App. I designed and built it with NestJS, React and PostgreSQL.

Visit Telegram Commerce ↗
Telegram Commerce gallery 1
Telegram Commerce gallery 2
Telegram Commerce gallery 3
Telegram Commerce gallery 4
Telegram Commerce gallery 5
Telegram Commerce gallery 6

AI layer

A provider-agnostic AI layer with Anthropic Claude and local Ollama models, using Zod schemas for structured output. It handles product extraction, bilingual (English and Amharic) descriptions and configurable post styles, and local models allowed free testing with no API spend.

AI image pipeline

Generates product images from reference photos: it removes backgrounds, enhances photos, places the product on a model, overlays the seller's logo, and compresses and validates uploads with Sharp.

Catalog sync

Medusa v2 as the headless product catalog, with a sync engine that detects drift between the catalog and live Telegram posts, then regenerates or re-edits the posts.

Mini App auth & onboarding

Secure Telegram Mini App authentication by validating initData signatures in a NestJS guard, plus seller and store onboarding, channel connection with bot-admin verification, and an account-locking and activation flow.

Buyer comments & stock

Captures buyer comments from connected channels and groups, with a chat-style reply UI in the Mini App. Includes stock and sold-out management, with sold-out banners on posts.

Admin dashboard

Per-store AI usage and cost tracking, prompt templates stored in the database and editable without a deploy, and integration credentials encrypted at rest.

Bot & Mini App parity

Feature parity between the bot and the Mini App, including a live-camera barcode scanner, custom post styles, and product and price editing. Large components were refactored into reusable hooks and shared UI such as a modal system, channel picker and optimistic updates.

Containerized stack

The whole stack runs under Docker Compose with one-command startup. A Medusa first-boot migration bug is worked around by checking in a schema dump that Postgres restores automatically.

Related Projects

All Projects