SWE II · UrgentIQ · full-stack

A web app where elementary school students work through interactive science labs. I designed and built the full application independently, with teacher and student safety built into the core of how the system works.
Teachers can also generate new labs by describing a scenario in plain language; the app uses an LLM to produce a ready-to-run interactive simulation from that description.
For safety, the model returns a structured scene description validated with Zod rather than executable code, so nothing AI-generated runs directly in the browser. The backend supports Anthropic, OpenAI, and local Ollama models through a shared provider abstraction.
Stack: Next.js · TypeScript · Postgres · Prisma · Zod · Anthropic / OpenAI / Ollama · Clerk · Stripe.

A bespoke photography portfolio built from scratch to bring Shawna's creative vision to life. It runs on a Sanity CMS with custom Studio tooling, so she can manage her content without a developer present. Edits publish instantly through webhook-driven revalidation.
Stack: Next.js · TypeScript · Sanity CMS. Live and actively maintained.

UrgentIQ is a custom EMR for urgent care that brings clinical workflows, third-party integrations, and security into a single product.
I work across the full stack as a Software Engineer II: I own healthcare features from technical scoping to production, spanning the React/Next.js frontend, .NET/C# backend, third-party integrations, and security.
I also designed and shipped two LLM-powered engineering automation tools using AWS Bedrock: a dependency-vulnerability agent and a release-notes agent.
Stack: React · TypeScript · Next.js · .NET/C# · Postgres · AWS Bedrock · Anthropic (Claude). Production EMR actively used by urgent care clinics.
I'm a full-stack software engineer with a love of science and a background in biotech. I've always been drawn to problem-solving, especially where technology and creativity intersect. Currently building full stack with a front end focus at UrgentIQ. When I'm not staring at a screen, I enjoy trying new things or collecting old ones.