Myndi is a free open-source Astro portfolio and blog template created by front-end developer Myndi that produces a customizable static site with light/dark mode, RSS, sitemap, and a full set of blog features including draft posts and related posts.
What is Myndi?
Myndi is a portfolio and blog template built with the Astro framework and styled with SCSS. It takes Markdown blog posts and configuration files (config.js, src/data/siteData.json) as input, and generates a static website with an about page, blog listing, author and category pages, a 404 page, and an RSS feed. The template is distributed under the Apache-2.0 license and is available free via npm create astro using the Myntsu/myndi template or by cloning the GitHub repository.
Key Features
Myndi ships with these notable features:
- Vanguardist layout — A distinctive visual design using simple colors and an accessible, hyperlegible font; the Atkinson Hyperlegible font is bundled in
public/fonts. - Responsive and mobile friendly — The layout adapts across screen sizes and includes a mobile-friendly navigation with a scrollspy script.
- Light/Dark mode — A theme toggle is implemented in
src/scripts/themechange.js, and global color variables are defined insrc/css/global.scss. - Complete blog feature set — Draft posts, pagination, related posts, category pages, and author profiles are included from the start.
- Type-safe Markdown — Blog posts use a defined frontmatter schema (layout, title, date, author, image, description, draft, category, profile) and are rendered from
.mdfiles insrc/pages/blog/. - Sitemap and RSS — Integrates
@astrojs/sitemapand@astrojs/rss; the RSS feed is styled with an XSL stylesheet atpublic/rss/styles.xsl. - Image optimization — Uses
@astrojs/imagewith the Sharp service, allowing width, height, format, and quality settings for images. - Customizable structure — Site data, social links, SEO metadata, and global styles are edited from
config.js,src/data/siteData.json,src/components/SEO.astro, andsrc/css/global.scss.
Who is it for?
Myndi is for front-end developers and beginners who want to launch a personal portfolio and blog without building a site from scratch. The author explicitly created it to give back to people starting on this journey, so the codebase includes commented scripts and utility components. Freelancers can use the about page's Projects, Technologies, and Hobbies components to showcase their work, while content creators can maintain a blog with categories, drafts, and RSS distribution.
What can you do with Myndi?
With Myndi you can build and customize a personal site for a variety of goals:
- Aspiring developers — Study the included scripts (scrollspy, theme change, JSON-LD, postcard) to learn practical Astro patterns and then customize the template for their own portfolio.
- Freelancers and designers — Set up a professional-looking portfolio with an about page, project showcase, and social media links, then add blog posts to share case studies and insights.
- Content creators — Publish Markdown posts with draft support, categories, and related posts, and let readers subscribe via the generated RSS feed.
How does Myndi work?
Getting started is straightforward: run npm create astro@latest -- --template Myntsu/myndi (or clone the repository and run npm install). Then edit astro.config.mjs to set your site URL, update config.js for navigation and social links, and write blog posts as Markdown files in src/pages/blog/ using the provided frontmatter. The project builds a static site with all configured integrations.
FAQ
Is Myndi free?
Yes, Myndi is completely free to use and is licensed under Apache-2.0. You can start a new project with the Astro template command or clone the GitHub repository at no cost.
What blog features does Myndi include?
Myndi supports draft posts, pagination, related posts, categories, author pages, and an RSS feed. Posts are written in Markdown with frontmatter for layout, title, date, author, image, description, draft, and category.
Does Myndi support fuzzy search?
No. The README explicitly lists fuzzy search as a missing feature (marked with an X). The template instead relies on categories, related posts, and RSS for content discovery.
How do I customize the site data?
The main files to edit are astro.config.mjs (site URL), config.js (links and socials), src/data/siteData.json (default metadata), and src/css/global.scss (CSS variables such as colors, sizing, and fonts).




