Marketing Site · Cody Sirk
Cody Sirk — saxophonist and educator marketing site
A Next.js site for an Oklahoma saxophonist and music educator: dedicated pages for lessons, performances, and workshops, with Resend-powered contact and newsletter flows — owned outright, no monthly platform fees.

The problem
Cody Sirk is a professional saxophonist and music educator based in Norman, Oklahoma. His work spans three distinct revenue streams — private lessons, live performances at events, and clinics or workshops — and each one needs its own pitch, its own social proof, and its own intake path. A single Linktree or a stock musician template flattens all three into one undifferentiated "hire me" button. Cody needed a site that treated each line of work as a real product, with its own page, its own call to action, and a clean place to capture inquiries without forcing a phone tag round.
What we built
A modern marketing site at codysirk.com with dedicated pages for lessons, performances, and workshops, plus an editorial blog and a newsletter capture. Inquiries flow through a single contact form that routes by topic, and newsletter signups send a real welcome email — not a silent subscription. Dark mode, accessible by default, mobile-fast.
What the site has to do
- Treat lessons, performances, and workshops as three separate products with their own narrative.
- Convert event planners and parents-of-students who land on different pages with different intent.
- Build an audience over time — newsletter, blog, returning students.
- Stay maintainable by a working musician, not require an agency on retainer.
Technical highlights
Resend for both transactional and audience email
Contact-form submissions and newsletter signups both run through Resend via Next.js Server Actions. The newsletter flow is a dual-send pattern: Cody gets notified of the new subscriber and the subscriber gets a real welcome email confirming the signup, all in one server action. No third-party newsletter platform on a monthly fee until the audience justifies one.
Static blog in TypeScript, not MDX
Blog posts are TypeScript objects with TSX bodies — same authoring power as MDX, zero build-pipeline overhead, full type safety on metadata. A post is a file; a draft is a flag. For a working musician publishing a few posts a quarter, this is faster than any CMS.
System-aware dark mode + Rough Notation accents
next-themes drives a system-aware dark mode that respects OS preference. Subtle hand-drawn accents via react-rough-notation give the site a personal feel without resorting to the generic "musician portfolio" template look.
Stack
- Next.js 16 (App Router) + React 19 + TypeScript
- Tailwind CSS 4 with @tailwindcss/typography for the blog
- Resend (transactional + newsletter) via Server Actions
- next-themes for system-aware dark mode
- Radix UI primitives + Lucide icons + react-rough-notation
- Vercel for hosting
Outcome
Cody Sirk is live at codysirk.com: three lines of work each given their own page, a working contact and newsletter pipeline, and a blog Cody can update himself in five minutes from any laptop. No retainer, no CMS subscription, no recurring agency fees.
Why it matters to clients
Most independent professionals — musicians, coaches, consultants — get pushed toward Squarespace or a template Wix site that flattens everything they do into one page. Cody's site is the proof that a real Next.js build, fixed-price and owned outright, is within reach for an individual practitioner — and that owning your own code, email pipeline, and audience pays back the first time you decide to change anything.