Product Engineer · Cloud & AI Systems

Princess
Okafor

I build production AI systems end to end, from infrastructure and security architecture through to the product people actually touch. I don't stop at making things work; I make them explainable, auditable, and trustworthy by design. Right now I am building AI agents.

GCP ACE GCP PCNE Terraform FastAPI · Cloud Run Vertex AI · Gemini BGP · HA VPN
Princess Okafor
Now building

AI agents

I am working through an agent engineering bootcamp, structured in four stages: build, scale, govern, optimise, with labs submitted weekly. Both agents below run on Google's Agent Development Kit with a CopilotKit front end.

Lab work · in progress

Social Spark

The bootcamp's teaching agent. The instructor supplies the base build and we fork it, then extend it through the weekly lab sequence. Hand it a topic or a rough draft and it researches the subject, writes a post shaped for the platform you are targeting, and publishes it through Buffer or straight to the platform.

Credit where it is due: the foundation is the instructor's, not mine. My work is the extensions each lab asks for.

Google ADKCopilotKitBuffer
Designing · unnamed

Trip planner

My own build for the back half of the bootcamp. You give it the constraints that actually decide a trip, how many of you are going, the budget, the vibe you are after, and it plans the whole itinerary around them rather than returning a list of attractions.

The next piece is an MCP server wrapping GetYourGuide and Booking.com, so the agent can price and book what it proposes instead of just suggesting it.

Google ADKMCPCopilotKit

These are labs and works in progress, not finished products. A build series follows when there is something worth writing up.

MSc dissertation

VERA

Verified · Explainable · Responsible Assessment

Automated hiring tools are under growing legal and regulatory scrutiny, and for good reason. Most operate as black boxes: no audit trail, no explainability, no defence when a candidate challenges a decision. VERA was my attempt at the opposite.

It runs structured, conversational assessments with no video and no audio. A recruiter defines the role, VERA generates a competency framework that a human has to approve before any evaluation begins, and every score is anchored to that rubric and evidenced by the candidate's own words. No facial analysis, no biometric data, no opacity.

My dissertation is its integrity layer, which addresses the problem that moving to text creates: once an assessment is typed, the answers could have been written by a language model. Every obvious fix reintroduces the bias I was trying to escape, so the layer compares each candidate only against their own earlier baseline, using nine coarse per-turn aggregates that describe behaviour without identifying anyone.

I evaluated it against eight synthetic adversarial agents, each with its expected result committed to source before the run. All eight landed where predicted, including the two built specifically to defeat the system. They did defeat it, which is the finding I most wanted to report rather than quietly repair.

VERA is no longer in active development. It remains the deepest system I have built, and the build series is the full account of how it worked and where it broke.
Read the build series
8/8
Adversarial agents classified as predicted
<10s
Framework generation, was 8m 25s
9
Coarse aggregates per turn, and nothing else
0
Biometrics collected, by construction
Every candidate receives a score, evidence, and a reason
No facial analysis, no voice scoring, no biometric surveillance
Integrity findings are ordinal evidence, never a numeric likelihood, because a number invites a reviewer to defer to it instead of reading the evidence
Each candidate is compared only against their own baseline, never against a population
Only candidates faster than their own baseline are flagged. Slowness is nerves, fatigue or disability, and is never penalised
Every report states the forms of assistance the system cannot detect, including the clean ones, so "could not measure" is never dressed up as "found nothing wrong"
VERA never rejects anyone autonomously. It produces the evidence and a human makes the call
From the blog

Writing

VERA · Build series
31 Mar 2026 HA VPN with BGP: Building Enterprise-Grade Hybrid Connectivity on GCP ↗ 29 Mar 2026 From Local Inference to Hybrid Cloud: Setting Up Ollama on Apple Silicon and Connecting It to GCP ↗ 21 Mar 2026 How I Built My Technical Blog with Hugo, GitHub Actions & a Custom Domain ↗
Selected work

Projects

◇ 01
AIVA · Emotionally Aware AI Budgeting

MSc capstone. A modular Python/FastAPI service on Cloud Run, built on the insight that financial decisions are emotion-driven. Debugged a cascading failure where horizontal autoscaling masked upstream API exhaustion, then fixed it with rate limiting and wrote it up as a post-incident review.

FastAPICloud RunRAGGemini
◈ 02
Bloom · Plant Diagnosis

Lead architect, 4th place at the GDG London hackathon. Diagnoses plant health from a photo and generates an image of what the healthy plant should look like. Multi-model pipeline orchestrating Vertex AI and Imagen, shipped to Cloud Run in 36 hours with runtime secret retrieval.

GeminiImagenFirestoreCloud Run
◉ 03
Hybrid AI Inference Platform

Local LLM inference (Ollama) routed to isolated cloud VMs across a dual-VPC Terraform architecture with an HA VPN mesh and BGP dynamic routing. Sub-40s reconvergence validated by failure-injection testing on live tunnels. Written up in three posts.

GCPBGPTerraformOllama
↗
Background

About
me

2×
GCP Certified
3 yrs
Product Design (prev.)
MSc
Applied Comp. Sci · Lincoln
2026
MSc submitted · Aug

I build things that should not exist yet but clearly should, and then I write about the infrastructure that makes them run.

I came into engineering through product design, three years of it, most recently at a payments company. That history is not behind me: it's the reason my systems have users at one end and infrastructure at the other, and I think about both at once.

I hold a BEng in Computer Engineering and two GCP certifications: Associate Cloud Engineer and Professional Cloud Network Engineer. My MSc in Applied Computer Science at the University of Lincoln was submitted in August 2026; I'm awaiting final results.

My dissertation is the integrity layer inside VERA, titled a non-biometric, self-referential integrity layer for AI-mediated hiring assessment. Moving an assessment from video to text removes an entire class of bias, but it creates a new problem: the answers could have been written by a language model. Every obvious fix reintroduces the bias I was trying to escape. AI-text detectors misclassify non-native English writers as machine-generated 48 to 76% of the time, keystroke dynamics are a biometric that identifies the person, and webcam proctoring penalises anyone who fidgets.

So the layer compares each candidate only to their own earlier baseline. Nine coarse per-turn aggregates, with no identity, no answer text and no competency scores: enough to tell composing from transcribing, not enough to identify anyone. It flags only candidates faster than their own baseline, reports ordinal evidence rather than a numeric verdict, and is a standalone Python package with no import path to the scoring code, so the separation is verifiable by reading the imports rather than trusting my description of them.

I evaluated it against eight synthetic adversarial agents, each with its expected result committed to source before the run. All eight landed where predicted: no false positives on the honest profiles, all three forms of assistance caught, and the two agents built to defeat the system defeated it, which is the result I most wanted to publish. A method that measures deviation from your own baseline cannot catch someone who was assisted from the very first turn, because their baseline is assisted too. No threshold fixes that. Naming the blind spot is more useful than pretending it closed.

I write about what I build. Not tutorials, but honest working notes from inside the architecture. What broke. What I traded away. What I'd do differently. If you're building something too, that's the stuff that's actually useful.