SENIOR SOFTWARE ENGINEER · SOUTH SAN FRANCISCO
I build the platform other frontend teams ship on.
TypeScript and React since 2018: component libraries, module federation, Core Web Vitals and frontend SLOs. Lately, AI in the delivery path — code-generation harnesses, and a secure gateway that opens internal AI platforms to third-party agents.
- Experience
- Since 2018
- Teams
- Indeed · IBM · J.B. Hunt
- Open source
- 2 packages on npm
Scroll: the blocks rearrange for each section
Selected work
Things I’ve shipped.
Two npm packages, a multi-agent LLM pipeline, and tooling used inside Indeed.
r3f-projectiles
NPM · MITA GPU-instanced projectile engine for React Three Fiber. Seven pattern generators and six modifiers compose into a single instanced draw call, held in place by 553 assertions across 13 spec files.
roblox-css
NPM · LGPL-3.0Write familiar CSS — flex, grid, gradients, calc — and get native Roblox UI. Hand-written parsers resolve dimensions, colors and linear-gradient() into UDim2, Color3 and UIGradient at render time, and a React layer injects the matching UI constraint instances. Held in place by 1,338 assertions across 12 spec files.
Agentic AI Video Creator
AGENTIC AI · MITA six-stage agentic pipeline that turns an episode transcript into a narrated video. A workflow orchestrator drives sub-agents for transcript discovery, Gemini generation and compilation, with the model bound to a Pydantic schema so everything downstream gets a fixed shape instead of prose to parse. Six validators score their own stage against a gate table that decides whether a weak one degrades the run or stops it. 149 tests passing.
Indeed Analytics Extension
AT INDEEDA GenAI analytics extension that cut ad-campaign troubleshooting 20% for Customer Support, turning a manual diagnostic process into one click. Manifest V3 and React over a stateless bridge that carries no auth tokens, with strict input allowlists and automatic URL sanitization on the way through.
Internal to Indeed — no public link
EXPERIENCE · 2018 – NOW
Since 2018, five steps up.
- DEC 2024 – JUN 2026
Indeed.com
Senior Software Engineer
Led frontend platform and AI-tooling work at Indeed: AI-assisted code generation and workflow harnesses that shortened delivery, a secure gateway that externalizes internal AI platforms to third-party clients and agents, and the OneHost micro-frontend migration — co-architected with the principal architect, executed with a team of 6. Mentored ~12 engineers along the way.
Reduced pickup-to-merge cycle time by 10%.
- AUG 2022 – DEC 2024
Indeed.com
Software Engineer II
Shipped the consumer-facing half: apply-flow performance for 680M+ users, WCAG accessibility across 20+ shared React components consumed by 5 teams, and the analytics extension Customer Support troubleshoots ad campaigns with.
Cut Time to Interactive 15% in the apply flow.
- SEP 2021 – AUG 2022
IBM
Software Engineer II
Rebuilt IBM Developer on React and re-tuned its Webpack pipeline for build time, bundle size, and Core Web Vitals.
Bundle 6 MB → 300 KB, reclaiming 20+ engineer hours per week across a team of 10.
- MAY 2019 – SEP 2021
IBM
Software Engineer
Delivered a modernized customer service agent portal and the Apollo GraphQL API behind GolfTV.
Agent portal: 30% faster API response.
- JUN 2018 – DEC 2018
J.B. Hunt
Application Development Intern
First engineering role: cross-platform mobile features delivered with their own Jest and Appium coverage.
Added Jest/Appium test suites to raise release confidence.
Recommendations
“He helped take these projects from planning to implementation. Kaleb did a great job in helping propose designs, scoping the work, and distributing the tasks in such a way that the team could efficiently tackle the features - delivering them within the deadlines based on scope. At Indeed we are expected to be full-stack and Kaleb demonstrated this in all the projects we worked on together. In addition, he was an effective communicator - no tasks ever got stale or stuck.”
“His React knowledge and the way he drove the effort of transforming our platform into a React app allowed for much more flexibility and reliability than we had seen previously. … He assisted many others on our team in getting up to speed on new technologies and codebase.”
“Kaleb is extremely thoughtful and talented, he served as our resident React expert. Kaleb built a web-based tool for managing open-source clearance across all of IBM while he was in my squad. This tool is instrumental in IBM’s success in open-source.”
Bachelor of Science in Biological Sciences, University of Arkansas (Cum Laude, 2017) · Full-Stack Web Development Certificate, Northwestern University (2019)
Peer-reviewed: “Microdialysis Sampling of Quorum Sensing Homoserine Lactones during Biofilm Formation,” Analytical Chemistry (ACS), 2019. doi:10.1021/acs.analchem.8b05168 (opens in a new tab)
HOW THIS SITE IS BUILT
The background is a Blender file.
Each block is a named part with its own pivot, generated by a Python script. The page moves those parts as you scroll, and every preview deploy checks them against a budget.
Design
Sketch each section and what the blocks should do there.
Build in Blender
A Python script generates the blocks and exports hero.glb.
Animate on the web
React Three Fiber moves the parts on scroll. Without WebGL the page simply drops it.
Verify
Playwright captures each section; budgets guard file size and draw calls.
- lint — passingnpm run lint
- unit tests — passingnpm run test:unit
- production build — passingnpm run build
- end-to-end — passingnpm run test:e2e
- hero.glb size — passing8.5 KB of 500 KB budget
- homepage JS — passingevery <script src> in the prerendered page; the lazy 3D scene is not counted161.2 KB gzip, ≤ baseline + 1 KB
- mid-range phone — passingemulated: 4× CPU, 1.6 Mbps, production build — not a physical handsetLCP 0.8s, CLS 0.00
- draw calls per frame — passingasserted as a range, not a ceiling — a blank canvas passes "≤ 10"1.00, in (0, 10]
The fit checker ships without a model.
I tested on-device language models (0.3–1 GB downloads) against plain code, first on 8 job descriptions, then on 12 real postings the rules had never seen, labelled independently. Asked to read whole postings, the models lost badly. Redesigned to answer only the yes/no questions code was unsure about, they matched code within noise, which doesn’t justify the download. So the fit checker runs no model: it is instant, works on every device, and the job description never leaves the page. A small on-device chat bot went through the same test and was dropped too: its answers read well but embellished in ways no automatic check could catch.
GET IN TOUCH
Let’s build the next platform.
Four quick fields, or email me directly at KalebKougl@gmail.com
Use with your AI
Ask your assistant about my work directly. This MCP server answers with sourced evidence from this site. It is read-only and needs no sign-in.
Server URL
https://kalebkougl-portfolio.vercel.app/api/mcp- Claude
- Settings → Connectors → Add custom connector, then paste the URL.
- Claude Code
claude mcp add --transport http kaleb https://kalebkougl-portfolio.vercel.app/api/mcp- Cursor
- Add this to
.cursor/mcp.json{"mcpServers":{"kaleb":{"url":"https://kalebkougl-portfolio.vercel.app/api/mcp"}}}
No MCP support? The same facts are in /llms.txt.
© 2026 Kaleb Kougl · South San Francisco, CA