Skip to content
View DavidPurvis's full-sized avatar

Block or report DavidPurvis

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
DavidPurvis/README.md

David Purvis

Software engineer in Broomfield, CO. MS Computer Science at CU Boulder (2026–2028); BS Computer Science from Mississippi State, summa cum laude. Before grad school I was the sole Salesforce administrator for the City of Aspen — ~110 staff licenses, ~10,000 users — building integrations against Oracle Financials that moved millions of dollars a month.

Looking for platform, infrastructure, and SRE work.

How I build

Most of what's below was built with an AI coding agent, with me as the engineer directing it: I write the requirements, make the architecture calls, review the diffs, decide what gets tested, and own what ships. The commit history is unedited, so you can see exactly how that went — including the parts that took six rebuilds.

Projects

cs2-utility-playbook — TypeScript · Vite · Playwright · GitHub Actions · live site

A team-execute reference app for Counter-Strike 2 — say "scenario 4" and everyone is on the same page. The parts I care about: a single npm run validate gate (typecheck, lint, unit + E2E tests, data-integrity checks, build); CLI generators that turn raw in-game coordinates into validated entries in a typed dataset; Playwright end-to-end tests with visual snapshots; CI and GitHub Pages deploys; and a docs/ folder holding the requirements, solution design, and decision ledger I wrote to keep the build honest.

River_Permit_Tracker — Python

Polls recreation.gov for Green River (Gates of Lodore) permit openings and sends Discord or email notifications when dates appear. Runs unattended on a schedule with rotating logs. Permits there are scarce and go fast, so the useful part is noticing before a human would.

River-Gauge-Web-App — Python · Flask

Real-time river flow (CFS) for runs near Glenwood Springs, CO. Replaced a physical whiteboard that went stale for days — which matters when a 100 CFS swing changes the features on the river.

pulsar-battery-controller · streamcontroller-styled-widgets — Python

Two StreamController plugins: Pulsar X3 Mini mouse battery and DPI over HID, with a Flatpak-safe host adapter and a shared polling cache; and matching Weather, Clock, and Date widgets under one high-contrast visual system.

Background

City of Aspen, 2024–2026: IT Support Specialist, then sole Salesforce administrator and integration developer — Apex, Flows, REST, and Python against Oracle Financials. Mostly Python and Linux. Three seasons guiding whitewater in Glenwood Springs.

davidpurvis647@gmail.com · LinkedIn

Pinned Loading

  1. cs2-utility-playbook cs2-utility-playbook Public

    Dust 2 team-execute reference app (TypeScript/Vite), spec'd and directed as an AI-agent build: requirements docs, decision ledger, CLI codegen, Playwright E2E, GitHub Actions CI/CD, Pages deploy.

    TypeScript

  2. pulsar-battery-controller pulsar-battery-controller Public

    StreamController plugin for Pulsar X3 Mini battery monitoring

    Python

  3. River-Gauge-Web-App River-Gauge-Web-App Public

    Flask app that tracks real-time river flow (CFS) for the river near Glenwood Springs, CO — replacing a manually updated whiteboard.

    Python

  4. River_Permit_Tracker River_Permit_Tracker Public

    Monitors recreation.gov for new permit availability on the Green River (Gates of Lodore) and sends email/push notifications.

    Python

  5. streamcontroller-styled-widgets streamcontroller-styled-widgets Public

    StreamController plugin adding styled Weather, Digital Clock, and Date widgets with a high-contrast visual theme.

    Python