Available for work · EMEA

Hi, I'm Emmanuel.
I build software

I have hands-on production experience in backend development and Odoo customization. I build APIs, custom Odoo modules, and real-time systems from design to deployment. Interested in embedded systems, secure IoT, and infrastructure that quietly works. Open to work and relocation. Always up for collaboration.

02Work
Where I ship code
2025 → Now
Odoo Developer
ICIT Solutions Nigeria
Custom module development across Odoo 17 and 18 (Community and Enterprise) for clients in real estate, hospitality, and logistics — QWeb PDF reports, custom payment plan architecture, multi-stage approval workflows, and a zone-based shipping rule engine. Internal work spans a procurement analytics dashboard, a new domain model built on Odoo's helpdesk architecture, and 17→18 migration. Stack: Python · OWL · QWeb · XML-RPC · PostgreSQL · Odoo Studio.
● Active
2025 → Now
Backend Developer · Contract
Django + Redis + Channels + Qdrant. Catalog recommendations, real-time messaging, dockerized deploys with CI/CD. Companion Affiliate service: standalone Django app with signup, earnings tracking, and payout flows. Button-redirect auth flow bridging Artisan users directly into their affiliate dashboard; webhook-driven attribution consuming referral and qualifying-action events from the main platform.
● Active
2024 → 2025
IoT & Embedded Systems Intern
NITDA Innovation Hub
Embedded development for sensor networks, LoRaWAN experimentation, prototype hardware integration.
Past
2025
Engineering Intern
TotalEnergies Marketing Nigeria Plc
Maintenance and IT operations at a depot service site. LOTO procedures, P&ID and electrical instrumentation diagram analysis, and circuit interpretation for work procedures.
Past
03Projects
Selected work
Pay by Transfer (Monnify) for Odoo POS
Bank-transfer payment method for Odoo 18 POS backed by Monnify dynamic virtual accounts. One-time account per order, auto-confirmation over the Odoo bus via HMAC-SHA512 signed webhooks, plus a server-to-server verify fallback. Exact-amount enforcement and a payments dashboard. Built for the Monnify Developer Challenge, API Conference Lagos 2026.
OdooPOSMonnify APIWebhooks
Student Society & Welfare Portal
Multi-tenant FastAPI backend for student societies and a shared welfare feed. Role hierarchy scopes each community admin to only the societies they manage, enforced server-side. JWT auth, SQLModel over PostgreSQL, public society directory and paginated welfare feed.
FastAPISQLModelPostgreSQLJWT
Wise-Wash
Offline-first laundry management system. FastAPI backend with async SQLAlchemy 2.0, a React admin UI, and a React Native tablet app using WatermelonDB for local-first sync in shops with unreliable connectivity.
FastAPIReact NativeWatermelonDBOffline-first
Vendor Evaluation & Approval WorkflowPrivate — client work
Vendor onboarding scorecard for a real estate client. Six weighted criteria with auto-computed qualification bands (pass, conditional, fail), a two-year re-evaluation cycle, and full audit history. Paired with a procurement approval workflow that routes sign-off by request value, restricts actions per role, and handles return-for-correction and rejection parking.
OdooPythonApproval Workflow
Offer Letter & Payment AutomationPrivate — client work
Offer letter and installment payment setup on the sale order for a real estate developer. Pulls the offer details in automatically through computed relational fields, builds the payment plan from the chosen tenure and frequency (deposit off first, the rest split into installments), and posts it as normal accounting records with a find-or-create on payment terms. QWeb reports handle the offer letter and the buyer's payment statement.
OdooPythonQWebAccounting
Orbit Inventory AdjustmentPrivate — client work
Inventory adjustment module for a hospitality group, adding a role-based approval gate where Odoo normally posts stock corrections with no sign-off. Adjustments route to an approver by type and value, and stock only moves once approved. Wrote the approval state machine from scratch, kept routing thresholds configurable for reuse across clients, split access with security groups, and hid the native screen so everything runs through the controlled path. Chatter and email alerts give a full audit trail. Tested against 38 scenarios.
OdooPython
Artisan Catalog RecommenderPrivate — client work
Vector-based recommendation engine using Qdrant + Sentence Transformers for artisan catalogs.
DjangoQdrantML
Cold Chain IoT SecurityIn progress — paper coming
Multi-layered security framework for solar-powered mobile cold chain. Final-year project.
LoRaWANHMACTLS
Social Media API
Django Channels backend with real-time messaging and plan-based post limit enforcement.
DjangoChannelsRedis
04Stack
Tools I reach for
BackendPython · Django · DRF · Channels · FastAPI · Flask · Redis · PostgreSQLERPOdoo 17/18 · OWL · QWeb · XML-RPC · PostgreSQL · Custom Modules · Odoo StudioInfraDocker · Nginx · CI/CD · Linux · WSL · AirflowML / DataQdrant · Sentence Transformers · PandasIoTLoRaWAN · ChirpStack · ThingsBoard · Embedded C
05Community
Volunteer & leadership
2025 → Now
Chair · IEEE Computer Society SBC
University of Lagos
Founded the chapter. Running DSA hackathons, IEEEXtreme prep, prompt engineering sessions, technical webinars, and fireside chats.
2025 → Now
Technical Lead · IEEE IES
UNILAG Student Branch
Leading technical activities for the Industrial Electronics Society chapter.
2024 → 2025
Co-Lead · Nigerian Section · IEEEXtreme 18.0 & 19.0
IEEEXtreme Global Hackathon
Co-led the Nigeria region for IEEEXtreme 18.0 and 19.0 — IEEE's global competitive programming hackathon. Coordinated training and activities across student branches in Nigeria and ran STEM outreach programs.
2025
Presenter · IEEE TEMSCON
IEEE Technology & Engineering Management Society
3rd place — IEEE TEMSCON Student Case Study Competition 2025.