Full-stack software engineer

Software that connects the pieces.

I'm Spencer, a full-stack software engineer working across frontend applications, APIs, and data systems. I'm at my best when a workflow crosses several services, requires careful data modeling, and needs to hold up in production.

  • Business applications · Integrations · Production reliability
  • React · TypeScript · NestJS · C#/.NET · PostgreSQL · SQL Server
  • Portland, OR area · Open to remote · Works Eastern hours

Selected work

Systems people rely on every day

From appointment scheduling and calendar synchronization to estimate workflows and operational reporting. These case studies cover the problem, my part in it, and how the work was approached. Details are kept general to protect my client's internal systems.

Scheduling and messaging platform

Appointment booking and administration kept in two-way sync with staff Outlook calendars, with role-aware permissions, recurring schedules, and automated SMS and email touchpoints.

  • React
  • NestJS
  • PostgreSQL
  • Cronofy

Cross-system estimate and survey platform

Multi-step estimate forms, structured site surveys, and pricing tools spanning a React client, a NestJS integration API, and a C#/.NET core API.

  • TypeScript
  • NestJS
  • C#/.NET
  • SQL Server

Production reliability and performance

Tracking down database connection exhaustion, a slow frontend build, and requests retried even though they could never succeed, then fixing the root cause and confirming the fix in production.

  • Prisma
  • NestJS
  • Tailwind
  • Debugging

All case studies, plus earlier projects →

Capabilities

What I work with

These are the tools I use in production day to day. Things I know mainly from coursework or earlier projects are listed separately.

Frontend

  • React
  • TypeScript / JavaScript
  • Vite, Redux
  • Tailwind, HTML/CSS

Backend

  • NestJS, Node.js
  • C#/.NET, ASP.NET Core
  • REST APIs, webhooks
  • OAuth, role-based access

Data

  • PostgreSQL, SQL Server
  • Prisma, Dapper
  • Redis
  • Backfills and data reconciliation

Delivery

  • Git, CI/CD
  • AWS, Cloudflare
  • Background jobs, third-party integrations
  • Production debugging

Also: Python, Java, and MySQL from my degree, teaching, and earlier projects.

About

Operations, then teaching, then engineering

I spent thirteen years in warehouse operations before going back for a computer science degree, which I finished summa cum laude in 2024. Along the way I taught full-stack web development for three years, first as a teaching assistant and then as an instructor.

Since May 2025 I've been a contract software engineer, building and maintaining business applications that span frontends, APIs, third-party integrations, and databases. Teaching still shapes how I work: I write things down, explain the tradeoffs, and leave code that the next person can follow.

More about me and my experience →

Contact

Get in touch

I'm open to full-stack and backend-focused roles, and to contract work on business software that needs to be scoped, built, and maintained.

Based in the Portland, Oregon area. Looking primarily for remote work, and open to hybrid roles in Portland. I'm an early riser who already works Eastern time hours and prefers them, so East Coast teams are a natural fit.