Architecting a High-Performance Personal Platform with Astro, GitHub Actions, and Gemini
An architectural deep-dive into building an enterprise-grade, edge-deployed digital CV and technical platform using Astro, Google DeepMind Gemini/Antigravity, and automated GitHub Actions CI/CD.
As a Cloud Architect, your digital presence should reflect the same architectural principles you champion in enterprise environments: performance, security, simplicity, automation, and maintainability. Too many engineering portfolios suffer from framework bloat—shipping multi-megabyte JavaScript bundles for what is fundamentally structured text and technical credentials.
When architecting this platform, my objective was clear: create a blazingly fast, zero-FOUC (Flash of Unstyled Content) static platform with automated credential synchronization, resilient CI/CD pipelines, and executive-ready print formatting, accelerated by modern AI agentic tooling.
Here is an architectural breakdown of how this platform was designed, engineered, and deployed.
1. Why Astro for Enterprise-Grade Portfolio Architecture
Modern client-side single-page applications (SPAs) often introduce needless complexity for content-driven systems. By adopting Astro 7 with static output mode (output: 'static'), the architecture achieves pure compile-time static generation:
- Zero Client-Side JavaScript by Default: Content, layout grids, and CV timelines compile to pure semantic HTML and Tailwind CSS.
- Island Architecture: Interactive components—such as the matrix-inspired
LetterGlitchcanvas and the responsiveSkillsListlogo marquee—are isolated into lightweight React islands hydrated only where necessary (client:visible/client:load), without imposing runtime penalties on the document body. - Instantaneous LCP and Perfect Lighthouse Scores: Sub-50ms Time to First Byte (TTFB) and instant Largest Contentful Paint (LCP) when served from global edge caches.
┌─────────────────────────────────────────────────────────────┐
│ Astro Build Pipeline │
│ │
│ ┌────────────────┐ ┌─────────────────┐ ┌──────────┐ │
│ │ Markdown/JSON │ + │ React Islands │ -> │ Static │ │
│ │ Content Data │ │ (Selective Hyd) │ │ HTML/CSS │ │
│ └────────────────┘ └─────────────────┘ └──────────┘ │
└──────────────────────────────┬──────────────────────────────┘
│ Deploy via GitHub Actions
▼
GitHub Pages Global CDN
2. Zero-FOUC Theming & Executive Print Engineering
Synchronous Theme Resolution
Dark mode implementations often suffer from an unsettling white flash prior to client-side hydration. To guarantee zero flicker regardless of device settings or network latency, a synchronous, blocking script runs directly inside <head> prior to any body or stylesheet rendering:
<script is:inline>
const getThemePreference = () => {
if (typeof localStorage !== "undefined" && localStorage.getItem("theme")) {
return localStorage.getItem("theme");
}
return window.matchMedia("(prefers-color-scheme: dark)").matches
? "dark"
: "light";
};
const isDark = getThemePreference() === "dark";
document.documentElement.classList[isDark ? "add" : "remove"]("dark");
</script>
This ensures Tailwind’s dark variants and CSS custom properties (--background, --sec, --white) resolve before the first paint cycle.
Document-Grade Print & PDF Stylesheet
Most websites look disastrous when printed or exported to PDF. For a virtual CV, a native print stylesheet is a core deliverable:
- Ink-Friendly High Contrast: When printing,
--backgroundforces#ffffffand text overrides to rich charcoal (#111827), ensuring readability even if the user clicks “Print” while viewing the site in dark mode. - Orphan Prevention & Smart Pagination: Using CSS Paged Media standards (
break-after: avoid;on section headings andbreak-inside: avoid;on individual roles and certification cards), the CV flows naturally across page boundaries without splitting job descriptions or orphaning headers. - Chrome/Safari Color Fidelity: Leveraging
-webkit-print-color-adjust: exactto preserve badge borders and timeline markers on physical printouts.
3. Autonomous AI-Augmented Engineering with Google DeepMind Gemini & Antigravity
Engineering this site provided an ideal opportunity to put state-of-the-art AI pair programming into production. Using Google DeepMind’s Gemini models within the Antigravity agentic coding environment, AI was leveraged not as a passive code-completion utility, but as an active architectural collaborator:
- System Refactoring: Rapidly decomposing monolithic modules into clean, decoupled utilities (
credly.ts,mslearn.ts,certifications.ts). - Strict Type Safety & Verification: Enforcing exhaustive TypeScript schemas with Zod and verifying zero diagnostic anomalies using automated
astro checkloops. - Accessibility & Responsive Stress-Testing: Running automated checks across viewport boundaries (down to 320px mobile screens) to eliminate horizontal overflow risks, layout shifts, and contrast mismatches.
By combining senior architectural judgment with Gemini’s high-speed code generation and Antigravity’s verification loops, feature implementation and polish cycles were reduced from weeks to mere hours while maintaining uncompromising engineering rigor.
4. Decoupled Credential Synchronization Engine
As an AWS Golden Jacket holder with 11 AWS certifications and multi-cloud credentials spanning Microsoft Azure, maintaining an up-to-date resume manually is prone to drift.
A custom TypeScript synchronization engine solves this by fetching credentials live from public source-of-truth APIs during the static build:
Credly Public API Microsoft Learn Transcript
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ credly │ │ mslearn │
└────┬────┘ └────┬────┘
│ │
└───────────────┬───────────────┘
▼
┌───────────────────────────┐
│ certifications.ts │
│ • Merge multi-cloud data │
│ • Auto-filter expired │
│ • Apply custom overrides │
└─────────────┬─────────────┘
▼
54 Active Verified Badges
- Automatic Expiration Pruning: Compares expiration timestamps against the build date, automatically excluding retired or expired certifications without manual intervention.
- Custom Priority & Visibility Control: A local configuration schema (
certification-settings.json) allows pinning marquee credentials (like the AWS Solutions Architect – Professional or Azure Solutions Architect Expert) to the top of the grid. - Offline Fallback: If upstream credential APIs experience rate-limiting or downtime during a build, an offline snapshot ensures zero deployment disruption.
5. Continuous Delivery & GitOps with GitHub Actions
The entire deployment lifecycle is governed by automated GitOps workflows hosted in GitHub Actions:
- Automated Builds & Secrets Injection: Sensitive variables (
CONTACT_EMAIL,PUBLIC_WEB3FORMS_KEY) are managed through GitHub Repository Secrets, injected into environment variables at build time, and compiled into static artifacts without ever leaking into the Git history. - Scheduled Synchronization Cron: In addition to triggering on every push to
main, a scheduled GitHub Actions cron (0 6 * * 1) executes every Monday morning, re-fetching external credential APIs and re-deploying the site with the latest certification statuses automatically. - Zero-Config Hosting: Built directly to GitHub Pages with custom apex/subdomain routing (
oliver-slater.co.uk) and automated Let’s Encrypt HTTPS renewal.
Conclusion
A personal technology platform shouldn’t be an afterthought—it should be a direct demonstration of architectural capability. By pairing static compilation via Astro 7, automated GitOps with GitHub Actions, and agentic AI acceleration with Google DeepMind Gemini & Antigravity, this site achieves high-velocity delivery with enterprise-grade reliability and performance.