pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/aleksa-codes/astro-portfolio

ssorigen="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-8522af645b000615.css" /> GitHub - aleksa-codes/astro-portfolio: Personal portfolio and blog built with Astro, Tailwind CSS and Decap CMS. Ready to be hosted on Netlify and use Netlify Forms. + Portfolio AI Assistant. · GitHub
Skip to content

aleksa-codes/astro-portfolio

Repository files navigation

🚀 Astro Portfolio - aleksa.codes

📅 March 2026 Update: This repository has undergone a major overhaul and refactor!

Personal portfolio and blog built with Astro 5, Tailwind CSS 4, and TypeScript.

Astro Tailwind CSS TypeScript Netlify

Features

  • Astro 5 — 🌌 Static-first with hybrid SSR for the AI chat endpoint
  • Tailwind CSS 4 — 🎨 Vite plugin, CSS-only config, shadcn-style oklch design tokens
  • MDX Blog — 📝 Content collections, pagination, reading time, Giscus comments
  • AI Chat — 🤖 Groq-powered streaming assistant with follow-up questions and daily rate limits
  • OG Images — 🖼️ Auto-generated at build time via astro-og-canvas
  • Decap CMS — ⚙️ Git-based headless CMS at /admin
  • Dark Mode — 🌙 System-aware with instant toggle (no flash)
  • Contact Form — ✉️ Netlify Forms with reCAPTCHA and honeypot
  • Performance — ⚡ Compression, lazy loading, priority hints, preloaded fonts
  • SEO — 🔍 Sitemap, RSS, meta tags, structured OG data

Quick Start

# Clone & install
git clone https://github.com/aleksa-codes/astro-portfolio.git
cd astro-portfolio
bun install

# Set up env
echo 'GROQ_API_KEY=your_key_here' > .env

# Run dev server
bun run dev

Open http://localhost:3000.

Scripts

Command Description
bun run dev Dev server (port 3000)
bun run build Type check → Astro build → Tailwind minify → PostCSS
bun run preview Preview production build
bun run format Prettier (Astro + Tailwind + import sorting)
bun run decap Local Decap CMS server

Project Structure

src/
├── assets/            # Images & fonts (Astro-optimized)
├── components/        # Astro components (kebab-case)
│   └── ui/            # Primitives (card, badge, button, tooltip)
├── content/blog/      # MDX blog posts
├── layouts/           # base-layout.astro
├── lib/               # Utilities, project data, tech stack data
├── pages/             # Routes (static + /api/chat SSR)
└── styles/            # global.css (Tailwind v4 config + design tokens)

Environment Variables

Variable Required Purpose
GROQ_API_KEY Yes (for chat) Groq API authentication

Tech Stack

Category Technology
Framework Astro 5
Styling Tailwind CSS 4 + shadcn/ui tokens
AI Vercel AI SDK + Groq
Content MDX + Decap CMS
Icons astro-icon (Lucide, Simple Icons, etc.)
Code Blocks Expressive Code
Deployment Netlify (static + serverless)
Package Manager Bun

Deployment

Deploy to Netlify with these settings:

  • Build command: bun run build
  • Publish directory: dist
  • Environment variables: GROQ_API_KEY
  • Enable Netlify Forms and Netlify Identity (for Decap CMS)

License

MIT — see LICENSE.

About

Personal portfolio and blog built with Astro, Tailwind CSS and Decap CMS. Ready to be hosted on Netlify and use Netlify Forms. + Portfolio AI Assistant.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy