Patti Degner · Denver, Colorado

Senior Software Engineer

I build production systems on AWS and developer tools powered by AI.

My work spans cloud infrastructure, backend engineering, data platforms, and agentic workflows, with an emphasis on systems that are reliable, maintainable, and genuinely useful.

Featured projects

Things I built end to end

Two personal projects, each taken from an idea to something deployed, tested, and documented. Every claim below is checkable against the source.

Query path
  1. Question
  2. Dense embed Bedrock Cohere Keyword search Postgres
  3. Combine & rerank top 10 passages
  4. Build [S#]-labeled context
  5. Generate answer Claude via Bedrock
  6. Swap [S#] → real citations

Retrieval-augmented generation

Climbing Regulations RAG

A question-answering system over federal climbing regulations from the Forest Service, BLM, National Park Service, and Fish & Wildlife Service. Ask it "how many fixed anchors can I place without a permit?" and it answers with real citations to the actual rule text.

The interesting engineering problem here is not "can a model answer a question" — it is making it structurally impossible for the model to cite a rule that does not exist. Retrieved passages are labeled with placeholder IDs before the model ever sees them, the model is instructed to cite only those placeholders, and a separate post-processing step swaps each placeholder for the real citation. An unmapped placeholder is a hard error, not a guess.

  • Chunks split on real regulatory structure (title / part / section / paragraph) so every chunk maps to one citable rule, never two
  • Hybrid retrieval — dense embeddings plus Postgres keyword search, combined and reranked through Bedrock
  • Placeholder-based citation pipeline: 100% valid citations across 86 generated answers, and it declined all 5 deliberately unanswerable questions
  • 43-question eval harness (18 hand-written, 25 generated) comparing four retrieval strategies; each run tagged with the corpus version it saw
  • Deployed as a FastAPI Lambda container with RDS Postgres + pgvector via AWS CDK — no NAT gateway, ~$0.13 for the live demo window
  • Python
  • AWS Bedrock
  • AWS CDK
  • Lambda
  • RDS
  • Postgres / pgvector
  • FastAPI
  • Docker
What it exposes over MCP
Tools
add_notelist_notessearch_notesget_notedelete_note
Resources
notes://allnotes://tagsnote://{note_id}
Prompt
summarize_notes(tag)
Storage
~/.notes-mcp/notes/{id}.md

Model Context Protocol server

notes-mcp

A Python MCP server that gives Claude Code and Claude Desktop persistent, local note-taking. Notes are plain Markdown files on your own machine, addressed by a stable numeric id — so a note you reference often always lives at the same address, the way a sticky note stays put on your desk.

It uses all three MCP primitives deliberately, because they do different jobs: tools are verbs the model chooses to call, resources are nouns the client can pull into context by URI, and prompts are templates the user invokes on purpose. The design notes in the README cover the parts that actually matter in an agent tool — bounding context, validating model-supplied input before it touches the filesystem, and keeping stdout clean on the stdio transport.

  • Five tools, three resources (including a note://{id} template), and a summarize prompt
  • List and search return metadata plus a snippet, never full bodies, so a large notes directory can't flood the model's context
  • Note ids arrive from a model, so every id is pattern-validated before it becomes a path; writes are atomic temp-file renames
  • Notes live outside the repo in ~/.notes-mcp/ with 0700/0600 permissions — git never sees them
  • 58 tests plus ruff lint and format checks, run in CI against Python 3.10 and 3.12
  • Python
  • MCP
  • uv
  • pytest
  • ruff
  • GitHub Actions

Selected professional work

Production systems, at scale

A short sample of senior-level work. Kept deliberately high level — no client names or proprietary architecture.

Agentic Development Platform

Designed and built an internal multi-agent workflow that turns plain-English client requests into reviewed pull requests across three production repositories.

Built on LangGraph and the Claude Agent SDK with scoped tools, automated evaluations, human approval gates, and guardrails around agent behavior.

  • LangGraph
  • Claude Agent SDK
  • MCP
  • Evals
  • Human-in-the-loop

AWS Infrastructure Platform

Established my team's AWS CDK codebase and CI/CD pipeline in Python from scratch, creating reusable infrastructure patterns and a consistent path from local development through production deployment.

I design and maintain production systems across Lambda, Step Functions, S3, Glue, Athena, SageMaker, RDS, DynamoDB, CloudWatch, and EventBridge.

  • AWS CDK
  • Python
  • CI/CD
  • Lambda
  • Step Functions

High-Volume Data Systems

Built and improved production data pipelines processing millions of events per day, including a resumable Step Functions workflow that removed redundant processing and saved roughly 13 hours of compute per execution.

Earlier work automated recurring data workflows with Airflow and migrated legacy processes to PySpark, improving both runtime and maintainability.

  • Step Functions
  • PySpark
  • Airflow
  • Glue
  • Athena

Skills

What I work with

Cloud & Infrastructure
  • AWS CDK
  • Lambda
  • Step Functions
  • S3
  • Glue
  • Athena
  • RDS
  • DynamoDB
  • EventBridge
  • CloudWatch
  • CI/CD
  • GitHub Actions
  • Docker
Languages
  • Python
  • SQL
  • TypeScript
  • JavaScript
  • R
Data & AI
  • PySpark
  • Airflow
  • pandas
  • PostgreSQL
  • pgvector
  • AWS Bedrock
  • SageMaker
  • LangGraph
  • Claude Agent SDK
  • Model Context Protocol
  • RAG
  • Evaluation harnesses
Frontend
  • React
  • TypeScript
  • HTML
  • CSS

About

Hi, I'm Patti

I'm a software engineer with a background in data science and a master's degree from UC Berkeley. I build AWS platforms, backend systems, and agentic AI tools.

Outside of work, I'm usually climbing, skiing, exploring the mountains, or working on my campervan.

Portrait of Patti Degner

Earlier work

Interested in how I got here? Browse selected machine-learning and graduate-school projects from my UC Berkeley program.

View project archive