
Opio Emmanuel Omona
Summary
Omona is a full-stack One World Coder
Availability
Immediately
Education
- 2015 - 2018 – Bachelors of Science in Computer Science, Makerere University, Uganda
- 2018 – Google African Scholarship Android Developer
- 2018 - 2019 – Simulations & Apprenticeship at Andela
- 2020 – Apprenticeship at One World Coders with Li-Hsuan Lung and Doug Bradbury
Language Experience
- PHP (Practicing)
- Python (Practicing)
- Ruby (Teaching)
- Javascript (Teaching)
- Java (Practicing)
- Kotlin (Learning)
Framework Experience
- Laravel (Practicing)
- Django (Practicing)
- Flask (Practicing)
- Sinatra (Practicing)
- React (Practicing)
- RxJava (Practicing)
- Rails (Teaching)
- VueJS (Teaching)
- Nuxt.js (Practicing)
DevOps Experience
- Kubernetes (Learning)
- AWS (Practicing)
- Terraform (Practicing)
- Gradle (Practicing)
- Docker (Practicing)
- Firebase (Practicing)
- Code climate (Teaching)
- Travis (Teaching)
- Circle CI (Teaching)
- GitLab CI (Practicing)
- Coveralls (Teaching)
- Heroku (Teaching)
Database Experience
- Postgres (Teaching)
- MySQL (Practicing)
- SQLite (Practicing)
- Redis (Practicing)
Project Experience
Online Auction Web Application
Key Features
A web application developed in Rails (backend) and Vue JS (frontend) Users register for auctions, bid on items, pay and setup shipping. The internal platform of a leading fine art and antiques auction house: cataloguing, consignment, clerking, invoicing, settlements, payouts and financial reporting for staff across several salerooms, plus the APIs behind the public bidding experience. Worked on the platform continuously since 2020, with close to 700 merged merge requests.
Key Contributions
- Online Payments
- Online bidding
- Numerous integrations with shipping, email templating, slack, etc
- Built the card payment flow end to end — saved cards, single-invoice payment forms and payment history on the invoice audit trail — and kept it current across successive Stripe API versions.
- Designed a two-way synchronisation with a third-party live-bidding platform: auction, lot, image and bidder sync, webhook ingestion, a job tracking and locking table, and a real-time status and progress UI for operations staff.
- Integrated the platform with a NetSuite ERP for post-sale financials, appraisal invoicing and departmental reporting.
- Migrated authentication to Ory, adding Ory-authenticated endpoints alongside the legacy Devise session flow and back-filling password and identity sync for existing users.
- Built the account-merge service that consolidates duplicate customer records across
has_manyand polymorphic associations, third-party integrations and audit history. - Created the generic query tool for users and items — saved searches, configurable columns, streaming CSV exports and bulk actions.
- Built CMS modules for departments, locations, FAQs, biographies, landing pages and services, retiring a legacy WordPress dependency.
- Automated post-sale result imports from several third-party auction marketplaces behind a generic CSV importer.
- Led the Rails upgrade path from 5.2 through 6.0, 6.1 and 7.0 and the Ruby 3.0 upgrade, and migrated the front end off Bootstrap-Vue onto PrimeVue and legacy CoffeeScript onto JavaScript.
- Optimized the test suite and CI — cutting the core item spec from roughly seven minutes to three and a half by trimming factory associations — and removed N+1 queries from the heaviest admin pages.
- Instrumented the application with Bugsnag release tracking and OpenTelemetry traces exported to CloudWatch.
- Feature-flagged and shipped a company-wide rebrand across URLs, logos, email domains and bidder number prefixes.
- Prototyped real-time clerk and bidder consoles for live saleroom bidding.
Auction House Public Website
Key Features
- A server-rendered Nuxt / Vue JS website for a leading fine art and antiques auction house.
- Buyers browse and search auctions and lots, register to bid, follow auctions and watch lots, and manage their account, invoices and payments.
Key Contributions
- Built the customer account area — profile and login settings, invoice list and detail views, payment history and online invoice payment.
- Implemented the anti-money-laundering identity verification flow, including the embedded verification iframe, retry handling and verification-gated payment.
- Rebuilt the primary and secondary navigation and contributed reusable components to the Storybook component library.
- Added follow-auction and watch-lot features across auction cards, auction overview and the discover page.
- Improved SEO with sitemap generation, canonical tags and a large set of department and location redirects.
- Hardened the site so pages degrade gracefully when upstream API requests fail or time out.
Cloud Infrastructure and Deployment Automation
Key Features
- Terraform-managed AWS infrastructure for the auction platform and its public website.
Key Contributions
- Configured a web application firewall in front of the public estate.
- Set up OpenTelemetry trace collection into CloudWatch, and moved static assets from S3 buckets onto CloudFront distributions.
- Automated scheduled work with cron jobs for sitemap refreshes and daily auction postings to Slack.
- Managed feature flag and secret rollout across staging and production, and resolved recurring RDS low free space alarms.
Speciality Food E-commerce Platform
Key Features
- A Rails e-commerce and back-office application for a speciality food retailer.
Key Contributions
- Rebuilt the admin user index with fuzzy search, filtering, sorting, pagination and batch actions including bulk delete.
- Exposed account activity — creation date, last login and last order — as sortable, filterable columns.
- Led the Rails 7 upgrade, covering file storage, pagination and breadcrumbs.
- Restored the product image upload pipeline and brought the build back to a clean state with updated Rubocop and rails_best_practices rules.
Church Feedback and Ratings Platform
Key Features
- A Laravel (PHP) application where congregations rate aspects of their church through surveys.
- Administrators manage questions, view aggregated responses, and see results as charts and tables.
Key Contributions
- Built the survey and rating workflow, from question CRUD through submission to aggregated results.
- Added a roles and permissions layer with policy-enforced admin routes.
- Visualised ratings as bar and pie charts, and plotted churches on a map from geocoded addresses.
- Containerised the app for local development and added Behat acceptance tests to the CI pipeline.
Meeting Room Management application.
Key Features
- An Android application that is used to schedule meetings and book into meeting rooms.
- It consumes google’s calendar API to schedule the meetings.
- Firebase for analytics.
- Initially developed in Java and slowly migrated to Kotlin.
Key Contributions
- Slack integration where messages were automatically sent depending on the status of the app.
- Feedback service. (after a meeting, prompt to give feedback)
A blogging Website
Key Features
- A web application developed in Python Djando (backend) and React Js (frontend)
- Users where able to:
- create articles
- comment, like, favourite, rate
Key Contributions
- Reading statistics feature, that compares how many times your articles was visited to being actually read.
- Delete and Update articles feature.