Medibuy
A full-stack e-commerce platform for buying medicines online in Bangladesh — Next.js 16, Postgres/Drizzle, SSLCommerz payments, and an AI assistant for symptom checks and prescription help, live in production with a seeded catalog of 200+ products.

Overview
A full-stack e-commerce platform for buying medicines online in Bangladesh — Next.js 16, Postgres/Drizzle, SSLCommerz payments, and an AI assistant for symptom checks and prescription help, live in production with a seeded catalog of 200+ products.
Links
Challenges & Learnings
Medibuy handles online medicine ordering end to end: browsing a real drug catalog, checking out via a local payment gateway or cash-on-delivery, and getting AI-assisted help interpreting symptoms or prescriptions. It's one Next.js 16 codebase for both UI and API, backed by Drizzle ORM against Neon Postgres, with Firebase Auth bridged into NextAuth sessions. The most interesting decision is around AI cost control: instead of storing user API keys server-side, Medibuy uses a bring-your-own-key model — keys live in the browser's localStorage and are sent per-request via headers, never persisted in the database. Users without their own key get a metered free tier on OpenRouter's free-tier models with an explicit fallback chain, so a rate-limited model doesn't break the assistant. Product search and recommendations deliberately skip the LLM path entirely, using Postgres full-text search and order history instead — a real latency/cost tradeoff made explicit in the project's own docs. A 65-test Playwright E2E suite covers checkout and auth; a production secret-rotation and performance pass are still open items per the project's own roadmap.