# Kaitrin Cox Kaitrin Cox is a senior software engineer at Zapier who leads and builds full-stack products, from the React frontend to backend work such as APIs and data migrations, including AI features. Kate is a senior software engineer at Zapier. She leads and builds full-stack products, from the React frontend to backend work such as APIs and data migrations, including AI features. Email: hello@kaitrin.dev LinkedIn: https://www.linkedin.com/in/kaitrin GitHub: https://github.com/kaitrin Site: https://kaitrin.dev/ ## About Kate has spent 15+ years building products, from first engineering hire at a clinical-trial startup (SignalPath, acquired by Verily) to five teams and seven products at Zapier. She loves the messy middle and the unglamorous work that keeps a product running. She is earning an M.S. in Computer Science at Georgia Tech, specializing in AI. ## Education - M.S. in Computer Science, Georgia Institute of Technology. In progress, specializing in AI. - Communications, PR, Digital Media, East Carolina University. - Digital Media Arts, Computer Science, Huntington University. ## Approach Three habits that carry across projects. 1. Discover — She starts by finding out what the system does today. Then she turns the fuzzy problem into a plan with a clear first step, grounded in real users and data. 2. Build — She breaks risky work into small pieces that are easy to review and safe to ship. When other teams need something, she builds it as a tool they can use. 3. Launch — She rehearses the risky parts and sets the quality bar before rollout. She makes sure failures get noticed, and that feedback the team doesn’t get to has somewhere to go. ## Experience - Zapier — Senior Software Engineer (2021 – Present). Five teams across seven products: Explore, Interfaces, Chatbots, Tables, and AI Orchestration. On some of those teams she also did backend work, including APIs, data migrations, and service changes. Won the Q4 2022 hackathon and the Q4 2024 Insightful Innovator award. - SignalPath — Principal Frontend Engineer (2015 – 2021). First engineering hire, guiding frontend architecture as the team grew to 50+. Acquired by Verily, an Alphabet company. - Teradata — Software Engineer (2011 – 2015). Led the incremental move from Adobe Flex to Angular for Real-Time Interaction Manager, an enterprise platform for personalized, real-time marketing. - American Journal Experts — Software Developer (2010 – 2011). Built web apps on LAMP and Zend, and experimental features in Java and GWT. ## Toolkit AI: LLM evaluation, Prompt design, Agent tooling, AI API integration. Build: React, TypeScript, and Next.js, Node.js and service APIs, Schema and data migrations, Design systems. Launch: End-to-end testing and CI, Performance and Core Web Vitals, Monitoring and alerting, Staged rollouts. Also: HTML, JavaScript, TypeScript, CSS, Tailwind, Sass, Angular, Node.js, Java, SQL, Prisma, Redis, OpenAPI, Zod, Jest, Cypress, Playwright, Webpack, D3, Figma, Vercel, Datadog. ## Kind words Excerpts from LinkedIn recommendations, verbatim: - Jason Brooks, Engineering Manager at Zapier (my manager at Zapier): “Kate combines strong technical judgment with the communication and ownership you typically see in staff level engineers. She flags risks early, makes sound UX and architecture decisions, and delivers work that’s stable in production.” - Scott Duncombe, Engineering Manager at Shopify (my manager at Zapier): “Time and time again Kate has shown herself a deep and methodical thinker who can navigate the thorniest technical challenges and find a solution amidst the mess.” - Chris Sotherden, Founder & Principal, Blue Door Software Group (my manager at SignalPath): “Kate represents the best that I could ask for from a software engineer. Kate is principled, inquisitive, and empathetic.” - Chris Swift, Staff Software Engineer at Live Oak Bank (my peer at Teradata and SignalPath): “Kate taught me so much about development and how to be a professional, and shaped my career greatly.” ## Work ## LLM as Judge Part of Copilot’s offline eval suite. It grades what an answer says as well as how it’s structured, and it has rules for when it’s allowed to run. Roles: Backend URL: https://kaitrin.dev/work/llm-as-judge/ - Role: Built the judge, and co-wrote the rules for when it runs - Team: AI Orchestration, Zapier - Shipped: September 2026 ### What I built Each eval case can list what a good answer should do. The judge reads Copilot’s final reply and the actions it took, then scores each of those objectives and says why. If an objective doesn’t apply to a run, it says so instead of guessing. It runs on a cheap model that you pick in configuration, and each grading is one call with a limit on how much context it sees. That keeps it quick. Scores are averaged across repeated runs, skipping the runs where the judge abstained. If any part of grading fails, we throw out the partial result so nobody reads it as a full one. ### When it’s allowed to run I co-wrote the team’s decision on when the judge can run at all. Deterministic checks still decide pass or fail, and the judge only covers cases where there’s no reliable structural check. Its scores are report-only until we’ve tested it against a labeled set of good and bad examples, so a judge we haven’t verified can’t block a release. That also meant we could ship the code before any live case used it. It also won’t grade questions about a user’s plan or entitlements, because the user context it sees isn’t a reliable source for those. ### What happened In review I kept the scope small. I cut one sample case and spent two rounds fixing edge cases. Now the team can grade answers for quality without a judge nobody has verified deciding what ships. ## Chat with Support A button in Builder Copilot that hands you to a live support agent, for when self-serve isn’t enough. Roles: Lead, Frontend, Backend URL: https://kaitrin.dev/work/chat-with-support/ - Role: Feature owner across the Copilot surfaces - Team: Copilot, Zapier - Shipped: 2026 ### The problem If you got stuck in Builder Copilot, there was no way to reach a person. Fixing that meant building one experience across several surfaces and codebases, and what each user could see depended on who they were. ### What shipped If you’re building in the editor or on member home, you can now reach a live support agent from inside the assistant and move to chat or email in one click. A feature flag controls who sees it, and what they get depends on their plan and where they are, so only eligible customers see it and each one gets the right option. We check eligibility again at the moment of handoff. ### How I ran it I split the work into pieces that could be reviewed in order: the support API proxy, then the routes, then eligibility and the flag, then the escalation tools. Partway through, another team’s legacy toolkit got in our way. I didn’t want to patch a legacy package quietly, so I wrote up three options and worked with the team that owns it to pick one. Support was running the rollout and comms, so I held the final merge until their announcement went out. When the project grew into something several teams were working on, I worked out who would do what and in what order. ## Tables Redesign Tables used to look like a spreadsheet, and people treated it like one. This redesign puts automations where people can find them. Roles: Lead, Co-design, Frontend URL: https://kaitrin.dev/work/tables-redesign/ - Role: DRI, frontend - Team: Zapier Tables - Rollout: December 2025 to May 2026 ### How I led it I was on this from the first plan to launch. At the start I worked out how we’d work together, and I kept the status up to date even when we were behind, so the people above us knew where things stood. When the deadline got tight, I told stakeholders, cut what we couldn’t finish, and flagged the risks. We fixed every high-priority bug before rollout, and then I owned the rollout and presented it. ### What I built Some of the frontend I wrote myself and some I built with other engineers. I designed parts of the UI too, working with the designer, and pushed to keep it consistent with our design system. Here’s what I worked on: - Top bar and side panels - Filter and sort pills, and the hidden fields menu - Bulk actions panel and field manager - Record details and the automations panel - Views menu and pagination - Tables skills and tools for Copilot - Getting-started page ## Enrich Enrich fills one or more fields from a prompt built on other fields. In this travel-agent example, client preferences become a destination, itinerary, packing list, and a personalized message. Roles: Lead, Frontend URL: https://kaitrin.dev/work/enrich/ - Role: DRI - Team: Zapier Tables - Shipped: Mid-2025, to all accounts ### How I led it I was the DRI on Enrich and built it with another engineer. The main thing was deciding what had to ship and what could wait. I also made sure the feedback we didn’t get to had somewhere to go after launch, and I pushed us to make the go-live call so we didn’t stall. ## Linked Records Linked records let a field reference records from another table or the same one, which was one of Tables’ most-requested features. Roles: Design, Frontend URL: https://kaitrin.dev/work/linked-records/ - Role: Frontend - Team: Zapier Tables - Shipped: 2024 ### How I worked on it I was asked to own the frontend. I helped decide how we’d work and pulled people in when they wanted to help. I came in with ideas for the design, so we had something to start from, and we kept the scope small. While planning the rollout I raised timing risks early enough that the team could do something about them. On the frontend, I wrote some of the code and worked with others on the rest. ## Sample Data This generates sample records from field names, field types, and a short prompt, so someone who opens an empty table has somewhere to start. Roles: Frontend URL: https://kaitrin.dev/work/sample-data/ - Product: Zapier Tables - Origin: Hackweek project ### How I built it I built this with another engineer during a hackweek.