Overview
Technical skills
Projects
Timeline
Roles

Overview

Full-stack web developer focused on React frontends and Node/Express APIs with TypeScript and MongoDB at a Middle level, strongest at implementing end-to-end CRUD features and basic validation. The strongest proven skill is building server-side REST endpoints with input validation and tests as shown in Node-and-mongo-query/Week-7/Server/controllers/transaction.ts and Node-and-mongo-query/Week-7/inputValidator.js. There is little evidence of systematic test strategy, CI pipelines, contract testing or performance/load testing in the public human-authored code.
Phone

Technical skills

Languages
5
JavaScript
SQL
SPSS
TypeScript
Node JS
Node JS
13
BullMQ
Nest.JS
Prisma
Express
Mongoose
Bcrypt
Morgan
Passport.js
Axios
Joi
Helmet
Nodemailer
Winston
DevOps
9
GCP
Rest API
API Gateway
Vercel
Kubernetes
Docker Compose
Argo Workflows
Linux
AWS
Frontend
5
Tailwind CSS
React.js
Three.JS
Redux
Redux Toolkit
Databases
4
MongoDB
PostgreSQL
MySQL
RabbitMQ
Other
21
Figma
OpenAI SDK
Jest
Amazon S3
Next.js
Redis
Supertest
Mocha
Amazon EC2
AWS Lambda
DynamoDB
GitHub
Heroku
Netlify
Dotenv
Docker
Git
CI/CD
PostCSS
GraphQL
CSS Modules

Projects

Jubly
Jan 2026 to Aug 2026 7 Months


Node JS
Nest.JS
Prisma
Vercel
React.js
React Query
Rest API
Redux Toolkit
MongoDB
Mongoose
RenderDoc
Jubpay
Nov 2025 to Jun 2026 7 Months


Nest.JS
React.js
Multer
RenderDoc
Vercel
Redux Toolkit
Redux
Node JS
TypeScript
Prisma
Tailwind CSS
GCP

Timeline

Software Engineer (Sub-Lead Frontend) • Lead
Sterling Bank • Full-Time
Mar 2024 to Present 2 Years 7 Months Lagos In office
Contributed to SEABAAS, a core banking platform built from scratch, and the SEABAAS Mizan Islamic Core Banking platform. Built frontend modules using React, TypeScript, and Redux Toolkit with a micro-frontend approach. Led development of role and access management, chart of accounts, and end-of-cycle modules. Coordinated with backend teams on architecture discussions and production issue resolution.
React.js
TypeScript
Redux Toolkit
Lead Full Stack Engineer • Lead
Jub Digitals • Full-Time
Mar 2023 to Mar 2024 1 Year Partially remote
Led architecture and delivery of fintech and booking-management products from design through deployment. Developed backend services and REST APIs with Node.js and NestJS, using Prisma and database-backed workflows. Implemented payment-enabled flows involving Paystack, including payment status verification and webhook-driven updates, plus transfer and settlement validation.
Node JS
Nest.JS
Prisma
Rest API
Full-Stack Engineer (Contract) • Middle
Brilstash • Contractor
Jan 2023 to Mar 2023 2 Months Partially remote
Designed backend architecture and implemented REST APIs using NestJS and Prisma. Integrated Google OAuth and built Google Calendar synchronization for notifications and meeting scheduling workflows. Implemented payment and withdrawal services via Paystack APIs and contributed throughout the architecture-to-deployment lifecycle.
Nest.JS
Prisma
Google Calendar
Backend Engineer • Middle
Lykluk • Full-Time
Oct 2022 to Dec 2022 2 Months Partially remote
Architected backend APIs for a social-media platform with an emphasis on data consistency. Implemented PostgreSQL transaction handling using Prisma. Built background-processing workflows using scheduled cron jobs and delivered authentication and authorization services.
PostgreSQL
Prisma
Lead Software Developer • Lead
The Rock Empire • Full-Time
Sep 2021 to Sep 2022 1 Year Lagos In office
Led development of the company web platform using React, Node.js, Prisma, and MySQL. Integrated Paystack payment processing and implemented authentication with role-based access control. Managed frontend state with Redux and worked on improving frontend performance.
React.js
Node JS
Prisma
MySQL
Redux
Full-Stack Engineer • Middle
Success Digitals Solutions • Full-Time
Aug 2019 to Sep 2021 2 Years 1 Month Partially remote
Built applications including lottery systems and flight-booking applications. Implemented payment and withdrawal services using Paystack and Flutterwave APIs. Supported deployments using cPanel and Netlify while working within Agile delivery practices.
University of Lagos
Bachelor's Degree • Economics
Lagos, Nigeria
Middle Backend Developer Confidence: Medium API Engineer
Backend engineer (Node.js/Express, ~middle level) focused on building REST APIs with authentication and token workflows. The strongest proven skill is API authentication and token lifecycle (refresh, password reset, refresh-token persistence) implemented in src/api/controllers/auth.controller.js and covered by integration tests in src/api/tests/integration/auth.test.js. The public code does not show multi-document transactional handling for money transfers, advanced scalability patterns (caching, queues), or formal infra/observability (metrics/alerting) configuration.
API Design
4/10
How well APIs are designed
Reasonably consistent REST API design with versioned routes and token refresh flows, plus pagination; lacks explicit idempotency, standardized error envelopes across all services, and advanced API stability patterns.
Evidence
reward-your-teacher-node-my-version/src/api/routes/v1/auth.route.js: v1 route topology and endpoint definitions
reward-your-teacher-node-my-version/src/api/controllers/auth.controller.js: refresh token / token response generation (generateTokenResponse, refresh)
Node-and-mongo-query/Week-7/Server/controllers/transaction.ts: pagination usage in getTransaction (page/limit)
Data Layer & Database
3/10
Working with databases
Uses Mongoose schemas and some data validation and uniqueness constraints; transactional/consistency boundaries are not addressed for multi-document updates (no multi-document transactions or compensating logic visible).
Evidence
quiz-web-app-backend/src/models/userModel.models.ts: Mongoose schema with unique email and pre-save password hashing
Node-and-mongo-query/Week-7/Server/controllers/transaction.ts: sequential findOneAndUpdate on two accounts without an atomic transaction
reward-your-teacher-node-my-version/src/api/models/refreshToken.model.js: refresh token model (token lifecycle persisted)
Scalability & Performance
2/10
Handling load and speed
Basic pagination and sensible middleware (helmet, morgan) present but no evidence of caching/invalidation, queue-based decoupling, rate limiting, or measured perf tuning.
Evidence
Node-and-mongo-query/Week-7/Server/controllers/transaction.ts: implements page/limit pagination
quiz-web-app-backend/src/index.ts: helmet and morgan usage for basic HTTP hardening and logging
System Architecture
3/10
Overall system structure
Code is organized into controllers, models, routes and services showing conventional modular separation; architecture appears monolithic and there is no evidence of deliberate service decomposition, cross-service contracts, or advanced config/secret management patterns.
Evidence
reward-your-teacher-node-my-version/src/api/controllers (controllers) and src/api/routes (routes): clear module separation
quiz-web-app-backend/src/index.ts: route wiring and central app bootstrap
Security & Auth
5/10
Protecting data and access
Strong evidence of authentication and authorization practices: JWT lifecycle with refresh tokens, password reset flows, bcrypt hashing and validation; however some endpoints lack atomic updates and a consistent centralized input-validation strategy across all services.
Evidence
reward-your-teacher-node-my-version/src/api/controllers/auth.controller.js: refresh, register, password reset and token generation flows
Node-and-mongo-query/Week-7/Server/controllers/register.ts: bcrypt usage and user creation
Node-and-mongo-query/Week-7/inputValidator.js: Zod schemas and validate middleware
Reliability & Observability
4/10
Stability and monitoring
Good test coverage for authentication flows and structured error types and middleware; monitoring/observability beyond logging and tests (metrics, alerts, retries with backoff, graceful shutdown) is not evidenced.
Evidence
reward-your-teacher-node-my-version/src/api/tests/integration/auth.test.js: extensive integration tests around auth flows
reward-your-teacher-node-my-version/src/api/errors/api-error.js and src/api/middlewares/error.js: structured API errors and middleware
Expertise
Node.js• Middle
Industries
Education• Middle
Financial Services• Middle
Technologies
Node JS• since 2021 • Middle
GraphQL
Express
Bcrypt
Joi
Winston
Mongoose
Passport.js
Axios
Helmet
Dotenv
Morgan
Nodemailer
Recommendations
  • Own and extend REST APIs that require authentication, token lifecycle and user management (login, refresh tokens, password reset).
  • Implement and harden financial transaction services - add atomic updates using MongoDB transactions or compensating actions and add idempotency keys for transfer endpoints.
  • Build and maintain integration test suites and API contract tests - continue writing Mocha/Chai or Jest integration tests for critical flows.
  • Add observability and resilience: instrument metrics, structured logs with correlation ids and implement timeouts/retries with jitter for outbound calls.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Frontend Developer Confidence: Medium App Engineer
Frontend app engineer (approx junior-to-middle level) focusing on small React SPAs and static web UIs with practical CRUD implementations. The strongest proven skill is building React+Redux CRUD flows as shown in the todo app component and reducer (redux-todo-app/src/components/Todo.js and src/redux/reducers.js). There is limited evidence of advanced frontend engineering practices such as automated tests, performance profiling, robust async state handling, or accessibility-focused engineering in public code.
UI Component Architecture
3/10
How interface parts are built
Component work is practical but shallow: single-file React components with CSS Modules and local state are used, but there is little evidence of deliberate component system design, composition patterns, or reusable primitives.
Evidence
redux-todo-app/src/components/Todo.js
redux-todo-app/src/components/Todo.module.css
Responsive & Cross-browser
3/10
Works on all screens and browsers
Responsive design is handled with classic CSS media queries and meta viewport settings; layouts adapt at breakpoints but there is no advanced responsive architecture or RTL/i18n work.
Evidence
redstoreclone/css/index.css - media queries (@media only screen and (max-width: 800px)/(600px))
redstoreclone/index.html - meta viewport and mobile menu markup
Performance Optimization
1/10
Speed of the interface
No measurable performance work or instrumentation is present; no code-splitting, profiling artifacts, virtualization, or bundle-analysis evidence.
Evidence
redux-todo-app/src/index.js - app bootstrapping with PersistGate (no perf artifacts)
redux-todo-app/package.json - dependency list (no perf tooling or analyzer present)
Accessibility & Semantics
2/10
Usable for everyone
Minimal accessibility awareness: basic semantic elements and form labels appear, and images sometimes include alt text, but there is no ARIA on custom widgets, keyboard/focus management, or CI a11y tooling evident.
Evidence
redstoreclone/contact.html - form labels for contact inputs
redux-todo-app/src/components/Todo.js - <img alt="Ademola"> usage
State Management & Data Flow
4/10
Managing data in the app
Clear use of classic server/client state patterns with Redux and react-redux; flows for add/update/delete are implemented, but there are anti-patterns (side effects inside reducers, no request cancellation, no optimistic update patterns).
Evidence
redux-todo-app/src/components/Todo.js - useDispatch/useSelector, add/update/delete flows
redux-todo-app/src/redux/reducers.js - reducer handling ADD/UPDATE/DELETE and reading/writing localStorage
redux-todo-app/src/index.js - store persisted via redux-persist PersistGate
UX & Visual Polish
3/10
Look and feel quality
UX attention is pragmatic: validation, show/hide states, and user feedback exist across small apps, but there is limited polish around error states, undo, skeletons, or perceived-performance techniques.
Evidence
numberguesser.github.io/Guesser.js - user messaging and guess state handling
redux-todo-app/src/components/Todo.js - form validation, show/hide list and edit flows
redstoreclone/css/index.css - visual styling and hover transitions
Expertise
React• Middle
HTML & CSS• Middle
Industries
Commerce• Middle
Technologies
Redux• since 2021
Nest.JS• since 2023
Next.js
Netlify
Heroku
Prisma• since 2021
CI/CD
Git
AWS
Docker
Kubernetes• since 2019
React.js• since 2021
PostCSS
CSS Modules
AWS Lambda
Amazon EC2
Redux Toolkit• since 2024
GitHub
Amazon S3
Linux• since 2025
Recommendations
  • Build small-to-medium React single page applications that require CRUD flows, local persistence and simple offline support using redux-persist or similar.
  • Implement and harden features in admin dashboards or internal tools where Redux-based state and form workflows are common.
  • Work on static marketing sites or product landing pages where responsive HTML/CSS skills and component styling deliver value.
  • Gradually add testing, accessibility checks, and basic performance profiling to projects to increase engineering maturity.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle QA Engineer Confidence: Medium API QA Engineer
Full-stack web developer focused on React frontends and Node/Express APIs with TypeScript and MongoDB at a Middle level, strongest at implementing end-to-end CRUD features and basic validation. The strongest proven skill is building server-side REST endpoints with input validation and tests as shown in Node-and-mongo-query/Week-7/Server/controllers/transaction.ts and Node-and-mongo-query/Week-7/inputValidator.js. There is little evidence of systematic test strategy, CI pipelines, contract testing or performance/load testing in the public human-authored code.
Test Automation Frameworks
3/10
Building automated tests
Basic test automation artifacts are present (Jest + Supertest and setup files) but there is little evidence of custom fixtures, factories, selector discipline or parallelization/sharding.
Evidence
Node-and-mongo-query/Week-7/__tests__/transaction.spec.ts
todoApp/src/setupTests.ts
Node-and-mongo-query/Week-7/package.json
Test Coverage & Strategy
2/10
What and how to test
Some validation and a test file exist but there is scant evidence of a deliberate test strategy, negative-path/property-based tests, boundary tests or mutation testing.
Evidence
Node-and-mongo-query/Week-7/__tests__/transaction.spec.ts
Node-and-mongo-query/Week-7/inputValidator.js
API & Integration Testing
3/10
Testing how parts work together
API and integration testing basics are implemented: Express controllers, Zod validation middleware and Supertest-based tests; however there is no contract testing, schema-driven contract enforcement or idempotency/retry scenario coverage.
Evidence
Node-and-mongo-query/Week-7/Server/controllers/transaction.ts
Node-and-mongo-query/Week-7/inputValidator.js
Node-and-mongo-query/Week-7/__tests__/transaction.spec.ts
Performance & Load Testing
Testing speed under load
Not evidenced in public code
Bug Reporting & Analysis
Finding and describing bugs
Not evidenced in public code
CI Test Integration
2/10
Running tests automatically
Minimal CI/test integration: local test scripts and a Jest config exist but there are no CI workflows, artifact retention, selective/diff-based runs or per-test quarantine mechanics.
Evidence
Node-and-mongo-query/Week-7/package.json
redux-todo-app/package.json
Expertise
API Testing & Contract Validation• Middle
Unit & Component Testing• Middle
Industries
Financial Services• Middle
Technologies
JavaScript• since 2021 • Middle
TypeScript• since 2022 • Middle
Jest
Mocha
Supertest
Recommendations
  • Build and own REST API endpoints with auth, strong input validation and integration tests (use existing controllers and inputValidator as a base).
  • Expand integration testing into contract testing and negative-path coverage (add schema-based contract checks and explicit 4xx/5xx tests).
  • Add CI pipelines with selective test runs, artifact capture and quarantining rules for flaky tests.
  • Develop frontend React+Redux features and component tests using the existing setupTests and testing-library packages.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: