Caleb Oneyemi, Developer in Lagos, Nigeria
Caleb is available for hire
Hire Caleb

Caleb Oneyemi

Verified Expert  in Engineering

Full-stack Developer

Lagos, Nigeria

Toptal member since December 23, 2021

Bio

Caleb is a software engineer with over five years of experience building reliable systems, primarily with Node.js and TypeScript. He has experience designing, building, and owning services in distributed systems and has worked on container and serverless-based systems. Caleb has proven his ability to produce optimal outcomes by taking ownership, communicating effectively, and balancing competing priorities.

Portfolio

Mansa Finance
Node.js, TypeScript, NestJS, PostgreSQL, Ethers.js, Ethereum, DigitalOcean...
MAX
AWS Lambda, Express.js, Node.js, TypeScript, PostgreSQL, Redis, InversifyJS...
Skyshares
Node.js, JavaScript, MongoDB, DigitalOcean, Amazon Web Services (AWS)

Experience

  • Node.js - 5 years
  • PostgreSQL - 5 years
  • TypeScript - 5 years
  • Redis - 5 years
  • Amazon Web Services (AWS) - 4 years
  • NestJS - 4 years
  • Docker - 4 years
  • AWS Lambda - 4 years

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Git, MacOS, Slack

The most amazing...

...thing I've done is design and build a feature complete and scalable serverless back end for the social media component of a super app, all within three months.

Work Experience

Senior Software Engineer

2024 - PRESENT
Mansa Finance
  • Worked with Mansa, which provides stablecoin liquidity to cross-border payment companies, helping them achieve real-time settlement. I joined as the first back-end engineer on the team after they published their v1 smart contract on Base.
  • Built the entire back end as the sole back-end engineer on the team. The back end is mostly container-based and split across two major services: one for investors and the other for borrowers.
  • Worked on the system that can be considered a hybrid between Web3 and traditional Web2 systems. There are typical APIs for each of the services with a ton of background interactions and processing with onchain data happening.
  • Built a blockchain scanner that interacts primarily with the Mansa smart contract, stores historical data, and performs other operations like handling liquidity repayment attribution. It runs every minute.
Technologies: Node.js, TypeScript, NestJS, PostgreSQL, Ethers.js, Ethereum, DigitalOcean, SendGrid, Redis, Etherscan, Alchemy, Auth0, TypeORM

Senior Software Engineer

2023 - 2024
MAX
  • Maintained and extended the core revenue operation service for a vehicle subscription to the ownership platform along with three other engineers. Core technologies used were Node.js, TypeScript, Inversify, and PostgreSQL.
  • Integrated serverless systems with the core revenue operations service using event-driven approaches powered mostly by Amazon Simple Queue Service (SQS) and Amazon Simple Notification Service (SNS).
  • Owned critical features that helped bring in more flexibility for managing customer contracts and payment schedules, which led to a drastic reduction in churn rates.
  • Moved a few manual processes from Excel file-based operations to purely system-based operations, which helped reduce business errors drastically.
  • Participated in designing the new system architecture to split our existing core revenue operation service into three separate services.
  • Contributed to the new architecture, which will aid independent scaling of different system parts. As part of the new architecture, I own the service handling contracts and repayment schedules.
  • Onboarded and mentored interns and junior engineers. Organized a couple of meeting sessions to give new hires an overview of the system, showing them the necessary documentation and helping them set up.
  • Designed and developed a new service for enterprise customers. The new microservice will handle asset assignment, contract generation, payment schedules, and other features powering a SaaS product for enterprise customers.
  • Did some work on the fintech arm of the company. It mostly involved splitting the Node.js Monolith into microservices, all written in Go, and moving infra from GCP to AWS.
Technologies: AWS Lambda, Express.js, Node.js, TypeScript, PostgreSQL, Redis, InversifyJS, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Google Cloud Platform (GCP), NestJS, Go

JavaScript Developer

2023 - 2023
Skyshares
  • Fixed CRUD bugs and server startup errors on the platform's admin interface.
  • Upgraded libraries and resolved a couple of security issues.
  • Redeployed the server on DigitalOcean and documented deployment processes.
Technologies: Node.js, JavaScript, MongoDB, DigitalOcean, Amazon Web Services (AWS)

Senior Back-end Engineer

2023 - 2023
VEGA Global Corporation
  • Worked on building a serverless back end for a super app ecosystem with high scalability requirements. Core technologies used were Node.js, TypeScript, the Serverless Framework, AWS Lambda, PostgreSQL, DynamoDB, Amazon S3, Amazon SQS, and Amazon SNS.
  • Owned the social media component of the super app that initially just had posts, set up unit tests for the whole system, and handled system design for other parts of the social media component.
  • Implemented parts of the social media component, including media upload (which also involved image and video transcoding), comments, clips, and moments (like Instagram or WhatsApp stories).
  • Integrated a provider called Mealme for the food delivery component focused on stores and products.
  • Participated in code reviews for other parts of the super app ecosystem, which included accounts and booking (hotels and flights).
Technologies: TypeScript, Node.js, Amazon Web Services (AWS), Amazon S3 (AWS S3), Amazon Simple Queue Service (SQS), Amazon DynamoDB, PostgreSQL, Redis, Serverless Framework, AWS Lambda

Lead Engineer

2022 - 2023
Stylefrica
  • Led the development across the entire stack. Used Next.js and TypeScript for the front-end progressive web application (PWA). Node.js, TypeScript, and PostgreSQL were used for the back end. I led a team of three engineers.
  • Set up all the repos and development environments for both the front end on Vercel and the back end on Heroku. Will be switching to the Google Cloud Platform (GCP) before going live.
  • Divided tasks into two-week sprints and assigned the work across the entire team on Jira. Documented important technical decisions for the whole of the project on Confluence.
  • Led weekly stand-up meetings alongside the CEO (product owner) and ensured a smooth workflow. Dropped daily progress updates on Slack with the help of a geekbot I monitor.
  • Reviewed code and implemented more essential features like subdomain routing on the front end and Auth, payments, caching, and rate limiting on the back end.
Technologies: Node.js, Next.js, TypeScript, PostgreSQL, Sequelize, Express.js, SendGrid

Back-end Developer

2022 - 2022
Fruitful
  • Collaborated with another engineer to develop the entire back end, which consisted of a central TypeScript Core API, a separate Python API handling Plaid integrations, and AWS Lambda written in JavaScript.
  • Migrated server-side code on the core API from JavaScript to TypeScript and implemented API versioning and documentation for all endpoints.
  • Implemented push notifications and integrations using Salesforce, Twilio, and additional APIs within the core API and AWS Lambda.
  • Handled a couple of processes using AWS Lambda, including real-time data synchronization of messages between our back end and Salesforce, batch storage of messaging data from Twilio, and scheduled jobs with Amazon EventBridge.
  • Automated internal processes and wrote integration tests using Python. Increased unit test coverage from 0% to over 90% across the core API and all AWS Lambda.
  • Added functionality to reprocess SQS events across all old and new AWS Lambdas.
  • Automated AWS Lambda deployments with Pulumi, an IaC tool, increasing the reliability of the deployment process.
  • Implemented a logging system across the API and AWS Lambda, enabling us to tweak log levels at any time and get access to all logs at different levels using Amazon CloudWatch.
  • Handled release management across different environments, including development, QA, and user acceptance testing across the back end.
Technologies: Node.js, TypeScript, MongoDB, Twilio API, Python, Express.js, Jest, JavaScript, Docker, Amazon Web Services (AWS), Git, Pulumi, AWS Lambda, Mailgun, Stripe API

Back-end Engineer

2022 - 2022
Elen Financial Software
  • Collaborated with a software architect and tech lead and two other back-end engineers, contributing to a system with over 15 microservices.
  • Documented high-level technical decisions made for new services while collaborating with an architect. I spent the most time on the third service, focusing on completing the initial tasks before handing the project off to work on older services.
  • Built three new services in six months using TypeScript. These services handled email and platform integrations and improved the platform's user experience for financial advisors.
  • Championed the migration of all server-side code from JavaScript to TypeScript by using the services I built as examples, explaining some of my configuration and design choices, and helping others get comfortable with the migration.
  • Cut down CI pipeline costs on AWS CodeBuild by around 83% by integrating NX into our monorepo and running tests for affected services when making pull requests.
  • Replaced the internal RabbitMQ client with a newer version, using an open source wrapper for amqplib called Rascal. This helped us simplify configuration and error handling for more recent services.
  • Handled tasks involving optimizations, refactoring, and feature additions and worked on older services as part of a team.
Technologies: JavaScript, TypeScript, MongoDB, RabbitMQ, Redis, GraphQL, Koa, Node.js, Jest, Amazon Web Services (AWS), Git, Terraform, Kubernetes, Helm, Stripe API

Associate Software Engineer

2020 - 2022
Decagon
  • Collaborated with the company's agency and boot camp arm. Worked on projects and brought real-world experience to the classroom as an assistant instructor for the Node.js tech stack.
  • Worked on several projects with most of the clients from Africa and Europe on the agency arm. Some key companies I worked with were a lifestyle application company in Kenya and a Web3 company in Europe.
  • Helped migrate the lifestyle application's back end to a microservice. Overall, the back end was split into tens of services communicating over RabbitMQ on Google Kubernetes Engine. I personally worked on the event ticketing service.
  • Mostly focused on data engineering work for the Web3 company, such as capturing historical on-chain transaction data. I built serverless pipelines on AWS and used Coin Gecko and the company-owned blockchain node to pull in on-chain data.
  • Taught Node.js and TypeScript as an assistant instructor to over 100 students across three cohorts on the boot camp arm. Some other peripheral technologies we covered include MongoDB, PostgreSQL, Redis, Express, and DevOps Fundamentals.
  • Held online talks and classes for students pre-boot camp via Zoom, which resulted in a 120% increase in students who showed up in person for entry assessments and a 75% increase in students who actually passed those in-person assessments.
  • Built tools for recruitment and ops teams at the boot camp that mostly replaced manual processes.
Technologies: Node.js, Express.js, MongoDB, Docker, Redis, Kubernetes, React, PostgreSQL, RabbitMQ, Next.js, Google Cloud Platform (GCP), Jest, GraphQL, TypeScript, JavaScript, Amazon Web Services (AWS), Git, Google Kubernetes Engine (GKE), Socket.IO, Knex.js, Sequelize, SQL, Heroku, MySQL, Twilio API, SendGrid

Full-stack Developer

2019 - 2020
Freelance Clients
  • Worked as a full-stack engineer at a fashion eCommerce startup, where I built the MVP alongside another engineer within four months. Maintained the product and extended it with new functionality for over a year after the launch.
  • Built a web app for public schools used by parents to monitor their child's school performance in real time. Use cases included alerts for when grades dropped below a certain level. I also onboarded two engineers when I moved to full-time work.
  • Joined a startup where I built a blog that was initially a Gatsby static site, migrating it later to Next.js and Strapi. I added numerous features, including gifting readers with the highest scores on the blog's occasional quizzes.
Technologies: React, Node.js, Express.js, MongoDB, Jest, TypeScript, JavaScript, PostgreSQL, Next.js, Git, Heroku, Sequelize, SQL, MySQL, SendGrid

Experience

Mock Premier League API

https://github.com/Caleb-Oneyemi/mock-premier-league-api
A modular monolithic Node.js API for creating and managing a mock premier league. Admins can create, edit, and delete teams and fixtures, while regular users can log in and view teams and fixtures.

API supports auth, caching, rate limiting, and a bunch of other common operations. I built the project from scratch as a simple template to structure back-end Node.js projects.

MAX Loan Asset Management System

A web-based application built out for internal revenue operations and asset retrieval teams across four countries to handle day to day workflows.

In a rapidly moving team with tons of complex real-world operational challenges, I had to focus on improving the flexibility and reliability of the system to address those real-world issues. There were a couple of major issues we had when I joined, and these included service degradation/downtime and failed operations from external systems we integrated with.

Over time, I played a role in addressing some of these challenges and more. We initially used Grafana/Loki for monitoring, and given that some of our microservices were making synchronous calls to other services, this was not enough. I collaborated with my technical lead and the DevOps team to introduce Prometheus for metrics and Jaeger for tracing to help debug and resolve degradation issues. I also introduced queuing and retry mechanisms to resolve the occasional failed operations from external systems.

Besides these, I worked on other feature additions along with moving the contract management component to a dedicated service out of the core revenue operations back-end service.

Elen Back Office CRM

A back-office CRM for financial advisors with the goal of unifying workflows and providing a simple all-in-one toolbox, thereby saving cost and time, reducing complexity from switching between multiple tools, and overall improving the user experience.

With this goal in mind, I joined the team and built out three microservices in TypeScript with a focus on integrations over a period of about four months. I also improved data import performance and reduced CI pipeline costs, which were two critical issues when I joined.

I helped lead the migration of older services to TypeScript since I was the first engineer on the team with previous TypeScript experience, and I also replaced our internal RabbitMQ library with an open-source AMQP wrapper. These actions helped simplify configuration and enabled us to spot errors earlier, thereby increasing the overall reliability of the system.

Vega Super App

http://vegagem.com/
I joined primarily to build out the social media component, which initially just handled posts. Some work had been done on media uploads, but it was highly coupled to posts.

I improved the handling of posts, decoupled the existing media upload implementation from posts, and extended it to handle uploads for other Lambda-based services I implemented including clips, comments, and moments (like Instagram stories). I also stabilized the overall API by fixing errors and adding tests, which took coverage from a little under 20% to over 90%.

Ethereum Web Socket Server

https://github.com/Caleb-Oneyemi/eth-socket-server
A Web API that fetches the latest transaction data from Ethereum and pushes it to all listeners via Socket.IO.

The API allows subscribers to configure the events they listen to. They can listen to all transactions or transactions related to a specific ETH address.

The tech stack used includes Node.js, TypeScript, TypeORM, PostgreSQL, Socket.IO, Express, TypeDI (for dependency injection), Docker, and Docker Compose.

Education

2014 - 2018

Bachelor's Degree in Physics

Covenant University - Ota, Nigeria

Skills

Libraries/APIs

Node.js, React, Socket.IO, Twilio API, InversifyJS, Stripe API

Tools

RabbitMQ, Git, Terraform, Google Kubernetes Engine (GKE), Sequelize, Knex.js, SendGrid, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), TypeDI, Docker Compose, Etherscan, Slack, Helm, Auth0

Languages

TypeScript, JavaScript, GraphQL, Python, SQL, Go

Frameworks

Express.js, Koa, NestJS, Jest, Next.js, Serverless Framework, Alchemy

Platforms

AWS Lambda, DigitalOcean, Docker, Kubernetes, Google Cloud Platform (GCP), Amazon Web Services (AWS), Heroku, Mailgun, Ethereum

Storage

Redis, MongoDB, PostgreSQL, MySQL, Amazon S3 (AWS S3), Amazon DynamoDB

Other

TypeORM, Ethers.js, Pulumi, WebAssembly (Wasm)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring