44r0n@mainframe:~$ whoami --verbose
NAME Aaron Davidge
ROLE Software Engineer
EDU ~110 credit hours toward a B.S. in Computer Science
(Southeastern Louisiana Univ. · LSU) — algorithms, data
structures, assembly, theory of computation, enterprise development,
calculus through III, probability and differential equations,
Self-taught everything after that.
FOCUS Agent backends on Google's stack. FastAPI in a container
on Cloud Run, Gemini behind it, Model Armor either side.
ALSO Security-minded by habit — I read exploit write-ups and CVE postings for fun
and design like someone's going to poke at it.
STATUS ◉ OPEN TO WORK — remote, hybrid, onsite. Will travel.
44r0n@mainframe:~$ cat ~/.philosophy
Most "AI projects" are a prompt in a trench coat.
I care about the unglamorous half: webhooks that survive a retry,
agents that admit when they don't know, and shipping something a
real person can click instead of a notebook nobody runs.
Everything in this profile is live.Honest status flags.
SHIPPED= live, go use it.BUILDING= works, still on it.STATIC / WIP= the front end is real, the backend isn't wired yet. I don't list things that don't exist.
| Link | What it is | Stack | Status | Code |
|---|---|---|---|---|
| A4RON.AI | Containerized FastAPI agent on Cloud Run, fronted by an Application Load Balancer at api.aarondavidge.com, with Model Armor screening traffic in both directions around Gemini 3.5 Flash. Conversational only today — retrieval and tool calling are next. |
Cloud Run Docker FastAPI Load Balancer Model Armor Gemini 3.5 Flash |
🟢 SHIPPED | |
| 0DAY-RCA-PIPELINE | Automated pipeline ingesting Google Project Zero's root-cause analyses of in-the-wild zero-days into structured, queryable records. Handles messy source formatting and dedupes on re-run. | Javascript Scraping Scheduled ingest |
🟢 SHIPPED | |
| HOME | The hub tying the whole aarondavidge.com ecosystem together. Hand-built, no framework, full SEO + OG metadata. |
HTML Tailwind JavaScript |
🟢 SHIPPED | |
| STORE | Storefront for the 44R0N mech line. Static build with demo product cards today — Stripe integration and real merch are the next phase. | HTML Tailwind JavaScript |
🟢 SHIPPED | |
| BLOG | Field notes from the workshop — AI engineering, agentic development, and whatever broke this week. Static build, no CMS yet. | HTML Tailwind JavaScript |
🟢 SHIPPED | |
| MCP Server | MCP server for the SAM.gov Get Opportunities API — search federal contract opportunities from Claude in plain English | Python |
🟢 SHIPPED |
Not a generic reference diagram — this is A4RON.AI as it actually runs today, with the roadmap drawn separately instead of pretending it's already there:
flowchart TD
V([Visitor]) --> PAGE["aarondavidge.com/assistant.html"]
PAGE -->|HTTPS| LB["api.aarondavidge.com<br/>Application Load Balancer"]
LB --> RUN["Cloud Run<br/>FastAPI in Docker"]
RUN --> MA{{"Model Armor<br/>inbound screening"}}
MA --> LLM["Gemini 3.5 Flash<br/>configured in Agent Studio"]
LLM --> MA2{{"Model Armor<br/>outbound screening"}}
MA2 --> RUN
RUN --> PAGE
RUN -.->|out of depth| ESC[Human Escalation]
ESC -.-> MAIL([Contact form])
subgraph RM ["◐ ROADMAP — not shipped yet"]
direction LR
SUB["assistant.aarondavidge.com<br/>dedicated subdomain"]
RET[Retrieval Layer] --> IDX[(Embedded site<br/>+ project content)]
TOOL[Tool Calling]
end
RUN -.next.-> RET
RUN -.next.-> TOOL
PAGE -.next.-> SUB
style LLM fill:#7C3AED,stroke:#00E5FF,color:#fff
style MA fill:#22C55E,stroke:#fff,color:#04070e
style MA2 fill:#22C55E,stroke:#fff,color:#04070e
style LB fill:#00E5FF,stroke:#fff,color:#04070e
style ESC fill:#FF4D6D,stroke:#fff,color:#fff
style RM fill:#04070e,stroke:#444,color:#888
Design decisions worth defending: nothing reaches the model unscreened and nothing reaches the user unscreened — Model Armor sits on both legs, because a public bot on my own domain is an open prompt-injection surface. The agent runs as a container on Cloud Run behind a load balancer, so the public endpoint is decoupled from the runtime and the deploy is reproducible. The bot carries a visible "AI · can be wrong" disclosure and always has a path to a human.
Retrieval comes next. Until it's grounded, an agent that confidently invents my résumé is worse than no agent — so it stays scoped to what it can actually answer.
◉ IN PRODUCTION ── shipped something real with these
Python · JavaScript · HTML/CSS · Tailwind
Gemini 3.5 Flash · Model Armor · Agent Studio
Gemini Enterprise Agent Platform · Google AI Studio
Google ADK · Model Garden · Antigravity
FastAPI · REST API design · Docker
Google Cloud — Cloud Run · Application Load Balancing
Git · GitHub Actions · GitHub Pages
◑ FROM COURSEWORK ── academic work, not production
C++ (data structures) · Java (algorithms I & II) · Assembly
Bash (systems administration) · Python (data science, Kaggle)
React · Redux · Express · MongoDB (software engineering)
Calculus I–III · calculus-based statistics (continuous and
discrete distributions) · differential equations
◐ IN THE LAB ── actively learning, not yet shipped
RAG · embeddings & vector search · tool calling
multi-agent orchestration · agent evaluation harnesses
Flutter · PostgreSQL · Stripe · Kubernetes
○ NOT CLAIMING ── because I haven't done it yet
everything elseThat last block is deliberate. I'd rather you trust the first list.
Security isn't my job title, it's how I build. I read exploit writeups and root-cause analyses for fun — that's literally what the 0DAY-RCA-PIPELINE exists to collect — and it shows up as secrets hygiene, screening what reaches my models, and assuming user input is hostile.
- 📋 Disclosure policy: aarondavidge.com/security
- 🔐 Found something in one of my projects? Follow the policy above. I respond, I credit, and I don't lawyer.
Why are there offensive-tooling forks on this profile?
Forks of projects like TrollStore and SeaShell are reading material, not my work — iOS jailbreak and post-exploitation frameworks I've studied to understand entitlement abuse, persistence, and mobile attack surface. Same reason I fork adk-samples: I learn by reading other people's code.
Anything I actually wrote is listed in the projects table above and says so.

