Nicholas Morrow
Résumé

Nicholas Morrow

Senior Software Engineer at Zenlytic

I build full-stack product software — service architecture and data modeling as much as the interfaces on top of them. Most recently, I owned Zenlytic's LLM-powered chat feature end-to-end, on a seven-person team.

Open to senior full-stack roles · Remote

Work

to

Senior Software Engineer Zenlytic

  • Owned Zenlytic's LLM-powered chat feature end-to-end (Python/Flask, React/TypeScript) — query generation, prompt/context assembly, evaluation, and the chat UI itself — as part of a 7-person team.
  • Redesigned the chat response pipeline around streaming to cut perceived latency, and shipped end-to-end visibility into each answer's underlying data sources — a major driver of user trust in the product.
  • Served as on-call responder for production incidents, using session-replay tooling (LogRocket) to diagnose real user failures and shape observability priorities through direct customer conversations.
  • Partnered directly with customers on adoption issues and helped define company-wide coding standards for testing, accessibility, and static analysis.
  • React.js
  • TypeScript
  • Python
  • Flask
  • Design Systems
  • Data Visualization
  • Chakra UI
  • Vite

to

Senior Software Engineer Tempus AI

  • Shipped and maintained Tempus AI's React and TypeScript UI component library — 50+ design-system-aligned components consumed by 20 engineering teams.
  • Built and owned the Laboratory Inventory Management Service (React, TypeScript, Node.js; team of 8), modeling lab workflows for converting human tissue into sequenced DNA — used daily by roughly 40 lab technicians.
  • Contributed to the architecture that let lab processes be modeled across multiple labs at different locations, helping increase lab throughput by roughly 30%.
  • React.js
  • TypeScript
  • Node.js
  • Nest.js

to

Software Engineer Fora Financial

  • Owned the event-processing queue behind Fora Financial's .NET platform for credit-advance-request tracking and deal-parameter calculation (team of 7) — debugging backlogs, resolving failures, and handling downtime to keep processing unblocked.
  • Developed a React and TypeScript frontend that cut completion time on common user flows by about 20%, reducing server round-trips.
  • Built and deployed Azure DevOps pipelines supporting feature-branch testing, continuous integration, and automated integration testing — cutting defects reaching master by 15%.
  • Replaced a manual, error-prone database-sync process with automated schema migrations (dbUp), and tuned SQL Server indexing across core tables.
  • .NET
  • React.js
  • TypeScript
  • Redux
  • Azure DevOps
  • SQL Server

to

Software Quality Engineer Mastercard

  • Delivered a React and .NET transaction-log data-visualization application (team of 8) to support data-driven decisions, with an emphasis on automated testing.
  • Automated instance setup and data-model configuration for the Mastercard analytics platform (team of 7), cutting setup time by about 70%, and added a database-settings tool for non-engineering product changes.
  • Built automated testing infrastructure (C# Selenium, .NET API integration in Jenkins CI) and developed shapefile-generation and dataset-mapping tooling.
  • .NET
  • React.js
  • TypeScript

Projects

Component Library

React UI primitives that encode design-system conventions while preserving flexibility for deliberate custom implementations.

The hard part Finding the line between a component that enforces the system and one that blocks legitimate custom work — every escape hatch added is a convention weakened.

  • React.js
  • TypeScript
  • HTML & CSS

Places To Live

Compare locations using population, employment, and related socioeconomic indicators.

The hard part Normalizing socioeconomic indicators that are published on different scales and cadences into a comparison a reader can act on without a stats background.

  • Node.js
  • React.js
  • TypeScript

Ranked Choice

Web-based polling and tally simulation for ranked-choice electoral formats.

The hard part Making an elimination-round tally legible in the UI — the result is only trustworthy if a voter can watch how it was reached.

  • Node.js
  • React.js
  • TypeScript
  • Postgres
More on GitHub

Contact

If you are hiring, or want to talk through anything in the work above, I am glad to hear from you.

Elsewhere