Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Interactive macOS-inspired portfolio with AI-powered chat, dynamic backgrounds, and SEO optimization

A dark portfolio & blog theme for Astro with a live 5,000-particle Three.js background, blog system, and glassmorphism UI.
MacOS Terminal Portfolio is an Astro portfolio theme that recreates a macOS desktop interface with an AI-powered terminal chat, dynamic wallpapers, and a responsive dock.
MacOS Terminal Portfolio is an open-source Astro theme for building a portfolio website styled as a macOS desktop. It takes your personal details, OpenAI API key, and background images as input, and produces a static site with a rotating wallpaper, a macOS-style dock, and a terminal chat widget that talks to OpenAI. The theme is authored by Johnny Culbreth in Austin, TX and is built with Astro, React, TypeScript, and Tailwind CSS.
Setup follows a standard Astro flow: git clone the repository, run npm install, copy .env.example to .env, add your OPENAI_API_KEY, then run npm run dev. The only prerequisites are Node.js v18 or higher and, if you want the chat to respond, a valid OpenAI API key.
Yes, for the terminal chat to return AI responses you must set OPENAI_API_KEY in a .env file. Without the key the wallpaper, dock, and page content still work, but the chat will not reply.
Yes. Dock shortcuts are defined in src/components/global/DesktopDock.tsx (desktop) and MobileDock.tsx (mobile), so you can add, remove, or reorder shortcuts by editing those components.
Yes. It is licensed under the MIT License, so you can use and modify it for personal or commercial portfolios without cost.
Edit the meta tags in src/pages/index.astro for the homepage and src/components/global/BaseHead.astro for global head tags. The sitemap is generated automatically by @astrojs/sitemap.
Yes. The theme includes @astrojs/vercel, but you can switch to another Astro adapter by editing astro.config.mjs. The rest of the codebase is platform-agnostic.
