viewpane.app
CompleteProduct Marketing Website
Marketing site for ViewPane — our mobile companion app. A single-page pitch with feature breakdown, technical stack overview, transparent pricing, and a no-ESP waitlist that goes straight to inbox.
About
The product site for ViewPane — a one-page pitch designed to let a visitor decide, in under thirty seconds, whether the app earns a spot on their phone. No marketing fluff, no hero video, no autoplay-everything: a clear value prop, eight technical features written for people who run their own stack, the pricing on the page (not in a modal), and a privacy/terms surface for app store submission. Built by someone who runs Frigate at home — the credibility comes from being part of the audience the app serves.
Technical Highlights
- Astro 5 static — no SSR, no client framework, ~76 KB total deploy
- Six pages — landing, docs, privacy, terms, report-a-bug + thanks
- Inline-SVG favicon +
theme-colormeta — no external font/icon requests - Zero JS at runtime — every animation is CSS; no Vue/React/Svelte
- No analytics, no telemetry, no third-party SDKs — same posture as the app it markets
- Hardcoded production URLs in
astro.config.mjsso social cards and OG meta resolve correctly from any deploy preview
Hosting & Domain
- Netlify static deploy — local-built
dist/, pushed vianetlify deploy --prod - Porkbun DNS —
ALIASat apex →apex-loadbalancer.netlify.com,CNAMEwww→ Netlify subdomain - Auto-issued Let’s Encrypt SSL covering apex +
www .appTLD HSTS preload — every connection forced to HTTPS at the browser level, no mixed-content fallback possible
Waitlist
The “Get notified” CTA is a straight mailto: to the founder’s inbox. No ESP, no list-management vendor, no tracking pixel — just a one-line email pre-filled with the launch context. Same minimal-trust posture the app sells: if the marketing site itself collected emails through a third-party platform, the privacy claim wouldn’t survive contact with reality.