Emmanuel
Oduro-Opong
I’m a software and AI engineer in Accra, Ghana. I build AI assistants that answer real customers, secure web systems that staff use every day, and motion graphics in DaVinci Resolve Fusion.
- Retrieval and AI agentsSerwaa answers shoppers for a Ghanaian skincare brand.
- Product engineeringQREP turns a printed QR and NFC card into reviews and loyalty for small shops.
- Secure internal systemsBoard governance and staff reporting tools at GRIDCo.
- Computer visionA YOLOv8 model that spots missing safety gear on site.
- AI training data25 approved Fusion tasks for Mercor in 12 days.
- Motion graphicsA working Fusion node editor you can wire up yourself.
Retrieval and
AI agents
Assistants that answer from a business’s own documents, not from general knowledge.
Serwaa, an AI shop assistant for Skin Gourmet
Skin Gourmet sells through unstaffed shelves inside Ghanaian supermarkets, so a shopper with a question had nobody to ask. Serwaa answers from the brand’s product lookbook, voice guide, shipping policy and store list. Each store has its own isolated collection in Qdrant.
Every chat turn is logged with its context size, prompt size, latency and outcome. That log gave the brand its first view of what shoppers actually ask in their own words.
- 273
- conversations handled
- 567
- real customer questions answered
- 143
- chunks in the product lookbook
- 7
- Docker containers on one 8 GB server
Python, Django, PostgreSQL, Qdrant, Ollama, nomic-embed-text, BM25, LlamaIndex, Docker, nginx
- A shopper asks a question on the store’s page.
- Semantic searchlocal embeddingsKeyword searchBM25, so exact product names land
- The two result lists are fused into one ranking.
- The top five chunks are kept, within an 8,000 character budget.The prompt can’t silently grow as documents grow.
- Serwaa answers in the brand’s voice, and the turn is logged.
Product
engineering
Multi-tenant products, built and shipped end to end.
QREP, QR and NFC cards for reviews and loyalty
QREP gives small merchants in Ghana a printed card that customers scan or tap with their phone after a visit. Each card carries a QR code and an NFC tag, and both open the same page where they can claim an offer, leave a Google review, browse a menu, get the Wi-Fi password or join a loyalty card.
Merchants log in to see their customers, verify visits at the counter and track how well each card works. Google’s rules against rewarding reviews are enforced in the code and covered by tests.
- 534
- print-ready cards rendered and checked
- 650
- automated tests across 40 modules
- 5
- modules a merchant can switch on
The card pipeline draws each card with Pillow and segno, lays them out on A4 sheets, then decodes every QR code from the finished sheet. That last check catches any card that was encoded with the wrong address.
Django, Django REST Framework, PostgreSQL, Celery, Pillow, segno, pytest, Docker, nginx
The QR code is real. Scan it to open QREP.
Secure internal
systems
Software that staff and directors trust with sensitive work.
Board governance and staff reporting at GRIDCo
I develop a board governance portal for directors and the company secretariat. It runs meetings, board papers, e-voting, minutes and a decision register on a Django REST Framework backend with a 36-table MySQL schema.
Access is controlled by role across five roles, and the Quasar and Vue 3 front end mirrors the backend permissions from a single source. Votes ask for a fresh TOTP code first. Every action is written to a tamper-evident audit log whose chain can be verified.
On the staff reporting app, I fixed a bug that had silently saved every staff reflection as an empty string. I also moved its AI report writing to a local Ollama model, so report data never leaves company machines, and I made its 16-chapter training video. I support the senior developers on the company’s RAG system as well.
Django, Django REST Framework, MySQL, Vue 3, Quasar, Pinia, Celery, Redis, TOTP, PWA
An illustration with generic labels. The real systems are internal to GRIDCo.
Computer
vision
Models trained on data I labeled by hand.
PPE detection for construction sites
I labeled more than 500 site images in LabelImg and managed the dataset in Roboflow. The model detects helmets, gloves, goggles and boots, and it also detects when each one is missing.
A FastAPI app serves the model for image uploads and a live webcam stream. When a worker is missing equipment, it saves a timestamped face capture to a violations gallery.
| mAP@50 | 0.53 |
|---|---|
| mAP@50-95 | 0.30 |
| Precision | 0.65 |
| Recall | 0.49 |
YOLOv8, Ultralytics, OpenCV, FastAPI, LabelImg, Roboflow
A drawing that shows how the classes work. The real model runs on photos and video.
AI training
data
Expert work recorded and narrated to train AI models.
Mercor, Project Odin
I recorded expert DaVinci Resolve and Fusion workflows on macOS and narrated every decision as I made it. Each task followed a detailed guideline and was scored against a rubric, so I checked every step against the brief before I submitted it.
I completed 25 approved tasks in 12 days before the client paused the project.
- 25
- approved tasks in 12 days
- 20
- approved on the first submission
- 100
- efficiency score, above the 90 needed for the Super Writer tier
Most of those tasks were motion graphics built from scratch on the Fusion page. Nodes such as Background, Ellipse, Merge and Transform were wired together and timed with keyframes.
The next section is a small working copy of that page, so you can try the same kind of work yourself.
Motion
graphics
Wire up a Fusion comp. The viewer shows the result live.
- Connect Ellipse1 to the blue mask input on Background1, to cut the colour into a circle.
- Connect Background1 to Transform1.
- Connect Transform1 to MediaOut1, which sends the result to the viewer.
- Press Play to run the size pop with overshoot.
I build titles, lower thirds, logo stings and end cards from scratch with Background, mask, Merge and Transform nodes. I time them with keyframes, and I smooth the motion in the Spline Editor. I also animate Lottie files in DaVinci Resolve 21.
DaVinci Resolve, Fusion, keyframe animation, compositing, Lottie, product training videos
Contact
I’m open to software, AI engineering and AI training data work, remote or in Ghana.
- emmawww.g@gmail.com
- Phone
- +233 54 357 9384
- GitHub
- github.com/dru-pong
- Emmanuel Oduro-Opong