Project overview
CannaAfrika aimed to create a premier multimedia platform for the global cannabis community. I developed their core mobile application for both iOS and Android using Flutter, backed by a scalable Firebase infrastructure. The app serves as a central hub for users to find location-based information (dispensaries, events), connect with others, discover unique strain details featuring custom artwork, stay updated on industry news, and engage through gamification elements. The focus was on delivering a professional, feature-rich, and engaging user experience following mobile development best practices.
The Challenge
The primary challenge was to build a comprehensive, multi-functional application serving a diverse global audience (initially SA, EU, US) with varying interests within the cannabis space. This required integrating disparate features like location services, social networking, content delivery (news, strains), and unique visual elements into a cohesive and intuitive user experience. Furthermore, the platform needed a scalable backend and an easy way for the CannaAfrika team to manage its growing content database (locations, strains, users, events). Building this while ensuring high performance and adhering to best practices was crucial.
My Role
As the lead developer for the CannaAfrika mobile application, I was responsible for the end-to-end development lifecycle. This involved:
- Architecting the Flutter application for scalability and maintainability, using state management solutions like Riverpod.
- Implementing all core features, including the location directory, social profiles, chat functionality, news feed, and the unique strain information section.
- Integrating the custom-designed strain artwork seamlessly into the UI.
- Designing and implementing gamification mechanics to enhance user engagement.
- Setting up and configuring the Firebase backend (Authentication, Firestore/Realtime Database, Cloud Functions, Storage) to support the app’s features and data needs.
- Focusing on writing clean, well-documented code and ensuring a smooth, performant user experience across both iOS and Android platforms.
- Collaborating with the CannaAfrika team during the research and wireframing phases to refine ideas and contribute technical solutions to extend their vision.

The Solution
I delivered a professional, cross-platform mobile application built with Flutter, offering a wide range of features tailored to the cannabis community:
- Cross-Platform Development (Flutter): Ensured a consistent experience on both iOS and Android from a single, efficient codebase.
- Comprehensive Location Finder: Integrated mapping features to help users locate dispensaries, smoke shops, wellness stores, and events in their selected regions.
- Unique Strain Database: Created a visually engaging section for users to explore cannabis strains, uniquely differentiated by incorporating custom art pieces for each strain alongside detailed information.
- Community & Social Features: Implemented user profiles and connection features to foster community interaction.
- Industry News Feed: Integrated a system to deliver the latest relevant news to users directly within the app.
- Gamification Elements: Incorporated mechanics to make the platform more interactive and encourage user participation.
- Scalable Firebase Backend: Leveraged Firebase’s suite of tools for reliable authentication, real-time data synchronization, cloud functions for backend logic, and storage, ensuring the platform could handle growth.
- Content Management: Provided the CannaAfrika team with the means to easily manage platform content (users, strains, locations, events, reports) with an admin panel.

Results / Outcome
The result was a unique and comprehensive mobile platform tailored to the global cannabis community, successfully translating CannaAfrika’s vision into a functional and engaging application. Key achievements include:
- Successful delivery of a cross-platform app (iOS/Android) from a single Flutter codebase.
- Creation of a unique selling proposition through the integration of custom strain artwork.
- Implementation of diverse features addressing community needs (location, social, info, news).
- Establishment of a scalable backend infrastructure using Firebase, ready for user growth.
- Provided a platform built on professional coding standards and mobile development best practices.



