Back to projects

Aurora Portfolio

A next-generation developer portfolio built with Astro, featuring stunning animations, glassmorphism UI, and a powerful content management system designed to make developers stand out.

Astro TypeScript Tailwind CSS MDX Portfolio Open Source
Aurora Portfolio

A modern, dark-themed portfolio website built with Astro.

Stars
0
Forks
0
Language
Astro
Issues
0
astroblogportfolio
MIT License
06/11/2025
View Repository

The Vision

Aurora Portfolio was born from a simple observation: most developer portfolios look the same. Clean, minimal, safe. While there’s nothing wrong with minimalism, we wanted to create something that would make developers stand out without sacrificing professionalism or performance.

The name “Aurora” comes from the Aurora Borealis—the northern lights. Just like those mesmerizing natural light displays, this portfolio aims to captivate visitors with beautiful gradients, smooth animations, and an immersive experience that showcases your work in the best possible light.

What Makes Aurora Different

Design Philosophy

Aurora embraces bold, confident design while maintaining professional credibility. The dark theme with vibrant indigo, purple, and pink gradients creates a memorable visual identity that stands out in a sea of minimal portfolios.

Key Design Principles:

  • Glassmorphism First - Modern glass effects with backdrop blur create depth and sophistication
  • Animation with Purpose - Every animation serves a purpose, from the gradient-trailing timeline to the stacked social cards
  • Typography Hierarchy - Clear visual hierarchy using Outfit for body text and Bebas Neue for impactful headings
  • Gradient Accents - Strategic use of gradients to draw attention to important elements without overwhelming
  • Mobile-First Responsive - Beautiful on every device, from phones to ultrawide monitors

Technical Architecture

Aurora is built on Astro 5.1.3, a modern static site generator that delivers exceptional performance through its islands architecture. This choice was deliberate—we wanted a portfolio that loads instantly and feels snappy, not one that ships megabytes of JavaScript for simple content display.

Core Technology Stack:

  • Astro - Static site generation with partial hydration
  • TypeScript - Type-safe development and better developer experience
  • Tailwind CSS 3.4 - Utility-first styling with custom design tokens
  • MDX - Enhanced markdown for rich blog posts with embedded components
  • Font Awesome 6.7 - Comprehensive icon system
  • Content Collections - Type-safe content management built into Astro

Features That Matter

Content Management Made Simple

One of Aurora’s biggest strengths is its centralized configuration system. Instead of hunting through multiple files to update your information, everything lives in a single config.js file:

  • Personal information and bio
  • Social media links (with automatic icon fetching)
  • Skills with visual progress bars
  • Work experience for the timeline
  • Navigation structure
  • Footer content and legal links

This approach means you can customize your entire portfolio in minutes, not hours.

Dynamic Project Showcase

The project filtering system automatically generates filter buttons based on the categories in your actual project files. No manual configuration needed—just add a category to your project’s frontmatter, and it appears in the filter list.

Smart Features:

  • Real-time filtering without page reloads
  • Automatic category detection from content
  • Empty state handling when no projects match
  • Smooth fade animations between filter states

Blog System with MDX

Aurora’s blog system supports full MDX, meaning you can embed React components directly in your markdown. But more importantly, the prose styling is carefully crafted for readability:

  • Proper typography hierarchy with gradient headings
  • Beautiful code blocks with syntax highlighting
  • Styled tables with hover effects
  • Blockquotes with accent borders
  • Lists with proper bullet points and spacing
  • Inline code distinguished from code blocks

Interactive Components

Animated Skills Section - Visual progress bars that animate on scroll, showing your proficiency levels in different technologies.

Experience Timeline - An interactive timeline with gradient hover effects that trail your cursor, making your work history engaging to explore.

Stacked Social Cards - Social media cards that fan out on hover with snappy animations, creating a memorable contact section.

Stats Counter - Animated statistics that count up when scrolled into view, perfect for showcasing achievements.

Development Journey

The Challenge

Building Aurora presented several interesting challenges:

Performance vs. Visual Richness - We wanted stunning animations and effects without sacrificing load times. The solution was using CSS animations instead of JavaScript libraries, and leveraging Astro’s static generation to ship minimal JavaScript.

Content Flexibility - The portfolio needed to work for developers with different needs—some want extensive blogs, others just want to showcase projects. The modular component system allows easy customization.

Mobile Navigation - Creating a mobile menu that felt as polished as the desktop experience required careful attention to animation timing and touch interactions.

Technical Decisions

Why Astro Over Next.js?

While Next.js is powerful, it’s overkill for a portfolio. Astro generates pure static HTML with minimal JavaScript, resulting in:

  • Faster load times (no React hydration overhead)
  • Better SEO (fully rendered HTML)
  • Simpler deployment (static files anywhere)
  • Lower hosting costs (no server needed)

Why Tailwind CSS?

Tailwind’s utility-first approach made it easy to maintain consistent spacing, colors, and responsive behavior across all components. The custom design token system in globals.css ensures brand consistency while keeping the flexibility to customize.

Why MDX for Content?

MDX bridges the gap between simple markdown and full component flexibility. Writers can focus on content in markdown, but embed interactive components when needed—perfect for technical blog posts with live demos.

The Content System

Aurora uses Astro’s Content Collections for type-safe content management. This means:

Compile-Time Validation - If you forget a required field or use the wrong data type, you’ll know immediately during development, not when a user visits a broken page.

Auto-Generated Types - TypeScript types are automatically generated from your content schemas, giving you autocomplete and type checking throughout your code.

Flexible Schemas - Easy to extend with new fields as your needs evolve.

Project Schema

title: string          // Project name
description: string    // Brief overview
date: Date            // Completion date
image: string         // Hero image
tags: string[]        // Technology tags
category: string      // For filtering (web, ai, mobile, etc.)
github?: string       // Optional GitHub link
demo?: string         // Optional live demo link

Blog Schema

title: string         // Post title
description: string   // Meta description
publishDate: Date     // Publication date
author: string        // Author name
image: string         // Featured image
tags: string[]        // Topic tags
draft?: boolean       // Hide from production

Design System

Aurora’s design system is built on a foundation of carefully chosen colors and typography that work together to create visual harmony.

Color Palette

Background Layers:

  • Primary: #0a0a0a - Deep black for main background
  • Secondary: #1a1a1a - Slightly lighter for cards
  • Tertiary: #2a2a2a - Elevated elements

Accent Gradients:

  • Primary: Indigo → Purple → Pink
  • Used for headings, buttons, and interactive elements
  • Creates visual interest without overwhelming

Text Colors:

  • Primary: #f5f5f5 - High contrast for body text
  • Secondary: #a0a0a0 - Muted for supporting text
  • Accent: Gradient for emphasis

Typography Scale

Headings: Bebas Neue - Bold, impactful, perfect for hero sections and major headings

Body: Outfit - Clean, modern, excellent readability for long-form content

Code: Monospace - Clear distinction for technical content

Performance Optimizations

Aurora is built for speed:

Static Generation - All pages are pre-rendered at build time, resulting in instant page loads.

Minimal JavaScript - Only essential JavaScript is shipped. Most animations use pure CSS.

Optimized Images - Placeholder system for development, with support for optimized images in production.

Font Loading - Google Fonts are loaded with font-display: swap to prevent layout shift.

CSS Purging - Tailwind automatically removes unused styles in production builds.

Deployment & Hosting

Aurora generates static files that can be deployed anywhere:

Recommended Platforms:

  • Vercel - Zero-config deployment with automatic previews
  • Netlify - Continuous deployment with form handling
  • GitHub Pages - Free hosting for open source projects
  • Cloudflare Pages - Global CDN with excellent performance

Build Command: npm run build

Output Directory: dist/

Future Enhancements

Aurora is actively developed with several features planned:

Dark/Light Mode Toggle - Optional light theme for users who prefer it

Blog Search - Full-text search across all blog posts

Project Filtering Enhancements - Multi-select filters and search

Analytics Integration - Built-in support for privacy-friendly analytics

CMS Integration - Optional integration with headless CMS platforms

i18n Support - Multi-language support for international audiences

Open Source Philosophy

Aurora Portfolio is released under the MIT License, making it free for personal and commercial use. The goal is to help developers create portfolios that truly represent their skills and personality.

Contributing:

We welcome contributions! Whether it’s:

  • Bug fixes and improvements
  • New components and features
  • Documentation enhancements
  • Design suggestions

Check out the GitHub repository to get involved.

Lessons Learned

Building Aurora taught us several valuable lessons:

Less JavaScript, More CSS - Modern CSS is incredibly powerful. Animations, transitions, and even complex interactions can be handled with CSS, resulting in better performance.

Design Systems Matter - Establishing a clear design system early (colors, spacing, typography) made development faster and more consistent.

Content First - Designing around real content, not lorem ipsum, resulted in better typography and layout decisions.

Performance is a Feature - Users notice fast sites. The extra effort to optimize load times and animations pays off in user experience.

Conclusion

Aurora Portfolio represents our vision for what a modern developer portfolio should be: fast, beautiful, easy to customize, and memorable. It’s built with the latest web technologies while maintaining simplicity and performance.

Whether you’re a freelancer looking to attract clients, a developer seeking your next role, or an open source maintainer showcasing your projects, Aurora provides a solid foundation that you can make your own.

The web is your canvas. Make it shine. ✨