Competing in mathematics
In secondary school I was drawn to mathematics, and competed in mathematics competitions.
What mathematics gave me was problem solving, and it’s what I still lean on every time I engineer something.
How someone who loved mathematics became a software engineer, in six chapters. Scroll through, jump to any chapter, or leave whenever you like.
Before code, there was mathematics.
In secondary school I was drawn to mathematics, and competed in mathematics competitions.
What mathematics gave me was problem solving, and it’s what I still lean on every time I engineer something.
Learning to program by making small things that worked.
Java was my first programming language. I learned object-oriented programming, and started building small things outside the curriculum.
One was a Java Swing game called Guess the Answer, which generated addition, subtraction, multiplication and division questions. I built it with my friend Yusuff, who I started learning programming with, for my younger brother. Another was Hangman, with hints and a limited number of attempts.
At university I picked up Python and used it to explore web development, machine learning and automation.
I worked through parts of Angela Yu’s 100 Days of Code and built projects along the way, including a Breakout game.
One assignment asked us to research as many operating systems as we could. I already had some automation skills, so I wrote a bot with Selenium and Beautiful Soup to gather the information and save it to a Word file.
I might honestly have spent less time doing it by hand than writing the code. But it was a lot of fun, and I did very well in the assignment and in the course.
The first time software solved a problem that wasn’t an exercise.
The tennis club where I play ran its ladder competition by hand: pairings decided on the day, scores written on paper (which once went missing), and no way to know the standings unless you were there or called someone.
So I built a system for it, Lasustennis Club Ladder Games, in Flask and PostgreSQL: random pairings from the available players, scoring, challenge matches, statistics, and a public table showing who moved up and down. After every ladder day it drew the results and standings as images, entirely in code, and emailed them out.
Tournament participants and viewers more than doubled compared with the previous year. People checked it constantly and shared it with friends: “look at my position.”
In 2026 I came back to it and rebuilt it, with a Next.js front end and a FastAPI back end, with a new design.
It was the first time I went from learning how to code to noticing a real problem that software could solve. I built it without any AI help, and it pushed my reasoning and problem solving further than anything had before.
I tried to build a visually ambitious website for a baking business. It exposed how much I still had to learn about CSS and design, and it was discouraging enough that I stepped away from coding for a while.
Afterwards, I went and studied UX: a number of UX resources, to understand better how people want the systems they use to work. It has been really helpful in everything I’ve built since.
Building software also taught me where I needed to grow.
Hardware, networks, mobile, and how technology runs inside organisations.
In 2023 I interned at IHS Towers in IT, giving first-level support to the Network Operations Centre as part of a team of six, setting up more than 30 workstations and maintaining over 100. The work sat below application code: hardware, networking, computer systems and physical infrastructure.
Around the same time I started learning Flutter and mobile development.
Computer science has a lot of practice questions online, spread across many websites. I wrote scripts to scrape them, compiled them, and built a Flutter app to practise with, mainly for objective (multiple-choice) questions.
It wasn’t a one-off. I kept using it to prepare for exams, did very well in the course, and shared it with friends who found it useful too.
Notice a problem, build a tool, use it, share it. I’ve repeated that pattern more than once.
In 2024 I interned in KPMG’s Tech Platforms unit. It wasn’t a coding role: I wrote standard operating procedures covering IT, HR and other business functions for companies in the oil & gas and investment sectors, and researched industry practice to align their policies. Along the way I watched how the app development team worked.
It was my first close look at how technology is governed, documented and operated inside large organisations.
Building products with other people, for other people.
Residence started as a platform for students to find accommodation near their universities: it worked with people who had properties to let and put them online, so students could find a place, book it and move in.
In my final year I joined it as its founding software engineer, and led full-stack development to launch the product in about three months while finishing university, using React and Tailwind on the front end, Node.js and TypeScript on the back end.
In July 2025 I rejoined to architect V2, built for owners with many properties to manage: an admin dashboard and everything around it, on largely the same stack.
My first IoT project was a system to track fuel during tanker journeys between an oil depot and a filling station, with the aim of reducing theft and loss.
I hadn’t worked deeply with IoT before. It meant an Arduino Uno with a GPS module and an ultrasonic sensor, a calibration model to turn sensor distances into fuel volume, Bluetooth to a Flutter app I built, MQTT to share the readings live and Firestore to store them. When the Bluetooth package I needed turned out to be outdated, I forked it and modified its source until the integration worked. The project ended in a working prototype: in testing, with about 4 litres in the tank, the app read 4.3. It was a project for trying things out, and I didn’t continue it afterwards.
I graduated from Nile University of Nigeria with a First Class B.Sc. in Computer Science (CGPA 4.97/5.00). I was the best graduating student in both the Computer Science department and the Faculty of Computing, and second runner-up for best graduating student overall.
I built a simple flashcard app to help people keep the Arabic words they learn, just for fun, and I wasn’t telling anyone about it. When I showed it to the person who became my co-founder, he saw much more in it.
That app is Mufradaat. I co-founded it and engineered it until January 2026: a spaced-repetition scheduler, a review queue that keeps flashcards instant, and a Qur’an reader I worked hard to make fast. The version we released grew to more than 100 users with barely any advertising, and it’s live at mufradaat.vercel.app.
Since February 2026 I’ve been a software engineer at KPMG, during my NYSC year, moving from solo, university and startup work to engineering inside a large organisation, with end-users, cross-functional teams and stakeholders in the loop.
I’m part of the Digital Factory team. I build internal tools used across the firm, for finance, case tracking, HR and other developers, and client-facing products too, such as an asset-management solution with a web app, a mobile app and a back end. I also manage Flutter applications. The work runs from React and TypeScript front ends and Flutter apps to Node.js, FastAPI and .NET services on SQL Server, and security is built in from the start: multi-factor sign-in, encryption, and Active Directory.
Two things have changed most in how I work. The first is managing stakeholders: setting people’s expectations, and going to the right people for their input early, so it doesn’t turn into a roadblock later. The second is prioritising. There are usually several things competing for my time, and learning to decide what comes first has been one of the more interesting parts of the job.
The parts still under construction.
In 2026, alongside the move into professional engineering, I started going deeper on AI: AI development, agentic systems, and frameworks like LangChain.
The first thing I’m building is an assistant for the tennis ladder app I rebuilt this year: ask who leads the ladder or how two players compare, and it answers from the season’s stats. The chat interface is in place; the assistant behind it is what I’m working on now.
It’s an area I’m learning and building in, not one I’d claim expertise in yet.