WallpaperLaunchpad is a Next.js App Router wallpaper platform with static SEO pages, local JSON content, downloadable wallpaper packs, and an internal admin generator powered by the OpenAI image API.
Live site:
https://wallpaperlaunchpad.vercel.app
- Next.js App Router
- TypeScript
- Tailwind CSS
- Static JSON data in
data/ - Local image storage in
public/wallpapers/ - OpenAI image generation for the internal admin tool
- Vercel deployment and Vercel Analytics
- Homepage with premium-style sections for categories, trending wallpapers, newest drops, and featured collections
- Browse page with search, filters, sorting, and empty states
- Category pages, wallpaper detail pages, collections, favorites, pricing, and SEO hubs
- Download buttons for original wallpaper files stored in
public/wallpapers/... - Local favorites via
localStorage - Premium-ready UI states for future monetization
- Static SEO infrastructure with
sitemap.xml,robots.txt, unique metadata, and internal linking - Internal admin generator at
/admin/generate
Install dependencies:
npm installCreate .env.local:
OPENAI_API_KEY=your_openai_api_key
OPENAI_IMAGE_MODEL=gpt-image-1-mini
NEXT_PUBLIC_SITE_URL=http://localhost:3000
ADMIN_BASIC_AUTH_USERNAME=admin
ADMIN_BASIC_AUTH_PASSWORD=change-meStart development:
npm run devBuild locally:
npm run buildType-check:
npm run typecheckLint:
npm run lintRequired for image generation:
OPENAI_API_KEY
Recommended:
OPENAI_IMAGE_MODELNEXT_PUBLIC_SITE_URLGOOGLE_SITE_VERIFICATIONADMIN_BASIC_AUTH_USERNAMEADMIN_BASIC_AUTH_PASSWORD
The internal generator is available at:
/admin/generate
It is protected with HTTP Basic Auth using:
ADMIN_BASIC_AUTH_USERNAMEADMIN_BASIC_AUTH_PASSWORD
The generator:
- builds prompts from reusable category templates
- generates desktop or mobile wallpapers with the OpenAI image API
- saves images into
public/wallpapers/{category}/ - appends metadata into
data/wallpapers.json
Main content files:
data/categories.jsondata/wallpapers.jsondata/collections.jsondata/seo-guides.jsondata/theme-hubs.jsondata/faq-pages.jsondata/intent-pages.json
Wallpaper files are stored in:
public/wallpapers/{category}/
The project is configured for Vercel.
Production URL:
https://wallpaperlaunchpad.vercel.app
Set these environment variables in Vercel before using the admin generator:
OPENAI_API_KEYOPENAI_IMAGE_MODELNEXT_PUBLIC_SITE_URLGOOGLE_SITE_VERIFICATIONADMIN_BASIC_AUTH_USERNAMEADMIN_BASIC_AUTH_PASSWORD
Google Search Console:
- add your domain in Google Search Console
- copy the verification token into
GOOGLE_SITE_VERIFICATION - redeploy so Next.js emits the verification metadata
Deploy:
vercel --prod- Favorites are browser-local and use
localStorage - Premium access is UI-ready but does not yet include payments or authentication
- Collections and packs are structured so they can be monetized later without changing the content model