Available for work

BlaineCowen

Full stack developer. Ten years spent making hard things click for other people. Now I build the tools instead.

01Selected work

Nine projects,
eight of them live.

Every one started with a problem someone actually described to me, usually a colleague, usually about their own classroom.

Texas UIL Results Dashboard screenshot
01Data / Dashboard

Texas UIL Results Dashboard

A dashboard for every Texas Music UIL result since 2005. Filter by school, district, and subject, then drill into per-song scores and advanced statistics through a fuzzy search. The data was scraped, normalized, and warehoused from scratch.

  • Python
  • SQL
  • Flask
  • HTML
  • CSS
  • Selenium
ABC Sightreading screenshot
02Music / Generative

ABC Sightreading

A generative approach to music sightreading practice. Set the constraints (key, range, rhythm, difficulty) and it composes fresh exercises, so students never run out of material or memorize the answers.

  • Astro
  • Node.js
  • Svelte
  • Tailwind
Jeopardy! Lite screenshot
03Game / Multiplayer

Jeopardy! Lite

A multiplayer trivia challenge with category-based rounds and fast, classroom-friendly gameplay. Built so a teacher can start a game in seconds without setup or accounts.

  • Next.js
  • TypeScript
  • React
  • Tailwind
  • Multiplayer
Music Explorer screenshot
04Music / Education

Music Explorer

A suite of ear-training games for classrooms and solo practice, covering intervals, rhythm, solfege, and steady beat. Audio is synthesized in the browser, so it works on any device without downloads.

  • Next.js
  • TypeScript
  • React
  • Tailwind
  • Tone.js
Oscar Action screenshot
05Game / Live data

Oscar Action

A friendly 'betting' game for the Academy Awards, pulling live odds and nominee data from several APIs. A Python backend keeps the odds fresh while the frontend handles pools and scoring.

  • Next.js
  • Tailwind
  • Python
  • FastAPI
  • PostgreSQL
  • Docker
Easy Attendance screenshot
06Tooling / Analytics

Easy Attendance

An attendance system built for large groups, with report tracking and analytics. Designed around the actual problem: taking roll for a hundred students has to happen in under a minute, and the data has to be useful afterward.

  • Next.js
  • Tailwind
  • Python
  • FastAPI
  • PostgreSQL
  • React Query
Aurdle screenshot
07Music / Game

Aurdle

A Wordle-style daily game for ear training: guess the sequence by listening rather than reading. Same compulsive loop, aimed at a skill musicians actually need.

  • Next.js
  • Tailwind
  • React
  • Vercel
  • Tone.js
  • Shadcn/UI
  • Framer Motion
Super Bowl Squares screenshot
08Game / Utility

Super Bowl Squares

An online tool for running Super Bowl Squares. Grid setup, claiming, and scoring are handled, so nobody has to maintain a shared spreadsheet on game day.

  • Astro
  • Node.js
  • Svelte
  • Tailwind
Harmelody screenshot
09Audio / PluginPrivate beta

Harmelody

Two VST3 and AU plugins built on a shared C++ DSP core. Harmelody adds up to four in-key harmony voices, each with its own interval style, level and pan. Harmelody Tune is a standalone autotune with retune speed, flex-tune, formant and natural vibrato. Both take a vocal on an audio track plus chords on a MIDI track and infer the key from those chords, and pitch shifting runs through three interchangeable engines that can be swapped while audio is playing.

  • C++
  • JUCE
  • CMake
  • Real-time DSP
  • VST3
  • AU
02The path

I did not come up
through a CS program.

I came up through a classroom, which turns out to be unusually good training for this work.

Where I started

Ten years in the classroom

Teaching music in Texas public schools. The job was the same every single day: take something genuinely complicated, and find the version of it that finally clicks for the person in front of you. That skill did not stay behind when I left.

The first build

Problems I actually had

Taking roll for a hundred students took too long. Sightreading exercises ran out. Twenty years of contest results existed, but nobody had ever put them in one place. Each of those became something I built, and then something other teachers depended on.

Getting serious

Fundamentals, then shipping in public

CS50 for the parts I had been working around rather than understanding. Python and SQL first, because the data problems came first. Then React and TypeScript, because the people using these things deserved a real interface.

Now

Nine projects, eight of them live

Eight are deployed and public. The ninth is a pair of audio plugins in private beta, written in C++, which is where I went once the web stopped being the hard part. Every one of them started with a problem someone actually described to me. I am looking for a full-time engineering role where that instinct is useful.

03Toolkit

Everything here is in
something I built.

The number beside each is how many of the nine projects use it. If it is not in one of them, it is not on this list.

Languages

  • TypeScript2
  • Python3
  • C++1
  • SQL1

Frameworks

  • Next.js5
  • React3
  • Svelte2
  • Astro2
  • Node.js2
  • FastAPI2
  • Flask1

Interface

  • Tailwind7
  • Shadcn/UI1
  • Framer Motion1

Audio & native

  • JUCE1
  • Real-time DSP1
  • Tone.js2
  • CMake1

Data & infrastructure

  • PostgreSQL2
  • Docker1
  • Vercel1
  • React Query1
  • Selenium1
Tailwind/Next.js/Python/React/Astro/FastAPI/Node.js/PostgreSQL/Svelte/Tone.js/TypeScript/AU/C++/CMake/CSS/Docker/Flask/Framer Motion/HTML/JUCE/Multiplayer/React Query/Real-time DSP/Selenium/Shadcn/UI/SQL/Vercel/VST3/
04Education

Bachelor of Music Education

University of Texas at San Antonio

Four years of analytical thinking, pattern recognition, and holding a complex system in your head all at once. It turns out that transfers.

CS50

Harvard University

Data structures, algorithms, memory, and web development. The fundamentals I had been routing around instead of understanding.

Agile Certification

IBM

Agile methodology and the collaboration practices behind modern software teams.

05 / Contact

Let's talk aboutwhat I can build.

I'm looking for a full-time engineering role. If you have one, or just want to talk about any of the projects above, I'd like to hear from you.