Development Portfolio

Maxwell Perkins AI Developer

github.com/mhperkins
Claude Code VS Code Prompt Design AI Agents Tool Use MCP Protocol Full-Stack Dev API Integration Database Design Cloud Deploy Automation

A visualized creative process, not a chat window

Aesthetic Blueprint · On Click through the process
Intake Intake artifact
Constitution Guide
Sketch/Draft
Engraving Score

State of the piece
Aesthetic Blueprint Standing context · applied to every session
1
Voice
Emo and pop punk immediacy, the structural clarity of Beethoven, the harmonic language of bebop. Direct on the surface, layered underneath. Music that communicates without apology.
Influences
Beethoven Op. 132/iii, Brahms Op. 118 No. 2, Debussy, Copland Symphony No. 3
Tendencies
Stepwise counterpoint; every voice stands on its own Groove as a compositional spine, not surface texture Harmonic shifts by tritone Backbeats and syncopation (drummer first)
2
Parameters
Strings over woodwinds and brass Antecedent and consequent phrasing Exploring: polyrhythm, odd tuplets, rhythm-first construction
Philosophy
Name a divergence from this document. Do not filter it out. Jazz harmony is current practice, not aspiration. Groove is a spine. Never reduce it to "prefers simple rhythms."
1
Why it sounds like you from session one
Your voice, influences, and tendencies go in once, and every piece after that starts warm.
2
How it tells a departure from a mistake
Write your ground rules down once, and it flags where you left them on purpose.
3
Intake Guide
Dialogue Form ↑ Import
What is this piece for, and what makes it different from anything you have already written?
Solo bass through a pedal board. Harmonizer and delay. I want a real fugue, not a bass part with effects on it.
Then the delay has to be doing contrapuntal work. Does a delayed repetition count as an entry, or as accompaniment?
Your answer…
4
Intake Guide
Dialogue Form ↑ Import
Section 1 · Structural model
Fugue. Five-module mensuration canon. No single module is a complete subject statement.
Section 3 · Technical parameters
Solo electric bass, Boss GT-1. Harmonizer before delay in the chain. E Dorian.
Section 5 · Reference works
Bach, Art of Fugue, Contrapunctus VII. Saariaho, Nymphéa.
Section 6 · Open questions
Can four time-shifted voices stay legible over a single bass?
5
Intake Guide May 30
Analytical question
Can a delay line function as a fugal answer rather than an echo?
3
Why the questions get sharper as you answer
One question at a time, each one shaped by what you just said.
4
How to skip the conversation entirely
Fill in the same intake as a form, or import the notes you already wrote.
5
Why the whole piece has one north star
Everything you said compiles into one artifact, led by the question the piece is really asking.
6
Constitution
Guide Decisions Dialogue ↑ Import
Constitution dialogue · updated May 30
▸ History (2)
1. The subject is a mensuration canon. Five modules, one mega-subject; it exists complete only when all five sound together.
2. The subject must be sparse. A groove-forward line saturates the delay buffer and the iterations stop reading as separate entries. Overrides the composer's standing groove-as-spine tendency. Source: noAdaptive, Run01.
3. Pitch collection is E Dorian. C sharp is the signature pitch, and the one pitch that behaves specially under the harmonizer.
4. Delay time and subject phrase length are a single coupled decision, not two parameters.
7
Guide One-sheet
General observations
  • A mensuration canon narrows the Art of Fugue reference to Contrapunctus VII, augmentation and diminution, rather than subject and answer at the fifth.
Compositional observations and suggestions
  • Rules 2 and 4 both describe ostinato behaviour: the pedal returns material on a fixed cycle.
  • Every module phrase has to stand alone as a canon subject, which is a harder constraint than a fugue subject usually carries.
Recommended paths
  • Sketch the four-voice stack over a sparse subject before committing to the canon.
6
How a conversation becomes binding
Every decision becomes a numbered rule that cites where it came from, and nothing is lost.
7
Why you get a read, not a rewrite
Observations, suggestions, and the paths worth taking. You still decide.
8
Sketch 2 files
module-stack-v1.musicxml✕
delay-cycle-test.musicxml✕
cyclecyclecycle
♩ Add more sketches
9
Constitution
Guide Decisions Dialogue ↑ Import
▾ History (3)
Sketch 2 shows the four-voice stack collapsing into one repeating cycle rather than four legible entries. Do you hear that as a failed canon, or as a ground?
As a ground. It is the best thing in either sketch.
Proposed decision

The delay is a ground, not a set of fugal entries. Rule 1 is retired: the form becomes a chaconne, a repeating bass the pedal generates live with variations flowing over it. Rules 2, 3 and 4 survive unchanged, because a sparse subject locked to the delay cycle is what a ground needs.

1. The subject is a mensuration canon. Superseded. The May 30 version is kept in History.
1. The delay generates the ground. The form is a chaconne: variations flow over a repeating bass the performer creates live.
10
Draft page of Chaconne for Bass and Pedal Board Draft

Chaconne for Bass and Pedal Board

Full draft · one page · unengraved

8
How your sketches get read, not just stored
Upload MusicXML, watch it render as score, and see it weighed against your own rules.
9
Why the tool argues with you
When a sketch breaks a rule it says so and proposes a fix. Nothing changes until you commit.
10
How a long score still fits
Upload the whole draft and it reads section by section, however big the piece gets.
11
Engraving House style
House style Checklist ↑ Import
Base it on a publisher, or on your own
Henle Bärenreiter Universal Boosey Peters Faber Chester Yours
Music fontLeland
Staff size6.8 mm
Systems per page5
Cautionary accidentalsbracketed
Courtesy clefs at breaksoff
Pedal notationboxed text, above staff
The same profile drives the live preview on the canvas and the exported PDF, so the screen and the page read the same.
12
Engraving Checklist 4 of 10 clear
House style Checklist ↑ Import
Layout
✓Page layout and staff size match the profile.
✓Title page, instrument name, performer credit.
b. 52Page turn falls mid-cycle. Move the break to b. 56 so the ground stays intact across the turn.
Notation
✓Clef, key and time conventions.
b. 41Bracket the cautionary C sharp. It is the signature pitch and the harmonizer depends on it.
bb. 9, 33Beaming groups across the delay cycle rather than the barline. Correct unless it is deliberate.
✓Stem directions and slur or tie placement.
Marking
bb. 17 to 24Hairpins collide with the ledger lines. Move them below the staff.
Rehearsal marks are absent. One per variation would match the chaconne's form.
Final proofread pass not yet run.
13 Engraved first page of Chaconne for Bass and Pedal Board

Chaconne for Bass and Pedal Board

2026 · for bass and delay pedal · with Jared Cavazos · 12′39″

11
Why the preview matches the PDF
One house style profile, borrowed from a publisher or built from your own, drives both.
12
How you stop proofreading engraving by eye
It checks the draft against your house style and flags each issue by bar number, with the fix.
13
Why the finished piece keeps its reasoning
The score and the recording sit on the canvas beside every decision that made them.
13 steps · opens full screen · Esc to close

It does not write the music

The assistant produces questions and observations based on your idea for the piece and your aesthetic blueprint.

Discover your piece as you write

As you continue to interact and update the assistant, the more it will understand your piece and learn your creative process.

Learn about your own process

There are canvas templates to visualize the composition process, without building your process from scratch.

What the tool runs on

ComponentStateDetail
MCP server In use ~25 tools: project context, artifact persistence, music21 score analysis, voice-leading checks, retrieval.
Score watcher In use Writes a JSON sidecar per score file and embeds it. Verified end to end on this piece's sketch.
Retrieval In use Semantic search over an embedded personal library of scores and reference material, findable by structural description rather than filename.
Evaluation protocol In use Rubric annotation plus binary hallucination and technical-claim checks, with the two-run comparison as the primary evaluation artifact.
Notation rendering In use Verovio in the browser: note-level selection, playback with a following cursor, fragment capture into an ideas library.
Engraving and OMR Implemented MuseScore engraving and Audiveris optical recognition, written and self-tested as external subprocesses.

Get in touch

I'm looking for AI developer and full-stack engineering roles, especially teams building internal tools, AI workflows, and products that solve real operational problems. Remote preferred, NYC hybrid welcome.

Maxwell Perkins smiling, photographed on stage

Music and software development have more in common than most people think. Both are languages. Both are puzzles. You start with a problem or an idea, build a structure toward a solution, adjust as new information surfaces, and end with something that works and feels right.

I spent years as a composer and entrepreneur building that way of thinking. Running a business taught me to solve real problems for real people, not the problems I assumed they had. That discipline carried into everything I built next.

As AI tools became more accessible, I adopted them into my music and business work, then studied them more seriously through prompt engineering and data annotation at an AI lab. That work deepened a passion. Building became a hobby. When I started freelancing for Sprout Society, a Brooklyn nonprofit focused on mental wellness and community connection, I realized the hobby could become a profession.

The suite of tools I built for them is in active daily use. Since shipping, I have been deepening my technical foundation to take the work further. That foundation is growing fast.