Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A dark, minimal single-page portfolio template for developers, built with Astro, React, TypeScript, and Tailwind CSS, with Spotify and Formspree integrations.

Free open-source one-page portfolio template built with Astro, React, and Tailwind CSS, featuring a dark layout, contact form, and Spotify integration.

Mikosch is a warm, editorial Hugo theme with bold serif headlines, soft gradients, and spacious cards.
Dark Minimal (listed as Darkminimal on the Astro themes directory) is a dark-mode, single-page portfolio template built with Astro, React, TypeScript, and Tailwind CSS, maintained by Gothsec and released under the MIT License.
Dark Minimal is an official Astro theme that generates a static portfolio website from .astro components plus a small set of React islands. You supply your name, social links, project entries, a Spotify album embed, and a Formspree form endpoint, and it outputs a single dark-themed index page with navigation, hero, projects, a logo wall, and a footer. It runs on Astro's build tooling (Node.js v18 or higher, using npm or pnpm) and can be deployed to Vercel, Netlify, or GitHub Pages. The open-source repository sits at github.com/Gothsec/dark-minimal with roughly 259 stars.
src/pages/index.astro page that renders to static HTML, with the live demo hosted on Vercel.tailwind.config.mjs, so colors, spacing, and typography are changed in one place.src/React/: LetterGlitch.tsx (taken from ReactBits.dev), LikeButton.tsx, and SkillsList.tsx.src/Components/footer.astro contains an iframe slot where you paste a Spotify album embed code so visitors can play your current favorite record.src/Components/contact.astro posts to Formspree once you replace the form action with your own endpoint URL.nav.astro, home.astro, projects.astro, logoWall.astro, contact.astro, and footer.astro, plus an SVG folder under public/.src/layouts/Layout.astro holds the page title, meta description, canonical URL, Open Graph tags, and a JSON-LD schema block.home.astro and projects.astro, then deploy to Vercel or Netlify to get a live site without writing layout CSS from scratch.tailwind.config.mjs and keep the shipped component structure..astro files with React islands and TypeScript.src/components/projects.astro with your own titles, descriptions, and links.src/Components/footer.astro so the footer plays the album.https://formspree.io/f/your_id, and set it as the form's action attribute.Clone the repository, run npm install, then npm run dev to start the local development server. Before deploying, work through the checklist: update src/layouts/Layout.astro (title, description, canonical URL, Open Graph tags, JSON-LD), change the "Your Name" greeting and the GitHub, LinkedIn, and email links in src/components/home.astro, swap the placeholder projects, and update the footer social links, Spotify iframe, and copyright name.
.astro files, so there is no CMS or admin panel for non-technical editors.Dark Minimal is free and open source under the MIT License.
Yes. The project is licensed under the MIT License, so you can use, modify, and deploy it, including for client work, and only the license terms require keeping attribution.
You need Node.js version 18 or higher plus npm or pnpm. Clone the repository, install dependencies, and run npm run dev to launch the local development server.
The template ships a contact form in src/Components/contact.astro, but it only works after you create a Formspree form and replace the action URL with your own endpoint.
The demo runs on Vercel, and the documentation states the Astro build can also be deployed to Netlify or GitHub Pages, typically by importing the repository from GitHub.
Yes. Pick an album in Spotify, use the share options to copy the embed code, and paste it into src/Components/footer.astro. If you skip this step, the footer keeps whatever placeholder album is shipped.
