Colophon
This page details the architecture, technologies, and design principles behind this website. It serves as both documentation and a tribute to the tools that make this site possible.
Architecture
This website follows the islands architecture pattern, combining static site generation with dynamic islands of interactivity. Content is primarily static for optimal performance, with interactive components selectively hydrated only when necessary.
The site is built with Astro, a modern framework for building faster websites with less client-side JavaScript. It uses server-side rendering with a content collection pattern for blog posts.
Hosted on Cloudflare Pages with 100% renewable energy, the site leverages edge functions for dynamic content while maintaining near-instant load times.
Core Technologies
- Astro — Main framework for static site generation with dynamic islands
- JavaScript with JSDoc — Type-safe JavaScript without TypeScript
- TailwindCSS & UnoCSS — Utility-first CSS frameworks for styling
- Vue — Used for interactive components and islands
- MDX — Extended Markdown for writing blog posts with embedded components
- Swiper — For image carousels and sliders
The site integrates with the LastFM API to display recently played tracks, combining static assets with dynamic components for an optimal user experience.
Changelog
This section automatically displays the latest changes to the website from the GitHub commit history. Commits are categorized by type for easier navigation.
Feature
| Change | Author | Date | |
|---|---|---|---|
| | Add blog post: Rusty but Shipped | Waleed H.Khan | |
| | Add blog post: The AI Accountability Shield | Waleed H.Khan | |
| | Improve mobile navigation accessibility and contrast | Waleed H.Khan | |
| | Redesign navigation with tactile interactions and view transitions | Waleed H.Khan | |
| | Replace Three.js with Motion.dev, remove Spotify branding | Waleed H.Khan | |
| | Add Listening dashboard and enhance Now Playing widget | Waleed H.Khan | |
| | Add Now Playing widget with Spotify integration | Waleed H.Khan | |
| | Add Now Playing widget for live Spotify status | Waleed H.Khan | |
| | Add wrangler as dev dependency | Waleed H.Khan | |
| | Add debug logging for Spotify env vars | Waleed H.Khan |
Performance
| Change | Author | Date | |
|---|---|---|---|
| | Clean up about page and remove Bluesky links | Waleed H.Khan |
Design
| Change | Author | Date | |
|---|---|---|---|
| | Simplify listening page with minimal design | Waleed H.Khan |
Content
| Change | Author | Date | |
|---|---|---|---|
| | Simplify about page with evergreen content and minimal CTAs | Waleed H.Khan |
Fix
| Change | Author | Date | |
|---|---|---|---|
| | Fix: Access Cloudflare runtime env vars via locals.runtime | Waleed H.Khan |
Other
| Change | Author | Date | |
|---|---|---|---|
| | Remove clients and experience from home, remove picture from about | Waleed H.Khan | |
| | Remove advisory roles section from about page | Waleed H.Khan | |
| | Only show glitch effect on track change, not on first load | Waleed H.Khan | |
| | Revert "Replace Three.js with Motion.dev, remove Spotify branding" | Waleed H.Khan | |
| | Make wave animation full width and full page height | Waleed H.Khan | |
| | Remove Now Playing widget | Waleed H.Khan |
Design Principles
The design follows Bauhaus minimalist principles with influences from Berlin brutalist architecture, focusing on:
- Performance First — Optimized for speed and efficiency, with a focus on core web vitals.
- Simplicity — Minimalistic design that avoids unnecessary complexity.
- Responsive Design — Works well on various devices and screen sizes.
- Accessibility — Designed to be accessible to all users, including those with disabilities.
- Content First — Prioritizes content and user experience over design elements.
Typography
Two carefully selected typefaces are used throughout the site:
Inter — A neo-grotesque sans-serif designed as a versatile typeface for user interfaces. Used for body copy and headings.
JetBrains Mono — A monospaced font created by JetBrains and distributed under the SIL Font License. Used in code blocks and miscellaneous accents.
Visual Elements
Colors are extracted from Untitled UI design system and TailwindCSS color system with personal modifications.
Icons are handpicked from Lucide for UI elements and Simple Icons for brand icons, served via Iconify.
Diagrams are created with Miro and Mermaid, while images in posts are sourced with proper attribution.
Inspirations
This website's design is influenced by multiple sources. Below is a list of inspirations in no particular order: