mlabalaba
Mlabalaba – Where strategy meets tradition
Created on 2nd September 2025
•
mlabalaba
Mlabalaba – Where strategy meets tradition
The problem mlabalaba solves
Mlabalaba combines tradition and technology to sharpen minds, connect people, and preserve culture in a fun, modern way.
🎓 Education & Cognitive Skills
Enhances strategic thinking and problem-solving by forcing players to plan moves ahead.
Builds memory and pattern recognition, especially useful for learners.
Provides a fun, interactive teaching tool for mathematics (logic, symmetry, counting).
🌍 Cultural Preservation
Keeps African heritage alive by digitizing a traditional game.
Makes the game accessible globally, ensuring younger generations continue engaging with it.
👥 Social Connection
Encourages face-to-face interaction or online play, strengthening community bonds.
Can be used as a team-building activity for schools, companies, or events.
💻 Digital Benefits
Offers a safe, accessible platform to learn and practice the game without needing a physical board.
Integrates with modern frameworks (React, Next.js, Wagmi, Base), making it scalable for Web3 gaming experiences.
Challenges I ran into
⚔️ Challenges I Ran Into
🐞 1. Movement Logic Bug
At first, the cows (pieces) were able to move diagonally, which is not allowed in Mlabalaba.
Fix: I redesigned the movement logic so that cows only move horizontally and vertically along valid lines on the board.
🎨 2. Designing the Board
The traditional Mlabalaba board has 24 connected points, and visually representing it was tricky.
Fix: I studied real boards, mapped the coordinates carefully, and used a grid + line-based design so it matched the authentic look.
🔄 3. Mill (Three-in-a-Row) Detection
Detecting when a player forms a mill (3 cows in a row) was a hurdle since it requires checking all possible line combinations.
Fix: I created a predefined set of valid mill combinations and checked them every time a cow was placed or moved.
🌐 4. Framework Integration
Integrating the game into modern frameworks (React, Next.js, Base MiniKit) was challenging because of event handling and state management.
Fix: I broke the project into small modular components (Board, Cows, Game Logic), making debugging and scaling much easier.
Smart Contract Address(es)
My project currently does not require a smart contract address because all the core features run off-chain:
Game state and turns are managed through Next.js API routes and stored in Upstash Redis, so no on-chain writes are made.
Wallet connect is used only for identity/UX (to determine Player 1 and Player 2), not for sending transactions.
Multiplayer logic is validated server-side and persisted off-chain, meaning no smart contract calls are needed.
A smart contract address would only be required if I decide to add optional on-chain features such as:
Recording winners on Base (writing results to a registry contract).
Minting a “Cow Champion” NFT from a custom contract.
Enabling wagers, payouts, or paymaster gas sponsorship.
Since these features are not yet active, NEXT_PUBLIC_GAME_REGISTRY_ADDRESS can remain unset and the app still functions. If I later include on-chain recording or NFT minting, I will deploy a contract to Base Sepolia and provide its address in the environment configuration.
Other Onchain Proof

Tracks Applied (1)
Top 5 New Mini Apps
Technologies used