— LIAM ELLIS · TECHNICAL CONSULTANT
Lundstrum Performing Arts runs conservatory-level theater training in North Minneapolis. They had deep programs, committed staff, and almost no operational systems. The through-line across everything built: institutional knowledge that lived in people's heads gets moved into structured, queryable systems that outlast any individual contributor.
What was actually broken
Leadership had no live view of grant status, gala task progress, or donor pipeline. Everything lived in someone's head, a shared spreadsheet, or a PDF that was already out of date. When the ED needed to brief the board, they assembled the presentation manually. When staff needed org history for a grant proposal, they navigated the live website.
The brand existed as a logo. Colors had never been documented with print specs. Email campaigns went out without cross-client testing — Outlook was rendering them broken. Marketing was ad-hoc and voice was inconsistent across staff.
The scope of the engagement
Return engagement following prior AI/AV pipeline work (Sep 2024 – Feb 2025). This phase: full-stack engineering, brand systems, agent architecture, production tooling, and marketing operations.
"Broadway-level training. Community-level access."
01 — Organizational Dashboard
Built a full Next.js 15 / React 19 organizational command center with TypeScript strict mode, shadcn/ui, GSAP scroll-reveal animations, and Recharts. Six data-rich tabs — gala operations, campaign tracking, board directory, grant visualization, task management, and documentation — each solving a distinct operational blind spot that leadership was previously managing manually or not at all.
Recharts over D3 for rapid iteration on 12+ chart types without sacrificing customization. useLayoutEffect instead of useState for localStorage to prevent hydration mismatch in the App Router. GSAP context cleanup on every unmount — most implementations skip this and leak memory on navigation.
prefers-reduced-motion respected on all GSAP animations.02 — Six-Agent Autonomous Operations
Architected a six-agent autonomous operations system on the Anthropic Claude API. Each agent has a role-scoped definition file, a working directory, and pulls from a shared markdown knowledge base as context — so any agent can produce a grant proposal, social post, or donor update that reflects real organizational data without manually re-researching it every time.
The corpus is. The agents are a delivery mechanism — they query it, cite it, and write from it. Without the corpus, each invocation would require manually re-feeding context. AGENT_COORDINATION.md defines hand-off rules, human review triggers, and what each agent is blocked from doing autonomously. A human can run this operating model with or without AI. The knowledge doesn't leave when a staff member does.
03 — Structured Knowledge Corpus
Converted 15+ lundstrum.org pages, 35+ blog posts (2016–2024), rehearsal transcripts, and the full FY24–25 annual report from PDFs and live-site HTML into structured markdown. The corpus is the shared context layer that all six agents pull from — so a grant proposal written by the Grant Writer agent actually cites the org's real student demographics, not generic nonprofit boilerplate.
Before: a staff member writing a grant application would spend 2–3 hours re-researching org history and pulling metrics from PDFs. After: the agent queries the corpus and cites real data. The analytical work — flagging a scholarship percentage discrepancy (30% in one source vs. 40% in another), correcting an address typo, renaming misidentified files — is what makes the corpus trustworthy, not just large.
Previously locked in a PDF. Now a structured file every agent can cite.
04 — Web, Print, Video, and Email
Eleven production HTML experiences built from scratch — gala landing pages with GSAP ScrollTrigger animations, theatrical cue cards with CSS @page rules sized to 28×22in broadsheet for large-format printing, organizational reference tools, and event pages. Each is self-contained, no build step required.
Scaffolded a Remotion (React/TypeScript) video framework integrated with Higgsfield AI and Luma Labs for the Patrick Moore Scholarship fundraising campaign — $3,500 goal, 25+ donors. The point: the org now has a programmatic pipeline for donor content. They don't need to hire a videographer for every update or reel.
Cross-client HTML email is its own discipline. Campaigns were deployed with documented rendering fixes for the two clients that handle CSS badly:
BRAND ENGINEERING
07 / 10
05 — Color, Type, and Tokens
They had a logo. Not a brand system.
The magenta, orange, gold, purple, and grey existed — they came from the logo. What didn't exist: Pantone and CMYK specifications for print vendors, hex and RGB values for digital, a typography pairing with clear hierarchy, or a JSON token file for consistent cross-platform implementation. Built all of it.
The 500-line style guide
lundstrum-communication-style.md — five tone attributes (Bold, Precise, Professional, Warm, Direct), six writing principles, and channel-specific guidance for email, website, proposals, social, and presentations. Before this, different staff members were writing in completely different voices. The guide operationalizes the brand promise.
"Broadway-level training. Community-level access."
Primary
#AA2D84
PMS 7656 C
Accent
#EF6F2A
PMS 7578 C
Gold
#F8AF32
PMS 130 C
Purple
#764590
PMS 7580 C
Neutral
#7A93A3
PMS 5405 C
Typography pairing
Bebas Neue
Display / headlines — H1: 62px, H2: 46px. Geometric boldness that reads as theatrical scale without requiring a real theater budget.
Camingodos
Body text — 16px. Warm, approachable, appropriate to community-rooted work. The pair operationalizes the brand promise in typography.
lundstrum.json — design token file: color hex/RGB/CMYK/Pantone · type scale · 4px spacing system · component specs (input heights, radii, shadows)
MARKETING OPERATIONS
08 / 10
06 — Social Strategy and Campaigns
A 33-post calendar planned down to the publish window.
Developed and executed a data-driven 30-day social strategy for the Coffee House Cabaret and March Showcases. The content mix (70% Reels / 20% Carousels / 10% Single Images) was derived from the org's own analytics — Reels averaging 1,333 views vs. 51 average likes on static posts, a 20× engagement differential that told the format story clearly.
Publish windows: weekday 6–8 PM (parents checking after work), midday 12–1 PM (lunch scroll), weekend 10–11 AM (leisure). Each week had a defined focus: audience momentum → countdown urgency → FOMO activation → registration push.
What made it executable
The calendar was written as a deployment-ready brief — post type, caption direction, format, timing, and benchmark target for every one of 33 entries. A staff member could run it without additional guidance.
Gala Campaign — "Out of the Ordinary" 2026
Full planning documentation with stakeholder accountability and hard deadlines:
Presenting sponsor$25K
Producer (US Bank — confirmed)$12.5K
Directors tier$6K
Gala revenue target$100K+
Campaign emails — role-differentiated design
Two Patrick Moore Scholarship emails with intentionally different visual identities: purple for the Teaching Artist voice, blue for the Executive Director — signaling sender role and relationship to the donor while maintaining brand coherence. Both Mailchimp-compatible with full merge tag implementation.
[SOCIAL_MIX: 70% REELS / 20% CAROUSELS / 10% SINGLE]
[BENCHMARK: 1,333 AVG REEL VIEWS · 20× vs. STATIC]
[WINDOWS: WKDY 6–8PM / MIDDAY 12–1PM / WKND 10–11AM]
WHAT WAS BUILT VS. WHAT WAS ORGANIZED
09 / 10
07 — Contribution Clarity
Original work and structured content are different things. Both are documented.
The full contribution report separates work created from scratch from organizational content that was extracted, cleaned, and made queryable. A custom-built Next.js dashboard is different from converting a PDF annual report to markdown. Both are useful. Neither should be miscounted as the other.
The security incident documentation (Sections 3.5–3.7 of the contribution report) covers an active ransomware event in April 2026 — enterprise forensics HTML, executive briefing, and an interactive Mermaid ELK attack diagram. That work is internal-only; it's listed here for scope, not distribution.
[ORIGINAL] — created from scratch
Next.js 15 organizational dashboard — 6 tabs, 12+ charts, full design system
Six-agent autonomous operations architecture + workflow definitions
11 standalone HTML experiences + 3 internal-only security docs
Brand system — color tokens, typography, 500-line style guide
Email campaigns, social calendar, gala materials, video pipeline
24 theatrical production files — script, lighting cues, rehearsal records
[STRUCTURED] — org content made queryable
15+ website pages · 35+ blog posts · FY24–25 annual report · content governance (discrepancy flags, file renaming, README inventory)
CONCLUSION
10 / 10
— THE POINT
Range with receipts.
Product engineering deep enough to make accessibility decisions that most teams don't bother with. AI architecture grounded enough to design a knowledge layer — not just wire up an API — so the system outlasts the engagement. Creative range wide enough to go from a Next.js dashboard to a programmatic video pipeline to broadsheet print CSS in the same project. Every deliverable is an instance of the same pattern: institutional knowledge that lived in someone's head, moved into a system that anyone can use.
LIAM ELLIS
Senior Full-Stack Engineer · AI Systems · Minneapolis, MN
liam@liamellis.dev
liamellis.dev
linkedin: heyitsliam
github: Monichre
1 / 10
↑ / ↓ TO NAVIGATE