Afrika is a modern e-commerce web application designed to connect global customers with authentic African fashion accessories such as handcrafted jewelry, headwraps, and bags. The project was built for a client aiming to empower African artisans by giving them a platform to showcase and sell their creations internationally.
As the lead developer, I was responsible for bringing the client's vision to life using a provided UI/UX design. I handled both front-end and back-end development, focusing on performance, interactivity, and smooth user experience.
Goals
Develop a fully responsive, accessible, and scalable e-commerce platform using Next.js.
Implement user-friendly animations and transitions to enhance the shopping experience.
Build secure and real-time backend functionality using Firebase (for authentication, data storage, and order handling).
Integrate Paystack for seamless payments across African and international customers.
Ensure fast performance through server-side rendering and optimized assets.
Challenges
Complex data structuring in Firebase: Building an efficient real-time product, cart, and order system using Firestore required careful planning to ensure scalability and quick reads/writes.
Multi-vendor logic: Though each product was managed by the admin at launch, we planned for future vendor support, which required abstracting the database schema early on.
Payment edge cases: Integrating Paystack required handling different user states, currency types, and success/failure redirects all while keeping UX clean.
Framer Motion performance: Using animations without compromising load time or responsiveness meant optimizing how and where animations were applied, especially on mobile.
SEO and SSR: Since Next.js uses server-side rendering, balancing dynamic content (from Firebase) with SEO optimization was a key focus.
Solution & Outcome
Built the frontend in Next.js with dynamic routing, server-side rendering (SSR) for SEO, and static generation (SSG) where appropriate to improve performance.
Used Firebase for real-time data handling: authentication, Firestore for product/order storage, and Firestore security rules to protect data.
Integrated Paystack to process payments securely, with support for mobile money, cards, and bank transfers tailored to African regions.
Framer Motion was used for product listing animations, page transitions, and subtle UI feedback (like hover effects and modal displays), making the site feel fluid and modern.
Optimized performance through image compression, lazy loading, and caching strategies, which significantly improved Time to Interactive and Core Web Vitals.
Deployed using Vercel, leveraging its integration with Next.js for fast, global performance.
Outcome & What I Learned
The client successfully launched the site, and early users praised the smooth interactions and ease of checkout. The Paystack integration worked reliably across multiple African markets, and the Firebase setup provided a fast and scalable backend without requiring a dedicated server.
Key lessons and takeaways:
Building with Next.js + Firebase offers incredible flexibility for fast, server-rendered apps without managing infrastructure.
Small UI touches with Framer Motion can significantly enhance the user experience especially on an e-commerce platform where perception of quality matters.
Integrating region-specific tools like Paystack is critical for meeting the real needs of local vendors and customers.
Collaboration with designers is smoother when there's a clear design system and component structure to follow.
Like this project
Posted Jul 25, 2025
Developed an e-commerce platform for African fashion using Next.js and Firebase.