A portfolio template with a grunge visual style, aimed at creative people such as developers and designers
grunge — Astro Portfolio Template
By jessgaspardev
Grunge is an Astro-based portfolio template with a grunge visual style, suitable for developers, designers and other creative workers to showcase personal work.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Includes home, works list, single work, about, contact and 404 pages
Components are layered into elements, global and sections for easy reuse and replacement
Uses content collections to manage work content, with project images stored by directory
Built-in pagination, SEO settings and sitemap, common portfolio capabilities
The repository uses the MIT license, allowing free use, modification, commercial use and distribution
Template Details
Grunge is an Astro portfolio theme. The README positions it as a portfolio template with a grunge aesthetic, aimed at developers, designers and other creative workers who want to highlight personal style and express an appreciation for the 90s music scene. The template provides an online demo site, and the repository uses the MIT license.
In terms of page structure, the template includes home, works list, single work detail, about, contact and 404 pages. The home page is composed of section components such as Hero, About, SelectedWorks, Services and Faq; the about page includes Intro, Education and Experience; the contact page includes Intro along with ContactDetails and ContactItem; the works page includes Works and Pagination.
In terms of code organization, src/components is layered into elements (cross-site common elements such as Container, Heading, Text, Link, Dropdown, Work), global (BaseHead, Seo, Footer, Navigation, Wrapper used on every page) and sections (page sections). Content is managed through content collections, with project entries placed in the content directory and accompanied by an images subdirectory for project images; styles are centralized in global.css (including Tailwind theme configuration) and markdown.css.
Functionally, the README lists content collections, reusable components, Tailwind theme, pagination, SEO settings, sitemap and continuous updates. The tech stack is listed as Astro, Tailwind, JavaScript and TypeScript. The README does not document build output size, browser compatibility range or deployment platform requirements, so specific behavior must be based on the actual project.
Is it right for your project?
Use Cases
- Developers or designers building a personal portfolio website to showcase projects and personal experience
- Personal sites that need a grunge visual style and want to stand out from common minimalist portfolio templates
- Projects using Astro as the tech stack that want to directly use ready-made components and content collection structure
- Static portfolio sites that need works list pagination, SEO metadata and a sitemap
Suitable For
- Developers and designers who want to quickly start a personal portfolio
- Front-end users who prefer the combination of Astro and Tailwind
- Creative workers who accept the grunge style and are willing to adjust the visuals on that basis
- Personal sites that need basic pages such as works list, about and contact
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Use npm install to install dependencies, and npm run dev to start the local development server (default localhost:4321)
- 2
npm run build generates the production site to ./dist/, and npm run preview allows local preview of the build result
- 3
Work content is added through content collections, and project images are placed in the corresponding images subdirectory
- 4
Global styles and Tailwind theme configuration are located in src/styles/global.css, and Markdown styles are located in markdown.css
- 5
Third-party assets such as demo images, fonts and icons must be checked separately under their respective licenses; the MIT license only covers the code of this version
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use and distribution of the code of this version are allowed.
- When distributing copies or substantial portions of the code, the original author's copyright notice and the complete MIT license notice must retain.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis
https://github.com/jessgaspardev/grunge/blob/main/LICENSEhttps://github.com/jessgaspardev/grunge/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
Compiled by DeepSeek based on repository license and README ·2026-10-04. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- Astro Themes
- Documentation and maintenance reference score
- More documented · 87 / 100
- Technologies
- Astro
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-08-24
- Screenshot last checked
- 2026-10-04
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261017 · 2026-10-16
Inspect the recorded source material
SHA-256: b7ec2b94ee018629de6a80d8ad9f06dcf21a6934a531cd061e073fe80d55f269
2026-10-04T18:55:23.007Z
Source file / repository# Grunge Grunge is a portfolio Astro theme with a grunge aesthetic, perfect for developers, designers and any other creative who wants to stand out and show their love for the 90s music scene. - [**Live Demo**](https://grunge.pages.dev) ## Tech stack - Astro v7 - Tailwind v4 - JavaScript - TypeScript ## Pages - Home - Works - Individual Work - About - Contact - 404 ## Features - Content collections - Reusable components - Tailwind theme - Pagination - SEO setup - Sitemap - Ongoing updates If you have any questions, feel free to reach out: - [Twitter](https://x.com/_gasparjs) - [Bluesky](https://bsky.app/profile/gasparjs.bsky.social) - [[email protected]](mailto:[email protected]) ## 🚀 Project Structure Inside of your template, you'll see the following folders and files: ```text / ├── public/ │ └── favicon.svg ├── src │ ├── assets │ │ └── images │ │ └── ui │ │ └── work-card │ ├── components │ │ ├── elements # elements that can be used across the website │ │ │ └── Container.astro │ │ │ └── ContainerBottom.astro │ │ │ └── Heading.astro │ │ │ └── ImageContainer.astro │ │ │ └── Link.astro │ │ │ └── Text.astro │ │ │ └── Dropdown.astro │ │ │ └── ResumeDropdown.astro │ │ │ └── Work.astro │ │ ├── global # elements used on every page │ │ │ └── BaseHead.astro │ │ │ └── Seo.astro │ │ │ └── Footer.astro │ │ │ └── Navigation.astro │ │ │ └── Wrapper.astro │ │ ├── sections # components used on each section of each page │ │ │ └── about │ │ │ │ └── Education.astro │ │ │ │ └── Experience.astro │ │ │ │ └── Intro.astro │ │ │ ├── contact │ │ │ │ └── ContactDetails.astro │ │ │ │ └── ContactItem.astro │ │ │ │ └── Intro.astro │ │ │ ├── home │ │ │ │ └── About.astro │ │ │ │ └── Faq.astro │ │ │ │ └── Hero.astro │ │ │ │ └── SelectedWorks.astro │ │ │ │ └── Services.astro │ │ │ ├── works │ │ │ │ └── Pagination.astro │ │ │ │ └── Works.astro │ ├── components │ │ ├── images │ │ │ └── (folders for each post - add your project images here) │ │ └── project-title.md │ │ └── (add your projects here) │ ├── layouts │ │ └── Layout.astro │ ├── pages │ │ └── works │ │ │ └── [...page].astro │ │ │ └── [page].astro │ │ └── index.astro │ │ └── 404.astro │ │ └── about.astro │ │ └── contact.astro │ ├── styles │ │ └── global.css # global styling and tailwind theme configuration │ │ └── markdown.css # markdown files styling │ └── content.config.ts └── .gitignore └── astro.config.ts └── LICENSE └── package-lock.json └── README.md └── tsconfig.json ``` ## 🧞 Commands All commands are run from the root of the project, from a terminal: | Command | Action | | :------------------------ | :----------------------------------------------- | | `npm install` | Installs dependencies | | `npm run dev` | Starts local dev server at `localhost:4321` | | `npm run build` | Build your production site to `./dist/` | | `npm run preview` | Preview your build locally, before deploying | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | | `npm run astro -- --help` | Get help using the Astro CLI |
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio

astro-nano
Astro Nano is a static, minimalist portfolio and blog template built with Astro, Tailwind, and TypeScript without frontend frameworks. It includes light/dark themes, animated UI, automatic sitemap and RSS feed generation, and Markdown/MDX support with component imports.
Astro · Portfolio

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-sphere
Astro Sphere is a static, minimalist portfolio and blog theme maintained by markhorn-dev, built mainly with Astro, Tailwind, and TypeScript, with a small amount of SolidJS for stateful components.
Astro · Portfolio

astro-micro
Astro Micro is a framework-free blog and portfolio theme for Astro, forked from Astro Nano. It adds Pagefind search and Giscus comments while retaining type safety, sitemap, RSS, Markdown and MDX support, and TailwindCSS with system, light, and dark themes.
Astro · Portfolio

astro-aria
astro-aria is an Astro-based personal blog and portfolio template maintained by miantiao-me, ported from static-templates/aria.
Astro · Portfolio
