Let's talk

// blog

Thoughts & Insights

On development, design, and building things

Latest Posts

View Archive

What Security Headers Do Musician Website Builders Actually Ship?

4 min read

I keep a real pre-launch checklist that includes a hash-pinned CSP, HSTS, and the rest of the standard security-header set. Out of curiosity, I checked whether the platforms musicians actually use — Bandzoogle, Squarespace, Wix, WordPress.com — ship the same thing. Here's what curl -I actually returned.

SecurityCase StudySEO

I Security-Reviewed My Own Deployed App: Cheap Wins, a Key Vault Migration, and What I Chose Not to Fix

5 min read

I build custom business software, so I audited my own live .NET app on Azure. The biggest win was moving secrets into Key Vault, but the most useful findings were two switches that were off and a lockout I finally tested.

SecurityAzure.NETCase Study

One App, Two Audiences: Building a Customer Intake Backend with a Personal ERP Inside It

5 min read

My newest side project puts two things under one roof: a public lead-intake system for two different businesses, and a private personal ERP for my own freelance pipeline — sharing a process but never a data boundary. Here's how that boundary actually gets enforced (I deliberately broke it to check), why a status field can't tell you when something happened, and what went wrong deploying to Azure.

Blazor.NETArchitectureCase Study

Rebuilding My Own Musician Site: From a Blazor Template to a Verified Astro Build

4 min read

My other site, dougrosenberg.com, is where my saxophonist/composer identity lives — and it was running on a stock Blazor template that could have belonged to anyone. I rebuilt it in Astro on Cloudflare's edge, replacing assumed performance and content-parity claims with a real, checkable test suite. Here's what a template actually costs you, and what it took to fix.

AstroBlazorPerformanceCase Study

Why GEO Doesn't Work in a Blazor WASM SPA (And What I Found When I Audited My Own)

4 min read

GEO (Generative Engine Optimization) is the new SEO — but if your site is a client-rendered single-page app, you might be structurally invisible to the AI crawlers it's supposed to court. I audited my own Blazor WASM portfolio and found the problem was worse, and weirder, than I expected.

SEOGEOBlazorWeb Development

Building a Family Tree App with Blazor: Hard Problems & Solutions

3 min read

A technical deep-dive into ArborKin: how I solved tree layout visualization, drag state management, and photo handling in Blazor Server. Lessons learned building a production genealogy app.

BlazorCase StudyWeb Development

Hello World: Welcome to My Blog

1 min read

An introduction to my new blog where I'll share thoughts on software development, design, and technology.

Web Development

Building a Modern Portfolio with Blazor

1 min read

A deep dive into creating an interactive portfolio using Blazor WebAssembly, CSS3, and modern web standards.

BlazorWeb DevelopmentCase Study