Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A responsive developer portfolio built with Astro 7, React 19, Tailwind CSS 4, and Framer Motion, with light/dark themes and a type-safe MDX blog.

A dark portfolio & blog theme for Astro with a live 5,000-particle Three.js background, blog system, and glassmorphism UI.
Modern Portfolio Template is a responsive single-page developer portfolio built with Astro 7, React 19, Tailwind CSS 4, and Framer Motion, designed to present a developer's personal information and blog content as a static site.
The Modern Portfolio Template is a static-site portfolio generator that takes all personal and professional details from one TypeScript file plus optional MDX blog posts and produces a fully static website in a dist/ folder. It runs on the Astro framework with React components, uses Tailwind CSS for styling, and is authored by Rishikesh S., released under the MIT license. The output can be deployed to Vercel or any static host, with the canonical site URL driven by the ORIGIN environment variable.
dist/.src/lib/data.ts..md or .mdx files under src/content/blog; posts appear in /blog, get static article routes, and are included in the sitemap when the draft frontmatter flag is set to false.ORIGIN environment variable for canonical URLs.lint, typecheck, format (Oxfmt), and check (Astro and TypeScript diagnostics), with dependencies pinned to exact versions.src/lib/data.ts from bun run dev at localhost:4321, update the profilePicture reference, and deploy the generated static site to Vercel..md or .mdx posts into src/content/blog with title, description, pubDate, and optional updatedDate frontmatter, then flip draft to false to publish.package.json with Bun 1.3.14 and Node.js 22.12+ to reproduce the build with bun install --frozen-lockfile and the included verification commands.The development loop starts with git clone and bun install, then bun run dev serves the site at http://localhost:4321. A portfolio owner edits src/lib/data.ts for personal content and adds blog posts as Markdown or MDX files; ORIGIN is set to the public URL so Astro generates correct canonical links and sitemap. Production builds run bun run build after type and lint checks, and the resulting dist/ folder is ready for Vercel or any static host.
Yes. The template is open source under the MIT License, and the repository is publicly available on GitHub. There are no paid tiers or licensing fees involved.
Bun 1.3.14 and Node.js 22.12 or newer are required, because Astro 7 depends on those versions. The project uses exact dependency pinning, so updates should be made to package.json and bun.lock together.
Create a .md or .mdx file in src/content/blog with frontmatter containing title, description, pubDate, and an optional updatedDate. Set draft to false to publish the post to /blog, its static article route, and the sitemap.
Yes. The Tailwind CSS 4-based styling includes both light and dark themes. The template also supports reduced-motion preferences for Framer Motion animations.
The build outputs static files to dist/, so it works on Vercel or any static hosting service. Set the ORIGIN environment variable to your production URL so Astro uses it for canonical URLs and sitemap generation.
