~/portfolio variant: terminal-native
wisdom@dev: ~/about

wisdom@dev:~$ whoami

Wisdom Chukwuma

Full-stack developer, 3D web engineer & AI engineer — Lagos, Nigeria

$ cat README.md I design and ship complete products end to end: backend, frontend, real-time features, the in-browser 3D/WebGL work most developers avoid, and automation pipelines built around generative AI models put to real, shipped use.
6+ shipped products 1 live client platform 3D WebGL games engine 4 AI pipelines shipped
wisdom@dev:~$
01 // flagship product

$ cat wiscot.md

wiscot.xyz ↗
live

Wiscot — a real-time social platform with its own wallet, WebRTC calls, and a 3D games arcade

Wiscot is a full platform built on Django: a "Cot Bank" wallet backed by real Flutterwave payments, real-time chat and eight multiplayer games running over WebSockets (Django Channels + Redis), WebRTC voice/video calls through a self-hosted TURN server, leaderboards, referrals, and OAuth login via Discord, GitHub, Twitter, and TikTok. Shipped to both web and Android (wrapped with Capacitor).

Django / DRF Channels / WebSockets PostgreSQL + Redis Three.js / WebGL WebRTC PHP (auth layer) Capacitor / Android

realtime-over-websockets

Django Channels + Redis power live chat, presence, and eight real-time multiplayer games, with Gunicorn and Daphne behind Nginx handling HTTP and WebSocket traffic side by side.

3d-games-arcade

A three.js-powered 3D lobby leading into chess, checkers, dash, maze runner, quiz, shadow boxing, drop zone, and eight ball — plus a bot opponent ("COTY AI") for solo practice matches.

webrtc-voice-video

In-chat calling runs over a self-hosted Coturn TURN server, signaled through the same Channels/Redis layer as the rest of the platform's real-time features.

cot-bank-payments

A wallet system with Flutterwave-powered multi-currency deposits, mining-style earning, a leaderboard, and referral rewards, with automated NSFW moderation (NudeNet + OpenCV) on user-generated content.

$ ls ./screenshots

feeds.webp
Wiscot social feed screen
games.webp
Wiscot 3D games arcade lobby
dash-game.webp
Wiscot dash game screen
cot-bank.webp
Wiscot Cot Bank wallet screen
leaderboard.webp
Wiscot leaderboard screen
chats.webp
Wiscot real-time chat screen
02 // products

$ ls ./products

in development
RentNest

// independent, Nigeria-focused — unrelated to the UK company of the same name

A property rental app for the Nigerian market — verified listings across Lekki, Victoria Island, Ikoyi and more, map-based search, in-app landlord chat, inspection scheduling, digital rental applications, and lease preview. Full onboarding, search, application, and messaging flow designed as a real product, not a demo.

React Vite Tailwind Framer Motion React Leaflet
home.webp
RentNest home screen
search.webp
RentNest search results screen
details.webp
RentNest property details screen
map.webp
RentNest map view screen
chat.webp
RentNest landlord chat screen
live
StudyPath

A gamified study platform built for university coursework: XP points, day streaks, and a Duolingo-style chapter progression map. A Python script parses course slide decks (.pptx) into structured chapters and practice questions, so students move through a real syllabus instead of a flat slide deck.

JavaScript Python (.pptx parsing) Gamified UX
bu-study-path.netlify.app ↗
stats.log

xp_total2450

streak18 days

statusactive

chapter_progress

ch.01 — foundations
ch.02 — core concepts
ch.03 — applied theory
·ch.04 — case studies
·ch.05 — final review
03 // freelance: gala fpl challenge

$ cat client-work.log

● live — gala-fpl.com.ng ↗

// built and shipped for Gala, the Nigerian snack brand (made by UAC Foods)

Season-long fantasy football leaderboard, ~1,000 entrants, real cash prizes

Commissioned to build a tournament platform for Gala's branded Fantasy Premier League challenge: automated overall, weekly, and monthly leaderboards computed live from the public FPL API, with real cash prizes attached to the standings — so correctness and freshness weren't optional. Originally built on Node.js and deployed to Render; later rebuilt in PHP 8.1 to run on the client's existing cPanel shared hosting, which had no Node support. Backed by MySQL, with Google OAuth accounts, encrypted bank-detail storage for payouts, Web Push notifications, and cron-driven automation for deadline reminders and winner broadcasts.

  • Three daily mini-games (trivia, guess-the-player, word match) with one counted attempt per day, enforced at the database level
  • Shareable result cards, a full PWA shell, and an admin-only payout tracker
  • Rank-movement indicators and tiebreak logic (captain points → vice-captain points → season standing) applied only to the small cluster of entries actually tied around a paid rank
decisions.log
ownership verification

No official FPL login exists — so ownership had to be proven another way. Rather than collect real FPL credentials (a real security liability), team ownership is verified by having the manager temporarily rename their FPL team to a generated code.

cache policy

Live standings are never served from cache. The service worker caches the static app shell for fast, offline-capable loading, but deliberately never caches /api/* — this is a real-money leaderboard; stale standings would be actively misleading.

stat sampling

Expensive stats are sampled, not exhaustive. "Most Captained" and "Chips Played" are computed from the top 100 managers by rank, not the full ~1,000-member league — clearly labeled as a sample in the UI to keep load reasonable on FPL's public API.

$ ls ./screenshots

standings
Gala FPL Challenge standings page
manager-profile
Gala FPL Challenge manager profile page
hall-of-fame
Gala FPL Challenge hall of fame page
winner-card
Gala FPL Challenge weekly winner share card
top10-card
Gala FPL Challenge top 10 share card
04 // ai & creative engineering

$ ls ./ai-creative

Automation pipelines built around generative video models — tooling that turns scripts and prompts into finished, publishable video, end to end.

$ cat wappydrama.md — a Nollywood-style AI drama generator

Covenant Mark — AI-generated drama series still

Covenant Mark

10-part series

My Husband's Altar — AI-generated drama series still

My Husband's Altar

10-part series

A full pipeline that turns written story scripts into multi-part, character-consistent drama series using Google's Gemini Veo for video generation, Cloudinary for asset delivery, and a compositing stage (Sharp + background removal) to keep characters visually consistent across scenes. Shipped two full 10-part series — Covenant Mark and My Husband's Altar — each stitched from generated segments into a finished episode.

Woverico

A pipeline that turns scripted topics (news, crime, sports, movies) into narrated, captioned, finished 1080×1920 portrait MP4s — Piper text-to-speech plus Playwright and ffmpeg for the HTML-to-video export.

Piper TTS Playwright ffmpeg

TBT // short-form series

A batch video pipeline combining Piper text-to-speech, word-level auto-captions (faster-whisper), and thumbnail generation — used to produce a real short-form series across topics like productivity, cancel culture, and attachment styles.

TBT episode thumbnail — passion
ep01_passion
TBT episode thumbnail — trophies
ep02_trophies
TBT episode thumbnail — cancel culture
ep03_cancel-culture

WappyTales // self-hosted AI film pipeline

A more experimental production engine for original series ("Ashborn", "Lagos 2047") using ElevenLabs voice, fal.ai, and a self-hosted Stable Diffusion/Wan 2.1 video model run on free Kaggle GPU notebooks, tunneled through Cloudflare.

ElevenLabs ComfyUI / Wan 2.1 Kaggle GPU
05 // more

$ ls -la ./more

fantasy-sports-apps

Berneese FPL League, Boom Shakalaka FPL, and Fantasy Warriors — independent practice builds of the same real-money-leaderboard concept behind the client project, each with its own league rules and prize logic.

streamoji

A custom streaming-emoji tool for live chat and broadcast overlays.

wist

A large custom content and card-builder tool — modal-driven authoring for rich, shareable cards.

w-movies

A movie browsing app with listing and detail views.

wiscot-games-arcade

Eight standalone browser games (chess, checkers, dash, maze runner, quiz, shadow boxing, drop zone, eight ball) behind a three.js 3D lobby — built as part of Wiscot.

wiscotapp

Wiscot wrapped for Android with Capacitor — same platform, native shell.

06 // stack

$ ls -la ./skills

backend-data/

  • Python (Django, DRF, Channels)
  • PHP
  • PostgreSQL / MySQL
  • Redis

realtime-frontend/

  • JavaScript
  • React + Vite + Tailwind
  • Three.js / WebGL
  • WebSockets
  • WebRTC

platform-payments/

  • OAuth (Google, Discord, GitHub, Twitter, TikTok)
  • Web Push / PWA
  • Capacitor (Android)
  • Flutterwave

ai-engineering/

  • Gemini Veo
  • ElevenLabs
  • ComfyUI
  • Cloudinary
  • ffmpeg / Playwright pipelines
  • Piper TTS
07 // contact

Let's build something.

Open to full-stack, frontend/3D, or product-engineering roles — and freelance work.