ANZAAD
Back to projects
ANZAAD Digital Portfolio
Next.js 16ReactTypeScriptFirebaseFirestoreCloudinaryTailwind CSSFramer MotionVercel

ANZAAD Digital Portfolio

ANZAAD's site is not a template. It's a purpose-built platform with a custom content management system, engineered so the studio can publish projects, articles, and services without touching code. Architecture The public site is fully server-rendered with Incremental Static Regeneration. Every page — the portfolio grid, project detail pages, the writing archive — ships as pre-built HTML from Vercel's edge network, regenerated on a revalidation window rather than rebuilt on every request. Content arrives with the document, not after it. That choice solves a problem most portfolio sites never notice. When content is fetched from the browser, privacy-focused browsers and ad blockers silently block the requests, and a meaningful share of visitors see an empty page. Moving every public read to the server made the site immune to that entire class of failure — and made it faster and properly indexable at the same time. The contact form follows the same principle. Submissions run through a Server Action rather than a client-side write, so inbound inquiries reach the studio regardless of what the visitor's browser blocks. Content management The admin dashboard is a full CMS: projects, articles, services, team, and site settings, each with its own editing surface. Image uploads use signed direct-to-CDN transfers — the server verifies the caller's admin claim and issues a short-lived signature, the file goes straight from browser to Cloudinary, and the API secret never leaves the server. Uploads are validated by magic-byte inspection rather than trusting file extensions. Security Access is enforced in layers. Firebase Authentication with custom admin claims gates the dashboard. Firestore security rules define exactly what each collection allows: public content is world-readable, lead submissions are create-only with server-side field validation, and audit logs are immutable. Every server-side credential is scoped to the server and verified absent from the client bundle. Result A site that loads instantly, updates without a deploy, survives adversarial browsers, and stays maintainable — built as a demonstration of the engineering standard the studio applies to client work.