Frank Hayes. Building the infrastructure for the AI era.

Purpose-built backend systems and autonomous product tools. Setting a new standard for reliability, speed, and clean architecture.

Nairobi, Kenya
Frank
frank-workspace
scrapebet/
agent.py
tools.py
config.yaml
models/
mpesa-sdk/
rehab-pms/
agent.py
tools.py
1# scrapebet — autonomous sports analytics agent
2from google.adk import Agent, tool
3from langchain_google_genai import ChatGoogleGenerativeAI
4from .tools import scrape_spanish_bookmakers, send_alert
5 
6@tool
7async def analyze_value_bets(market: str) -> list[Bet]:
8 """Scrape odds and identify value bets."""
9 odds = await scrape_spanish_bookmakers(market)
10 predictions = model.predict_value(odds, threshold=0.08)
11 for bet in predictions:
12 await send_alert(bet)
13 return predictions
14 
15agent = Agent(
16 model="gemini-2.0-flash",
17 tools=[analyze_value_bets, scrape_spanish_bookmakers],
18 instruction="You are an autonomous sports analytics agent."
19)
TerminalProblemsOutput
$ python -m scrapebet.agent --market=laliga
[agent] Initializing scrapebet agent...
[tool] scrape_spanish_bookmakers() → 12 bookmakers found
[model] Evaluating probabilities via gemini-2.0-flash...
[result] Value bet: Real Madrid ML +0.12 edge @ 2.10
[agent] Alert sent to Telegram channel.
AI
Gemini Agentjust now

Found 3 value bets in LaLiga markets:

Real Madrid ML → +0.12 edge
Betis Over 2.5 → +0.09 edge
Atletico DNB → +0.11 edge
Message Agent...
PythonTypeScriptC++DockerLaravelVue.jsPostgreSQLLangChainPythonTypeScriptC++DockerLaravelVue.jsPostgreSQLLangChainPythonTypeScriptC++DockerLaravelVue.jsPostgreSQLLangChainPythonTypeScriptC++DockerLaravelVue.jsPostgreSQLLangChain

A different kind of engineer. Building backend systems and autonomous agents that handle real-world complexity — from fintech APIs to AI-powered analytics pipelines.

FIG 0.2

Built for scale

Backend systems designed for real load. Multi-tenant, observable, and fault-tolerant from day one.

FIG 0.3

Powered by agents

Autonomous AI pipelines that make decisions, use tools, and take real actions in production.

FIG 0.4

Designed for velocity

Clean architecture and tight feedback loops. Ship fast, iterate faster, break nothing.

Autonomous systems that execute in the wild.

Building agents that don't just chat, but actively track data, run predictive models, and trigger real-time actions.

Identify value bets at scale

Take the guesswork out of sports trading with autonomous agents that track live odds across 12 bookmakers and surface profitable edges using ML.

PythonLangChain
Market ExplorerLaLigaPremier League
MatchImplied Prob.Edge
Real Madrid vs Barcelona45.2%+0.12
Atletico Madrid vs Sevilla38.8%-0.04
Valencia vs Betis52.1%+0.03
Athletic Club vs Real Sociedad30.5%-0.08
Getafe vs Celta Vigo41.0%-0.02
terminal — scrapebet.py
Scrapebet AgentJust now

Identified highly profitable value bet in LaLiga markets. Model confidence is 94%.

Real Madrid (+0.12 EV)
Odds: 2.10 @ Bet365

Manage operations seamlessly

Centralize patient records, scheduling, and billing. A multi-tenant PMS empowering 100+ rehabilitation centres across Kenya to operate efficiently.

LaravelVue.js 3
Nairobi Rehab Center
Overview & Analytics
Active Patients
142
Appointments Today
38
System Uptime
99.9%
Upcoming Schedule
09:00
Patient Intake - John D.
11:30
Group Therapy Session
14:00
Medical Evaluation
Paid
Invoice #INV-2049
Insurance claim settled via API
KES 45,000

Integrate payments with confidence

A high-performance C++17 SDK for Safaricom's Daraja API. Built with mutual TLS and OpenTelemetry for bulletproof, observable fintech infrastructure.

C++17OpenSSL
src/stk_push.cpp
auto payload = json{ {"BusinessShortCode", req.shortcode}, {"Password", generate_password(req.shortcode, req.passkey)}, {"Amount", req.amount}, {"PartyA", req.phone_number} }; return http_client_->post("/mpesa/stkpush/v1/processrequest", payload.dump());
M-PESA
Do you want to pay KES 4,500 to Rehab Center?
Enter PIN
Cancel
OK
[OpenTelemetry] Trace exported successfully
[TLS] Mutual authentication established (Safaricom CA)
[HTTP] POST /mpesa/stkpush/v1/processrequest
[HTTP] 200 OK — CheckoutRequestID: ws_CO_280...

Predict outcomes with precision

A production-grade ML ensemble recommendation system. Processing high-dimensional data to deliver reliable, high-stakes predictions in real-time.

Pythonscikit-learn
ScoreSense Model Dashboard
Live Inference Metrics
Accuracy
86.4%
Latency (p99)
45ms
Data Points
1.2M
model.py
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier

# Initialize the ensemble
ensemble = VotingClassifier(
estimators=[
('rf', RandomForestClassifier(n_estimators=100)),
('xgb', XGBClassifier(learning_rate=0.05))
],
voting='soft'
)
High Confidence
Prediction Ready
Ensemble agreement threshold reached.
Outcome A82%

Design that ships

A modern, high-performance portfolio engineered with Next.js App Router and Framer Motion. Featuring bespoke Linear-style design systems and autonomous AI agents.

TypeScriptNext.js 15
src/app/page.tsx
export default function Home() {
return (
<main className="linear-bg">
<Header />
<Hero />
<LogoStrip />
<Projects />
<Skills />
</main>
);
}
Lighthouse Score
100
Performance
FCP
0.4s
LCP
0.6s
Framer Motion

Orchestrated smooth, hardware-accelerated animations throughout the entire DOM tree using Layout animations and AnimatePresence.

Velocity multiplied by AI

Architected for scale

I don't just build fast—I build robust. By deeply integrating autonomous LLM agents into my workflow, I engineer multi-tenant backend systems and fintech platforms designed to handle real business scale from day one.

Rapid time-to-market

Beyond writing code, I engineer end-to-end autonomous pipelines that drastically reduce boilerplate and overhead. This radically accelerated feedback loop allows me to ship production-ready features in a fraction of the traditional cycle time.

Time to production (days)
Features
Integrations
Core Systems

Ready to accelerate your velocity?

Whether you need to build complex autonomous systems, integrate mission-critical fintech APIs, or just want to talk about agentic architectures.