London → Atlanta → Houston  ·  Remote  ·  Open to roles

Andrew Bolaji

Applied AI and solutions engineer. Nine years in production systems across financial services, EdTech, e‑commerce, and manufacturing, now building AI systems where the security model is the product. I build for the day it breaks.

Looking for: Forward Deployed Engineer, Solutions Engineer, Implementation Engineer, or Applied AI Engineer. Remote, based in Houston, up to 40 percent travel to be on site with customers.

Andrew Bolaji
Live now  ·  AI voice agent
515‑608‑4723

I built this. It answers as a receptionist for a home services company. Tell it your AC is leaking and it will work out that it is urgent, ask what a good dispatcher would ask, and walk the booking through end to end. Ask what it is and it will tell you that too.

On this public number the calendar write and the confirmation text are simulated, so nothing lands in a real calendar or on your phone. Wired into a client’s systems, that last step is a real write.

Every other line on this page is something you have to take my word for. This one is not.

Tap to call.

9
Years
engineering
7
Products shipped
end to end
61
Adversarial evals
gating every commit
2
Live AI systems
you can use now
Selected work Each one ends on the decision that made it work

One argument runs through all seven: the guarantee belongs in the structure, not the interface. A paywall the client can bypass was never enforced, a compliance record you can delete is not a record, and a safety rule written into a prompt is a request. Every “hard part” below is the place where that rule actually lives.

Applied AI · Security

Custos

Live

A private AI assistant that answers questions about a company’s internal documents. Indexing stays inside your environment: the embedding model runs locally and the vector store is self-hosted, so your corpus is never shipped to a third party to be indexed or stored. Generation calls Claude, so the passages retrieved for a single answer do go out on that one call. That is the boundary, it is documented, and generation is the one component designed to be swapped for a local model. Answers are scoped to what you are allowed to see, and every one of them cites the source it came from.

The hard part

The gate holds after the model is compromised. In red-team testing a poisoned document convinced the assistant to send an email, and it genuinely tried. The email never went, because tools with real-world effects cannot execute themselves. They return a single-use token that only a human confirmation redeems. Detection eventually fails against an attacker with unlimited attempts. That is the argument for putting the control underneath it rather than in front of it.

Custos answering an HR question with every email address masked
HR query, general access. Every email in the answer comes back masked.
PythonFastAPIQdrantClaudeReactDocker
Applied AI · Voice

Porter

Live

The agent in the callout at the top of this page. Retell AI for voice, Claude and GPT for reasoning, Twilio for telephony. Because a system prompt is the product and can regress silently, it ships behind a containerised eval harness: 43 scripted scenarios, deterministic replay, CI-enforced on every push, across extraction, urgency classification, guardrail adherence, escalation precision and recall, and adversarial prompts.

The hard part

The first run failed, and the eval was wrong, not the agent. Three of the failures turned out to be false positives in my own scorer, including a regex that flagged “we don’t do landscaping” as an invented service. Trusting the scorecard would have meant fixing a prompt that was not broken. A harness you have not audited is just confidence with extra steps.

Retell AIClaudeOpenAITwilioPythonFastAPI
Web · Compliance

Roster

In production

Operations and compliance software for regulated housing operators, built to a municipal ordinance with mandatory incident reporting and a five-year records retention minimum. Applicant intake, resident records, QR check-in, and a shareable inspector view.

The hard part

Hard DELETE is blocked at the database level. Not discouraged, blocked. A compliance record you can destroy is not a compliance record. Public form IPs are SHA-256 hashed, check-in photos are EXIF-stripped in the browser so GPS never reaches the server, and every anonymous endpoint runs through a function that whitelists the exact fields it can return.

React 19TypeScriptSupabasePostgres / RLSZod
Data · Cloud

Reckon

Deployed

A business intelligence platform. Three data sources into a warehouse, cleaned and modeled with dbt, served through an API to a dashboard, with an AI copilot that answers questions in plain English. Infrastructure provisioned with Terraform and deployed to Kubernetes on AWS.

The hard part

Bad data stops the pipeline, not the dashboard. Data-quality and freshness tests run inline with the transformation, so a failing test stops downstream models from materializing. Stale numbers never reach a screen someone is about to make a decision from. The copilot follows the same rule from the other direction: it refuses to answer on stale data rather than guessing, and its limits live in a read-only database role instead of in the prompt, so even a fully manipulated model cannot reach a raw record.

Reckon cloud architecture on AWS
52 Terraform-managed resources. Deployed and torn down on real AWS.
PythondbtRedshiftFastAPITerraformEKSHelm
Client work Constraints I did not choose, still in production

Built for the owner of a private telehealth practice, a solo psychiatric nurse practitioner. Patient intake, calendar and booking, payment collection and transactional email, integrated with SimplePractice, the electronic health record system the practice was already running on. In production and still in use.

What made it different

Every other thing on this page, I chose the constraints. Here I did not. The intake and clinical wording had to sit inside the practice’s HIPAA obligations, the coverage information could only list the insurance plans she actually accepts, and the whole flow had to hand off to the EHR she was already paying for rather than the one I would have picked. That is the job: the customer’s environment is the specification, and you deliver into it rather than around it.

IntakeSchedulingPaymentsTransactional emailSimplePracticeHIPAA-aware copy

Also built Junta, a two-sided roofing marketplace built for the site owner, where escrow had to be built against Stripe Connect’s automatic daily payouts rather than on top of them. Deployed at pilot scale with payouts in Stripe test mode. Vouch, an iOS and Android app with a server-enforced paywall, 452 tests. Chants, where vote counters are recomputed from ground truth and set to an absolute value, because Cloud Functions fire at least once and not exactly once.

Experience 2017 → now
Oct 2022 → now
Senior Application Support Engineer
Vestmark · Wakefield, MA (Remote)

Technical liaison between enterprise financial institutions and engineering on the VestmarkONE wealth management platform. Own Tier-2 and Tier-3 escalations end to end: SQL optimization, XML configuration, REST integrations, SAML and SSO. Root-cause and impact analysis across portfolio management and trading workflows, then partner with engineering on the permanent fix rather than the patch.

Feb 2021 → Oct 2022
Senior Software Support Engineer
Veracross · Wakefield, MA (Remote)

Backend support and solutions for 300+ institutional customers across 20+ countries on an EdTech SaaS platform. Custom SQL reporting, Python tooling, API integration troubleshooting. Mentored three junior engineers on debugging, SQL, and client communication.

Mar 2019 → Feb 2021
Software Support Engineer
SSI Schäfer · Atlanta, GA

Java-based warehouse management systems processing millions of daily e-commerce transactions, including Walmart. SQL for migrations, corrections, and production diagnosis. Selected for on-call second-shift coverage of mission-critical systems.

Sep 2017 → Mar 2019
Software Developer
Honda Manufacturing of Indiana · Greensburg, IN

Java on a live assembly-line control application running real manufacturing operations at a target of 1,000 cars per day. Real-time plant signboard systems and business intelligence in Tableau and SAP BusinessObjects.

Stack What I reach for
Applied AI Claude and OpenAI APIs · Voice agents (Retell AI, Twilio) · RAG · Prompt engineering and tool calling · Agent orchestration (custom agent loop, tool registry, execution gating) · Embeddings and vector search (Qdrant, local models) · Prompt-injection defense · PII redaction · Eval harness, red-team and guardrail design
Cloud & infrastructure AWS (EKS, Redshift, S3, ECR, IAM) · Terraform · Kubernetes · Helm · Docker · Linux server administration · Reverse proxy and automatic TLS · DNS · Prometheus, Grafana, Loki
Data SQL (PostgreSQL, MySQL, SQL Server, Redshift) · dbt · Data modelling (raw, staging, marts) · Data-quality and freshness gating that blocks the build · Warehouse and S3 data lake
Languages Python · SQL · TypeScript / JavaScript · Dart · Swift · Java
Backend & product FastAPI · Supabase (Postgres, row-level security, Edge Functions) · Firebase (Firestore, Auth, Cloud Functions) · Stripe Connect · REST · Webhooks · SAML / SSO · React 19 · Next.js · Flutter
Testing Automated testing (unit, integration, security-rules and RLS isolation against live databases) with CI gates that block the build. Adversarial review at every milestone.
Enterprise Tier-2 / Tier-3 escalation · Requirements and functional specs · Root-cause and impact analysis · UAT · SaaS implementation · Agile / Scrum