I'm a self-driven problem solver with a passion for building well-tested backend applications that solve real and hard problems.
I understand the limits of my knowledge, and I'm forever pushing them.
I'm drawn to the promise of collaborating with exceptional people in a healthy environment where I have access to the right tools and support I need to do my best work — innovating solutions and growing into the exceptional problem solver and people manager I want to be.
I'm currently doing my best work in the following roles:
Rated relative to each other.
5 means I'm most proficient in it. 1 means I'm least proficient in it.
An ecosystem of reusable Django apps, themes, and starter project templates.
I've contributed code to upgrade thirteen (13) apps in the Pinax project to the current, officially supported versions of Python and Django. The notes I made while upgrading the first two apps I worked on have been incorporated into the Pinax 20.XX Release Plan to guide contributors as they make upgrades to other apps in the Pinax project.
I also answer questions posed by developers who make use of our suite of reusable apps on the Pinax community Slack channel, as well as on Stack Overflow.
An XML-RPC and JSON-RPC server for modern Django.
I submitted a correction to an error I observed in the documentation while I was exploring it for use in Kiwi TCMS
A facial recognition API for Python and the command line.
I created a PR to free up image handlers that were created when loading images for face recognition. This solution resolved a problem I had on a face recognition project I'm working on where the app runs out of memory on the server.
A collection of tools to access online Astronomical data.
A Python game engine for teaching Computer Science.
A CLI app for managing GitHub labels for Python 3.6 and newer.
I'm particularly excited about my contributions to this project as they were my first experience contributing to opensource. I learnt how to write pytest-styled tests from the maintainer.
A Python wrapper for http://restcountries.eu
I'm excited about this one as it gave me an opportunity to practice and internalize the things I had learnt from my first experience contributing to opensource.
A market place for schools in Nigeria.
inQueerstigate is a face search and recognition engine which helps members of the local LGBTQ+ community in my corner of the world protect themselves from criminal elements who masquerade on social media and hookup apps as LGBTQ+ people in order to lure unsuspecting LGBTQ+ people to meet with them.
The service leverages on the Python bindings for Dlib to recognise faces of already identified miscreants and save LGBTQ+ people from loss of dignity, property or life.
I created a prototype of the solution in Python/Django and gave a 5-minute lightning talk on it at PyCon US 2021. I'm fleshing it out with Python/Starlette in collaboration with fellow problem solvers in the local LGBTQ+ community.
A utility for obtaining access tokens on behalf of resource owners using the OAuth 2.0 authorization code flow.
I refactored my original work and massaged it into shape after a session of code review with my friends and fellow lifelong students at The Recurse Center.
Django Email-identified User, a reusable app for managing users identified by their email (as opposed to username as is the default in Django)
Django Email-identified User (Django EiUser) provides a custom user model for overriding the default django user model in situations where it makes more sense to use an email address as the user identification token instead of a username.
I created this project primarily for educational purposes: to learn and teach TDD in Django. I documented my thought process while creating the project. I did this so that any one who stumbles upon the repo can walk through it and create something similar from scratch.
My reasoning at the time was that if project authors have the bandwidth to document their thought processes that way, newbies won't be intimidated by the size of projects they come across while trying to learn by going through other people's code. They'd be confident that they can walk through the creator's mind and recreate the creator's understanding of the project for themselves.
I learnt backend building with Starlette, a lightweight web framework for building high performance async services, by building this authentication and user management Starlette app.
A Python library for evaluating votes using the condorcet method.
I worked on this project after voting in the Django Software Foundation's Technical Board Elections and realizing that the votes were going to be evaluated using the condorcet method. That was the first time I'd ever had to cast multiple, weighted votes for the same position in an election, and I was curious about how they were going to be evaluated.
Building this project, I got to totally understand how votes are evaluated using the Condorcet method. I read a number of papers on voting and learnt about other evaluation methods and how they all fared in comparison to each other.
It was a refreshing learning experience.
I've been recently inspired to achieve my goals of becoming an exceptional, well-rounded problem solver by asking one question at a time, and making one small commitment to building and learning at a time.
And at this point on my path to mastery of problem solving, I need exposure to the DevOps side of Software Development. I need you to have created a pleasant and relaxed atmosphere where I'll have the opportunity to learn DevOps and other new things as I collaborate on amazing projects with people who have excellent command of them.
Got a question for me? Well I've created just the Google Form for that!
I'm happy to answer your questions.