A beautiful, modern website for the state-of-the-art macOS screensaver Yarvis.
- Adaptive Design: Automatically switches between light and dark themes based on user's OS preference
- SF Pro Font: Uses Apple's native SF Pro font family for authentic macOS feel
- Responsive Layout: Optimized for desktop and mobile devices
- Interactive Roadmap: Visual development timeline with current progress
- Modern Animations: Smooth transitions and hover effects
- Call to Action: Direct link to purchase on Gumroad
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- React - Component-based UI library
├── app/
│ ├── components/
│ │ └── Roadmap.tsx # Interactive roadmap component
│ ├── globals.css # Global styles and Tailwind directives
│ ├── layout.tsx # Root layout with metadata
│ └── page.tsx # Main landing page
├── public/
│ ├── Background_1.jpg # Light mode background
│ └── Darkmode-Background_1.jpg # Dark mode background
├── Resources/ # Original background images
├── package.json
├── tailwind.config.js
├── tsconfig.json
└── README.md
- Node.js 18+
- pnpm (preferred) or npm
- Clone the repository:
git clone <your-repo-url>
cd yarvis-web- Install dependencies:
pnpm install- Start the development server:
pnpm dev- Open http://localhost:3000 in your browser
The website features an interactive roadmap showing the current development status:
- ✅ Alpha Live - Initial release with core screensaver functionality (Current Stage)
- 🔄 Custom Backgrounds & Fonts - Personalize your screensaver with custom backgrounds and typography
- ⏳ More Widgets - Extended widget library with customizable information displays
The website automatically switches between light and dark backgrounds based on the user's system preference. Background images are located in the public/ directory:
Background_1.jpg- Light mode backgroundDarkmode-Background_1.jpg- Dark mode background
Update the Gumroad purchase link in app/page.tsx:
<a
href="https://gumroad.com/your-actual-link"
target="_blank"
rel="noopener noreferrer"
className="btn-primary inline-block"
>
Get Yarvis on Gumroad
</a>The "Request a Feature" button links to Twitter. Update it in app/components/Roadmap.tsx:
<a
href="https://x.com/YourTwitterHandle"
target="_blank"
rel="noopener noreferrer"
className="btn-secondary inline-block"
>
Request a Feature on Twitter
</a>The website can be deployed on various platforms:
- Push your code to GitHub
- Connect your repository to Vercel
- Deploy automatically on every push
- Build the project:
pnpm build - Deploy the
out/directory to Netlify
The website exports as a static site and can be deployed on any static hosting service.
- Optimized images with Next.js Image component
- CSS-in-JS with Tailwind for minimal bundle size
- Tree-shaking and code splitting out of the box
- Responsive images for different screen sizes
- Chrome 60+
- Firefox 60+
- Safari 12+
- Edge 79+
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Website: [Your Website]
- Twitter: @LetsPaddock
- Email: [Your Email]
Built with ❤️ for macOS enthusiasts