01 — The work

Production AI, treated like production software.

My focus is the boring part: making agentic systems reliable, observable, and safe enough to put in front of real users.

Day-to-day I lead AI and serverless work across enterprise systems. I built a Microsoft Teams assistant on AWS Bedrock that lets users trigger backend operations through natural conversation — with Lambda-based intent routing, structured JSON decisions, and confirm-before-invoke safeguards on destructive actions. I'm prototyping a Text-to-SQL agent over an HR / payroll database (PeopleSoft) with effective-dated row handling, so non-technical users can query their own data without writing SQL.

I'm also leading a migration of a decades-old VisualWorks Smalltalk + FileMaker stack onto a serverless AWS architecture — Lambda, API Gateway, DynamoDB, Cognito, Amplify — with Okta SSO and role-based access control. The work spans architecture, security, and the actual shipping of services people depend on every day.

The throughline across everything I do: AI where it earns its place, serverless where it pays for itself, and operational discipline so it all keeps working.

Panya Ou at Cal Poly graduation, 2023
02 — Education

Formal credentials.

A quick reference. The substantive learning is in the work itself.

Nearing completion Online

M.S. Software Engineering — AI focus

Western Governors University
  • Graduate-level coursework in software architecture, applied AI/ML, secure data systems, and production engineering practices.
2019 – 2023 San Luis Obispo, CA

B.S. Computer Science

California Polytechnic State University, San Luis Obispo
  • Fundamentals across data structures, algorithms, software architecture, and full-stack systems — Cal Poly's Learn-by-Doing model.
03 — Technical depth

What I reach for in production.

A small toolbox on purpose. Reliability over novelty, depth over breadth.

When I build agentic systems I'd rather own the prompt and tool surface than chain abstractions I can't debug. Structured outputs over freeform text, schema-grounded prompting over guesswork, and confirm-before-invoke on anything destructive. The stack below is in service of that posture — not the other way around.

AI / LLM systems
AWS Bedrock (Claude) · OpenAI API · multi-step tool use · structured outputs (JSON Schema) · schema-grounded prompting · Text-to-SQL over enterprise data · confirm-before-invoke guardrails · prompt engineering · n8n orchestration
Languages
Python (primary) · TypeScript · SQL · Bash
Cloud & Serverless
AWS Lambda · API Gateway · DynamoDB · Cognito · Amplify · Bedrock
Backend
Node.js · tRPC · Prisma · PostgreSQL · Flask
Frontend & Mobile
React · Next.js · React Native · Expo · Tailwind CSS
Infra & Identity
Docker · Linux · Nginx · Okta SSO · OAuth2 · role-based access control · Git
Working knowledge
Java · C# / .NET · enterprise systems (PeopleSoft, Canvas LMS)
04 — How I work

Four principles I keep coming back to.

i.

AI where it earns its place.

LLMs are a tool, not a feature. The question is whether the model makes the system better — not whether the badge looks good.

ii.

Design the system before the screen.

Data model first, then the API, then the UI. The hardest bugs live in the seams between layers — agentic systems amplify this.

iii.

Build for the real world.

Software that survives contact with users. I'd rather ship something honest than something that demos well.

iv.

Stay close to the craft.

Steady reps on small experiments, side projects, and field notes. Most of what I know didn't come from a class.

Get in touch

Open to freelance AI and software engineering work.

Open to contract work and conversations — happiest talking about how systems get built.