
AnimeShop (AnimePlug)
Mobile Anime E-Commerce Platform
The Challenge
The anime merch market in Nigeria was fragmented across Instagram sellers with no reliable platform. I wanted to build a proper mobile shopping experience with real-time inventory, secure payments, and an admin interface.

The Approach
Built the consumer app in Flutter for cross-platform mobile (Android + web), the admin dashboard in Next.js with Prisma ORM, and even a CLI tool for quick inventory management. The full stack communicates via REST APIs.
System Architecture
A cross-platform system with three interfaces: (1) A Flutter consumer app (Android + web) handling product browsing, cart management, and Paystack checkout. (2) A Next.js admin dashboard with Prisma ORM for inventory management, order tracking, and analytics. (3) A Node.js CLI tool for rapid bulk product operations (CSV import, price updates, stock adjustments). All three communicate through a shared REST API layer hosted on the Next.js backend. Authentication uses JWT with refresh token rotation.

Built For
Nigerian anime and manga enthusiasts aged 16-30 who struggle to find authentic merchandise locally. Fans who currently rely on expensive international shipping or settle for knockoffs - they want a trusted, local-first shopping experience with Nigerian payment methods (bank transfer, Paystack) instead of international credit cards.
Design Decisions
Why Flutter instead of React Native?
Flutter's rendering engine gives pixel-perfect control over the UI - critical for an e-commerce app where product images and layout need to look identical across devices. The widget system also makes building complex product cards and carousels more intuitive.
Why a separate Next.js backend?
The admin dashboard needs server-side rendering for SEO and complex data tables. Next.js API routes serve as the backend for both the Flutter app and the admin panel, keeping everything in one codebase.
Tech Stack
Outcomes & Impact
- Full e-commerce flow: browse → cart → checkout → payment
- Admin dashboard with inventory management and order tracking
- CLI tool for rapid product updates without opening the dashboard
- Cross-platform: runs on Android and web from one Flutter codebase

💬 Behind the Scenes
“I built a CLI tool because sometimes you just want to add 50 products without clicking through a UI. The CLI reads from CSV, validates against the schema, and bulk-inserts. It saved me hours during initial inventory population.”