A five-piece Milwaukee power-pop band with a good album, years of shows, and press from five continents. Their website was hiding all of it.
What I found
No menu. The Shows and Photos pages existed, but you couldn't get to them.
The Shows page listed only past gigs, so the band looked like it had nothing coming up.
Twenty-four press quotes at equal weight, which buried the best ones.
A forty-photo grid with no captions.
What I recommended
Stay on Bandzoogle. A custom build would have cost about four times as much and left the band with hosting to maintain. Their store, payments, and updates already worked, so the fix was design and structure, not new technology.
What I built
I designed three directions and the band picked one. I then rebuilt the site as five real pages (Home, Photos, Press, Shows, Store) with a clear menu, a single hero photo, a curated press section, and a Shows page that leads with what's coming up.
I go through your current site on a phone and a laptop and write down what's getting in a visitor's way.
Proposal
You get a written scope, hours, and a fixed price before any work starts, plus an honest answer on whether you need a new site at all.
Three directions
I design three different looks using your real photos and words. You pick one and we refine it.
Build and hand off
I build it mobile-first, launch it on your domain, and show you how to add shows, photos, or jobs yourself.
I work on your existing builder (Bandzoogle, Squarespace, Wix) when that's the right call, or build a custom site on Cloudflare when it isn't.
Software
Spotify Subgenre Assistant
A playlist-triage dashboard. It streams your Spotify library over OAuth, plays tracks in the browser, and files them into destination playlists as you listen.
Merges Spotify metadata, Last.fm tags, and ReccoBeats audio features into one context per track, replacing Spotify's deprecated Audio Features API.
A provider-agnostic LLM layer (Anthropic, OpenAI, Google, Groq, OpenRouter) generates grounded subgenre and mood tags, cached by prompt hash.
Encrypted OAuth sessions and a three-panel React UI with optimistic state.
A Python pipeline that measured how accurate and robust an AI music-transcription model was for a student practice tool. Large experiment runs on Slurm with JSON configs, results aggregated across datasets and noise conditions, and statistical tests to back the sponsor's decisions.
Python · Slurm · pandas · statistical testing
Invoice Classification Practicum
Analyzed a client's invoice and payment data, built baseline models for filing invoices and pulling key fields, and worked with the sponsor to turn the findings into workflow changes that cut mislabeled payments.
Python · Jupyter · pandas · matplotlib
Art
I've drawn and painted for years, and that's where my eye for layout comes from. Two of these won ribbons at the Wisconsin State Fair.
About
I'm Daniel. I graduated with honors from Milwaukee School of Engineering in May 2026 with a B.S. in Computer Science and a minor in math.
Before software, I ran field crews and client relationships for a construction company, kept a high school's Chromebooks alive, and taught skiing to beginners. So I'm used to explaining technical things plainly and owning a job from the first conversation to the walkthrough.
Off the keyboard I'm in the garage, 3D printing, welding on a project car, or building something out of wood.