๐ English | ็ฎไฝไธญๆ
IndieShow: ๐ Boilerplate and Starter for indie Product Show for Nuxt 3, Tailwind CSS, and TypeScript.
Crafted with a focus on developer experience: ๐ฅ๏ธ Nuxt 3 + ๐ ๏ธ TypeScript + ๐จ Tailwind CSS + ๐ i18n + ๐ markdown-it + ๐ ESLint + ๐งฉ simple-git-hooks + ๐งน Lint-Staged + ๐ Commitlint + โ๏ธ Vercel. Launch your global-ready web app with a sleek, performant, and SEO-optimized foundation.
IndieShow is a product showcase website template designed specifically for indie developers. Built with Nuxt 3 + TailwindCSS + TypeScript, you can create a professional product showcase website in minutes with simple configuration!
- ๐ข Product showcase for startups
- ๐จโ๐ป Portfolio for indie developers
- ๐ ๏ธ Quick start template for development
Test Item | Score | Baseline |
---|---|---|
Google PageSpeed (Mobile) | 94 | > 90 |
Google PageSpeed (Desktop) | 99 | > 90 |
Mobile Performance
![]() |
Desktop Performance
![]() |
- Demo Site: https://indieshow-nuxt.waveany.com
- Documentation: View Docs
- Other Branches: If you need to set up a website for payment capability review with Stripe, Paddle, or other payment processors, you can use the
Pricing
Branch
IndieShow/
โโโ components/ # Components Directory
โ โโโ blocks/ # Block Components (Hero, Feature, ShowCase, CTA)
โ โโโ common/ # Common Components (Theme Switch, Language Switch)
โ โโโ layout/ # Layout Components (Header, Footer)
โ โโโ ui/ # UI Components (Back to Top, Progress Bar, QR Code Modal, etc.)
โโโ composables/ # Composables
โ โโโ useLocale # Language Switch
โ โโโ useMarkdown # Markdown Parser
โ โโโ useSeo # SEO Optimization
โโโ config/ # Configuration Files
โ โโโ nav # Navigation Menu
โ โโโ seo # SEO Configuration
โ โโโ showcase # Work Showcase
โ โโโ social # Social Links
โ โโโ theme # Theme Configuration
โโโ i18n/ # Internationalization
โ โโโ en/ # English Language Pack
โ โโโ zh/ # Chinese Language Pack
โ โโโ config.ts # i18n Configuration
โโโ layouts/ # Layout Templates
โโโ pages/ # Page Files
โ โโโ group.ts # User Group Page
โ โโโ index.ts # Home Page
โ โโโ privacy.ts # Privacy Policy Page
โ โโโ sales.ts # Sales Terms Page
โ โโโ terms.ts # Terms of Service Page
โโโ plugins/ # Plugins Directory
โ โโโ analytics-google.client.ts # Google Analytics
โโโ public/ # Static Assets
โโโ types/ # Type Definitions
- Using latest dependency versions with continuous updates
- Clean and elegant code with Composition API and
<script setup>
- Complete TypeScript type support
- Integrated antfu/eslint-config for consistent code style
- Responsive design based on TailwindCSS
- Light/Dark theme with system theme following
- Beautiful transitions and page effects
- Customizable theme colors
- English and Chinese support, easily extensible
- Automatic browser language detection
- Simple configuration, instant translation updates
- Automatic language prefix in URLs
- Perfect adaptation for mobile and desktop
- PWA support, installable to home screen
- Optimized interaction for different devices
- SSR support based on Nuxt 3
- Automatic sitemap.xml generation
- Static page pre-rendering
- Complete Meta tag support
- Customizable page titles and descriptions
- Automatic code splitting
- Smart component preloading
- Automatic image optimization
- On-demand icon loading
- Node.js โฅ 18.0
- pnpm โฅ 8.0
- Clone Project
git clone https://github.com/WaveAny/IndieShow-Starter-Nuxt.git
cd IndieShow
pnpm install
- Configure Environment Variables
cp .env.example .env
- Start Development Server
pnpm dev
- Build and Deploy
# Build for production
pnpm build
# Preview production build
pnpm preview
- One-Click Deploy
Recommended deployment with Vercel:
1. How to customize themes?
Edit config/theme.ts
file:
export const themeColors = {
primary: {
color: "indigo",
hex: "#4f46e5",
gradient: {
dark: "#6366f1",
},
},
gray: {
color: "zinc",
},
}
This project is licensed under the MIT License.
- Nuxt 3 - Vue.js Full-stack Framework
- Vue 3 - Progressive JavaScript Framework
- Tailwind CSS - Utility-First CSS Framework
- GitHub Issues: Submit Issues
- Email: suppore@waveany.com
Light Theme
![]() |
Dark Theme
![]() |