Websites That Last β Secured by Filecoin.
- Modern Landing Page: Clean, professional design with smooth animations
- Responsive Design: Mobile-first approach that looks great on all devices
- Dark/Light Mode: Theme toggle with localStorage persistence (defaults to dark mode)
- Interactive Demo: Mock upload UI with real integration stubs for future development
- Accessibility: WAI-ARIA compliant navigation, forms, and interactions
- Performance Optimized: Built with Next.js 15 and optimized for Lighthouse scores
- SEO Ready: Proper meta tags and structured markup
- Framework: Next.js 15 with App Router
- Styling: Tailwind CSS with custom design system
- Animations: Framer Motion for smooth transitions
- Icons: Lucide React for consistent iconography
- Components: shadcn/ui architecture with custom implementations
- Typography: Inter font with optimized loading
/
βββ app/
β βββ globals.css # Global styles and CSS variables
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Main landing page
βββ components/
β βββ sections/ # Page sections
β β βββ Hero.tsx # Hero section with mock upload UI
β β βββ Features.tsx # Features grid
β β βββ HowItWorks.tsx # Timeline section
β β βββ FAQ.tsx # Accordion FAQ
β β βββ CTA.tsx # Email signup section
β βββ ui/ # Reusable UI components
β βββ Button.tsx # Button variants
β βββ Card.tsx # Card components
β βββ Accordion.tsx # Accordion component
β βββ Navbar.tsx # Navigation with mobile menu
β βββ Footer.tsx # Site footer
βββ lib/
β βββ utils.ts # Utility functions (cn)
β βββ warmweb.ts # Integration stubs for future development
βββ providers/
βββ ThemeProvider.tsx # Theme management with localStorage
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone <repository-url> cd warmweb
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
- Primary: Cyan-based colors (
--primary: #06b6d4
) for Filecoin brand alignment - Background: Slate-based neutral backgrounds
- Text: High contrast ratios for accessibility
- Theme: Dark mode default with light mode toggle
- Font: Inter with optimized loading
- Scale: Responsive typography scales
- Hierarchy: Clear heading and body text hierarchy
- Cards: Rounded corners with subtle shadows and hover effects
- Buttons: Multiple variants (default, outline, ghost)
- Forms: Accessible with proper focus states
- Navigation: Sticky header with smooth scrolling
Modify colors in app/globals.css
:
:root {
--primary: #06b6d4; /* Cyan primary */
--background: #ffffff; /* Light background */
/* ... */
}
.dark {
--primary: #06b6d4; /* Cyan primary (dark) */
--background: #020617; /* Dark background */
/* ... */
}
- Hero Section: Update copy in
components/sections/Hero.tsx
- Features: Modify feature list in
components/sections/Features.tsx
- FAQ: Update questions in
components/sections/FAQ.tsx
- Navigation: Modify links in
components/ui/Navbar.tsx
The project includes typed integration stubs in lib/warmweb.ts
for future development:
// Mock functions ready for Filecoin integration
export async function uploadToWarmStorage(files: File[]): Promise<UploadResult>
export async function getReceipt(jobId: string): Promise<Receipt>
export async function getStorageStatus(jobId: string): Promise<UploadResult>
These stubs are already connected to the UI and return mock data with realistic delays.
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
Vercel (Recommended)
npx vercel
Netlify
npm run build
# Upload `out` folder to Netlify
Docker
FROM node:18-alpine
# ... (standard Next.js Docker setup)
Target Lighthouse Scores:
- Performance: β₯ 90
- Accessibility: β₯ 95
- Best Practices: β₯ 90
- SEO: β₯ 95
Optimizations included:
- Image optimization with Next.js
- Font optimization with preloading
- Code splitting with dynamic imports
- Reduced motion support for accessibility
- β Production-ready landing page
- β Mock upload interface
- β Integration stubs
- β Responsive design
- β Accessibility compliance
- Connect to FilecoinWarmStorageService
- Implement Synapse SDK integration
- Add real file upload functionality
- Deploy storage contracts
- User authentication
- Dashboard for managing sites
- Custom domain support
- Analytics and monitoring
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add 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.
- Filecoin Foundation for the decentralized storage infrastructure
- Synapse SDK for simplified blockchain integration
- Tailwind CSS and shadcn/ui for the design system foundation
- Next.js team for the excellent React framework
Ready to deploy decentralized websites on Filecoin? π
Visit the live demo or contribute to making decentralized web hosting accessible to everyone.