Bolu AjayiPortfolio ©2026
Loading the systems000

Hello.I'm BoluFull Stack Software EngineerBackend · Data · AILeeds, UK

05Years+shipping productionsoftware, end to end

I build products end to end: React and Next.js interfaces on top of FastAPI and Node.js services, PostgreSQL data models, payments, real-time systems and AI features. Currently leading the technology for SmartSustain, an Innovate UK funded platform used by five West Yorkshire councils.

ContactOpen to full-stack and backend roles. Previously Senior Backend Engineer at Falcon Aerospace, promoted from Full Stack Developer. MSc Software Engineering.

Available for workscroll↓
(01)About

I build whole products, from the screen someone taps to the database row it changes. The interface, the API, the payment that must not run twice, and the system that keeps working when nobody is watching.

Bolu Ajayi
Bolu AjayiLeeds, UK

I'm a full stack software engineer with five years of shipping production systems in Python, TypeScript, PostgreSQL and AWS. I started on the frontend, building web apps, dashboards and React Native apps across fintech, legal tech, commerce and aviation, and grew down the stack into the APIs, data models and infrastructure underneath them.

At Falcon Aerospace I joined on the React and Next.js booking flow, lifting booking-funnel retention by 22%, and was promoted to Senior Backend Engineer to own the FlyPJX backend: a booking state machine, idempotent Stripe payments, instalment plans and 100+ tests.

Now I lead the technology for SmartSustain, an Innovate UK funded planning platform used by five West Yorkshire councils, end to end: ETL over millions of records, geospatial queries, Elasticsearch search, a scoring engine, an AI agent with RAG on pgvector, and the map on top. Alongside it I'm finishing an MSc in Software Engineering, building Wevna, and contributing upstream to the AWS CDK.

01

Frontend

React, Next.js, React Native and TypeScript. Booking flows, dashboards, maps and mobile apps people use every day.

02

Backend & data

FastAPI, Node.js, PostgreSQL, Redis and Elasticsearch. State machines, payments, real-time services and ETL at scale.

03

Cloud & AI

AWS, Docker, Kubernetes and CI/CD, plus LangChain agents, RAG on pgvector and tool calling in production.

(02)Selected work

SelectedWork(05)

Ranked by what they demonstrate: a funded platform in production across five councils, a payments-grade booking system, a distributed system built to fail correctly, a developer tool shipped as a product, and a live-shopping marketplace. The rest of the work is in the archive.
01

SmartSustain

An Innovate UK funded planning platform used across five West Yorkshire councils: geospatial pipelines, site search, a deterministic scoring engine and an AI agent, from database to map.

700+

sites scored 0–100

5

councils served

M+

records through ETL

Platform
In production
2026 – present↗
02

FlyPJX

A private-jet booking platform at a regulated aviation company: a booking state machine, idempotent Stripe payments, instalment plans, audit logging and the React booking flow on top.

+22%

booking-funnel retention

~30%

faster key booking queries

100+

Pytest unit & API tests

Platform
In production
2024 – 2026↗
03

Fetch

A polyglot microservices food delivery platform — Python/FastAPI and Node.js/TypeScript services side by side — built to solve distributed-systems problems properly: distributed transactions, exactly-once effects over at-least-once delivery, and failure isolation that does not cascade.

6

services, 2 languages

11

event types over one exchange

5

provisioned dashboards

Distributed Systems
Active development
2026↗
04

Wevna

A local-first runtime dashboard for Node.js and Python backends, published as @wevna/sdk: every HTTP request, SQL query, Redis command and log line, correlated back into the request that caused it.

6

packages, one frozen protocol

0

bytes of network egress

1.0

with a published stability contract

Developer Tool
Active development
2026↗
05

Auqli Server

Backend services for a social live-shopping marketplace — auth, sellers, orders, payments, logistics, and the real-time layer behind livestreams, live bidding and chat.

10

domain modules

3

payment & logistics providers

Platform
In production
2022 – 2024↗
(03)Experience

Workhistory

Full-stack product work that grew into backend ownership: React and Next.js interfaces, FastAPI and Node.js services, PostgreSQL data models, payments, real-time systems and AI features — shipped to production and owned there.

Leading the technology for SmartSustain, an Innovate UK funded planning platform used across five West Yorkshire councils — from geospatial pipelines and search to an AI agent and the map on top.

5

West Yorkshire councils

700+

sites scored 0–100

Millions

records through ETL

  • 01Led the technology for SmartSustain, working with technical colleagues, planning officers and council stakeholders to turn loosely defined planning requirements into working features and explain trade-offs in plain terms.
  • 02Designed and built the FastAPI backend on PostgreSQL and SQLAlchemy, with async endpoints for site search, assessment, scoring, map data and the AI assistant.
  • 03Wrote ETL pipelines that clean, normalise and load millions of records from inconsistent government and open-data sources, and designed the data model and indexes to keep queries responsive at that size.
  • 04Built geospatial queries over flood risk, road noise, air quality and other environmental layers, with Redis caching and bounds-based queries so the map only loads data for the area in view.
  • 05Built an AI agent workflow with Python, LangChain and OpenAI models, letting planning officers ask natural-language questions that invoke backend tools, retrieve site-specific information and synthesise actionable insights.
  • 06Built the assistant's RAG pipeline on pgvector, combining vector search with location and metadata filters so answers are grounded in the data for that specific site.
  • 07Built Elasticsearch site search by address, postcode, council or developer, with typo-tolerant matching and faceted filters by sustainability score, developability and site size.
  • 08Implemented a deterministic, weighted scoring engine that rates 700+ candidate sites from 0 to 100 across environmental, economic, social and regulatory pillars.

Stack

Python / FastAPI / PostgreSQL / pgvector / Elasticsearch / Redis / LangChain / React / MapLibre / AWS

Built here

AlsoBackend engineering for DOT Solutions on a school management platform, and product work across Villaja, delivered as reviewed, merged pull requests rather than as a job title.
(04)Capabilities

Thetoolkit

97 entries across 10 areas, all of it backed by shipped work rather than exposure. Grouped by what the tooling is for, because that is closer to how the decisions actually get made.

Languages

01 / 08

Python is where most of the recent work sits, with TypeScript alongside it; the rest are where a problem called for them.

  • Python/
  • TypeScript/
  • JavaScript/
  • Go/
  • C/
  • C#/
  • Java/
  • SQL

Backend

02 / 15

API design, real-time transport and the data layer underneath. FastAPI first these days.

  • FastAPI/
  • Pydantic/
  • SQLAlchemy/
  • Node.js/
  • Express/
  • Fastify/
  • Gin/
  • REST API design/
  • GraphQL/
  • OpenAPI/
  • WebSockets/
  • Socket.io/
  • JWT & OAuth/
  • Zod/
  • Prisma

Frontend & mobile

03 / 09

The other half of full stack, shipped rather than dabbled in. Four React Native apps live on the App Store.

  • React/
  • Next.js/
  • React Native/
  • Expo/
  • Vue.js/
  • Tailwind CSS/
  • Vite/
  • MapLibre GL/
  • TanStack Query

Distributed systems

04 / 11

The patterns that make an event-driven system survive its own failure modes.

  • Microservices/
  • Event-driven architecture/
  • RabbitMQ/
  • Saga pattern/
  • Transactional outbox/
  • Inbox / idempotency/
  • Dead letter queues/
  • Circuit breakers/
  • Retry & backoff/
  • Schema versioning/
  • Rate limiting

Data

05 / 07

Relational and document stores, geospatial querying, Python ETL, caching and migrations.

  • PostgreSQL/
  • MongoDB/
  • MongoDB geospatial/
  • Redis/
  • Pandas/
  • ETL pipelines/
  • Database migrations

Cloud & DevOps

06 / 11

Provisioning, shipping and operating the systems above.

  • AWS/
  • Azure/
  • Docker/
  • Kubernetes/
  • Terraform/
  • Helm/
  • Linux/
  • Nginx/
  • GitHub Actions/
  • CircleCI/
  • Git

Observability

07 / 08

Instrumented by hand, verified against a running system rather than assumed.

  • OpenTelemetry/
  • Jaeger/
  • Prometheus/
  • Grafana/
  • Sentry/
  • Distributed tracing/
  • Structured logging/
  • Correlation IDs

AI engineering

08 / 10

LLMs as production components: grounded, tool-using, evaluated and auditable.

  • Claude/
  • OpenAI/
  • Gemini/
  • MCP/
  • Agentic tool use/
  • Retrieval over production data/
  • Prompt engineering/
  • LLM evaluation/
  • Claude Code/
  • GitHub Copilot

Integrations

09 / 09

Payments, identity, media and messaging wired into production systems.

  • Stripe/
  • Paystack/
  • Agora/
  • FFmpeg/
  • Smile Identity (KYC)/
  • Firebase/
  • Cloudinary/
  • AWS SES/
  • Expo Push

Practice

10 / 09

How the work gets built, reviewed and kept honest.

  • System design/
  • Architecture decision records/
  • Code review/
  • TDD/
  • Jest/
  • Pytest/
  • CI/CD/
  • Agile/
  • Technical leadership
(05)Open source

Sentupstream

Fixes and features for projects I actually use. Most of it is Python: the OpenAPI spec generator inside APIFlask and a scraping library's logging, plus the AWS CDK, a Node scheduler and a storage SDK. Every status tag is fetched live from GitHub.
PRapiflask/apiflask #760

A lightweight Python web API framework

Register nested Pydantic schemas used in parameter locations

Nested Pydantic schemas used in parameter locations were not being registered, so they went missing from the generated OpenAPI document. Fixed in the spec-generation path so the document reflects the shape the API actually accepts. Merged upstream.

↗
PRapiflask/apiflask #761

A lightweight Python web API framework

Support response headers in @app.doc(responses={...})

Extended the documentation decorator so a route can declare response headers alongside response bodies, closing a gap between what an API actually returns and what its OpenAPI spec describes.

↗
PRbisohns/search-engine-parser #191

Search engine result scraping for Python

fix: suppress noisy fake-useragent warning logs

The library emitted third-party warning logs on every call, polluting the output of anything embedding it. Suppressed at the source rather than pushing the workaround onto consumers.

↗
PRaws/aws-cdk #38401

AWS Cloud Development Kit

feat(rds): add SqlServerEngineVersion constants for engine v17

SQL Server 2025 (engine v17) became available on RDS with no corresponding constants in SqlServerEngineVersion. Opened through issue discussion, carried through design decisions and AWS maintainer review, including follow-up compatibility discussion around the new SQL Server Developer editions.

↗
PRhaydenbleasel/files-sdk #128

A unified storage SDK for object and blob backends

Infer content type from the key when listing S3-compatible buckets

Listing an S3-compatible bucket returned objects with no usable content type, because the list API does not include one. Fixed by inferring it from the object key, so listed objects carry the same type information as fetched ones.

↗
PRkelektiv/node-cron #1075

Cron for Node.js

fix(crontime): fall back to UTC when resolved timezone is invalid

An invalid or unresolvable IANA timezone string broke schedule resolution outright instead of degrading. Now falls back to UTC, so a bad config value costs you the timezone rather than the scheduler.

↗
(06)In the open

Commitlog

Pulled in real time from the public GitHub API for @boluwatifeajayi.

—

Contributions, last 12 months

—

Public repositories

—

Stars given

—

On GitHub since

Recently pushed

Languages

(07)Contact

Let'stalk.

Always up for a conversation about a product, a platform or an interesting technical problem. Currently open to full-stack and backend engineering roles, in Leeds or remote.

Based in

Leeds, United Kingdom

Availability

Open to remote roles