Community Recovery Counseling Services
Community Recovery Counseling Services · 2026
Compassionate, strengths-based SUD counseling and recovery coaching in Chico — a site built to lower the barrier to reaching out.
- Problem
- Community Recovery Counseling Services offers strengths-based SUD counseling and recovery coaching in Chico, and needed a site where reaching out feels safe and simple — fast, private, and with nothing technical standing between a visitor and a phone call.
- Solution
- I built a fully static HTML/CSS/JS site with zero runtime dependencies — a small dependency-free Node build script stitches shared nav and footer partials into three pages, with hardened security headers configured for every major host.
- Result
- The three pages are built and live at the studio subdomain with security headers in place; pointing the client's production domain and updating canonical URLs is the remaining launch step.
The brief
Someone visiting a substance-use counseling site is often at a hard moment. The site's job is to lower the barrier to reaching out — which meant fast loads, no tracking bloat, and a calm, compassionate presentation of strengths-based counseling and recovery coaching. Nothing about the build should get in the way of that.
What was built
Three pages: home, services, and about. No runtime framework, no client-side hydration, no JavaScript bundle to wait on — plain HTML, CSS, and JS served as static files.
Static sites usually rot through copy-paste drift: three pages, three slightly different navs. I avoided that with a small build step. Page-specific content lives in templates, the shared nav, mobile menu, and footer live once in partials, and a dependency-free Node script stitches them together and writes the final pages. A verify script runs the build and diffs the output against what's committed, so the generated pages can never silently drift from their sources.
Under the hood
The design system is a block of CSS custom properties — colors, spacing, typography, radii — defined once in :root and treated as the source of truth, never hardcoded inline. Security got real attention for a healthcare-adjacent site: CSP, HSTS, frame, and referrer headers are declared in parallel for Vercel and for Netlify/Cloudflare Pages, so the same protections apply wherever it's hosted, with a meta-tag CSP in each page as defense-in-depth fallback. Robots and sitemap files are in place. The package.json has zero dependencies — nothing to install, nothing to patch, nothing to break.
Where it stands
Built and live at recovery.quengadesigns.dev. The canonical and Open Graph URLs are staged for the practice's production domain — pointing that domain and updating those references is what remains before full launch. Until then the site is fully functional, fully hardened, and costs nothing to keep online.