AstroPortfolio

shadowstack-portfolio — Astro Portfolio Template

By leabs

A developer portfolio template built with Astro and Tailwind, including a homepage, a scrolling project card area, and a Formspree contact form, under the MIT license.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-04View source

What stands out

A quick read of the recorded project description.

01

Built with Astro and styled with Tailwind

02

Includes a responsive scrolling image area with a 16:9 ratio, 6 images per row for 12 total before looping

03

Contact form reserves a Formspree endpoint configuration

04

Social links are maintained centrally in Social.astro

05

Under the MIT license, allowing free use, modification, commercial use, and distribution

Template Details

Shadowstack Portfolio is a developer portfolio template built with Astro and styled with Tailwind. The repository also notes that it can be deployed to hosting services such as Vercel, Netlify, or Cloudflare. The page structure uses src/layouts/Layout.astro as the entry point for the site description, title, and URL; work and project components are placed in src/components/, pages are placed in src/pages/, and most display information is concentrated in src/pages/index.astro. Social links are maintained in src/components/Social.astro, and the contact form in src/components/Contact.astro requires a Formspree endpoint address. The template includes a responsive scrolling image area (src/components/CustomImageScroll.astro); images are recommended to be placed in src/assets/ for Astro optimization. This area uses a 16:9 ratio, displays 6 images per row (12 total) before fading out via CSS and looping, and the animation parameters are adjusted in tailwind.config.mjs. The repository does not provide more detailed styling notes or performance data, so users must independently verify the licensing and costs of third-party assets and external services before use.

AstroPortfolio

Is it right for your project?

Use Cases

  • Building a personal developer portfolio site
  • Using as a project starting point for combining Astro and Tailwind
  • Needing a scrolling image display area to showcase project screenshots or work
  • Deploying to hosting services such as Vercel, Netlify, or Cloudflare

Suitable For

  • Developers familiar with Astro component and page structure
  • Users willing to configure external services such as Formspree themselves
  • Individuals or teams needing a portfolio template that can be modified under the MIT license

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run npm install, then start the development server with npm run dev

  2. 2

    First set the site description, title, and URL in src/layouts/Layout.astro

  3. 3

    Update social links in src/components/Social.astro and fill in the Formspree URL in src/components/Contact.astro

  4. 4

    Place scrolling images in src/assets/ to use Astro image optimization; animations can be adjusted in tailwind.config.mjs

  5. 5

    Third-party assets such as demo images, fonts, and icons require separate license verification, and external services such as Formspree may incur costs

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 applies to that version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
  • 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

  • The README mentions the Formspree form service; actual submissions require configuring a service endpoint, and its usage limits and costs must be verified separately.
  • Demo images, fonts, icons, and other third-party assets must be checked against 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.
  • The contact form depends on the third-party service Formspree; you must register yourself and provide a Formspree form endpoint URL to receive submissions normally, which is an external service dependency.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

provide a [https://formspree.io/](https://formspree.io/) URL in `src/components/Contact.astro`

Original README
https://github.com/leabs/shadowstack-portfolio/blob/main/LICENSEhttps://github.com/leabs/shadowstack-portfolio/blob/main/README.md

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-04-03
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: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: d1a9df9a891cf117e66f2c91143dfdc3f33bb91defa6f722a7837b9d2ce904d0

2026-10-04T16:40:11.569Z

Source file / repository
# Shadowstack Portfolio

This project is a web developer portfolio built with Astro and deployed to a hosting service like vercel or netlify or cloudflare.

## 🚀 Quick start

**Clone the repository on GitHub web or your terminal:**

```bash
git clone https://github.com/leabs/shadowstack-portfolio.git
```

**Change into the directory:**

```bash
cd shadowstack-portfolio
```

**Install the dependencies:**

```bash
npm install
```

**Start the development server:**

```bash
npm run dev
```

**Start editing the code!**

Start with src/layouts/Layout.astro to set site description, title, and URL above the markup. Then start building out components for work and projects in `src/components/` and pages in `src/pages/`. Use the ones I left as a starting point. Make sure to update your social links in `src/components/Social.astro` and provide a [https://formspree.io/](https://formspree.io/) URL in `src/components/Contact.astro`. Most of the rest of the information lives on `src/pages/index.astro`.

## Scrolling Image Section

This section is `src/components/CustomImageScroll.astro` and can be updated above the markup in the JSON object called cards. Images should be placed in `src/assets/` so Astro can optimize them! This section is responsive and assumes a 16:9 aspect ratio for the images with a row count of 6 (so 12 total images) before the CSS fades out and loops. The anaimation for this is in `tailwind.config.mjs` and can be adjusted there.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.