AstroPortfolio

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.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

A portfolio template with a grunge visual style, aimed at creative people such as developers and designers

02

Includes home, works list, single work, about, contact and 404 pages

03

Components are layered into elements, global and sections for easy reuse and replacement

04

Uses content collections to manage work content, with project images stored by directory

05

Built-in pagination, SEO settings and sitemap, common portfolio capabilities

06

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.

AstroPortfolio

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. 1

    Use npm install to install dependencies, and npm run dev to start the local development server (default localhost:4321)

  2. 2

    npm run build generates the production site to ./dist/, and npm run preview allows local preview of the build result

  3. 3

    Work content is added through content collections, and project images are placed in the corresponding images subdirectory

  4. 4

    Global styles and Tailwind theme configuration are located in src/styles/global.css, and Markdown styles are located in markdown.css

  5. 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

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

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                     |

Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.