A modern Next.js personal website featuring an animated lenticular star cluster background and pre-LCARS-style UI components.
- Animated Star Field: Beautiful 3D star field animation with multiple variants
- Pre-LCARS UI Design: Glassmorphism panels with cyan/blue gradients
- Component Architecture: Reusable UI components with Storybook integration
- TypeScript: Full type safety throughout the codebase
- Responsive Design: Works on desktop and mobile devices
- Modern Stack: Next.js 15, React 19, Tailwind CSS
This project includes comprehensive testing across multiple layers:
- Unit Tests:
npm test- Test individual components and logic - Visual Testing:
npm run storybook- Interactive component development - E2E Tests:
npx playwright test- Full user experience testing - Performance Tests: Animation performance and memory usage monitoring
See TESTING.md for detailed testing documentation.
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Start Storybook
npm run storybook
# Build for production
npm run buildThis project uses GitHub Actions for automated testing and deployment:
- 🧪 Test: Unit tests, linting, and Storybook builds
- 🎭 E2E Test: Playwright browser testing (on push to main)
- 🏗️ Build: Next.js application build
- 🚀 Deploy: Automated deployment to Fly.io
- Triggers: Push to
mainbranch - Platform: Fly.io
- Requirements:
PERSONAL_WEBSITE_DEPLOY_TOKENsecret configured
The pipeline ensures all code is tested before deployment and provides artifacts for debugging.
- Framework: Next.js 15 with React 19
- Styling: Tailwind CSS 4
- Animation: Custom Canvas-based star field
- Testing: Vitest, React Testing Library, Playwright
- UI Development: Storybook
- Deployment: Fly.io
- CI/CD: GitHub Actions
The animated background includes 5 different star field variants:
twinkle- Basic twinkling starstwinkle-compact- Compact twinkle effecttwinkle-pulse- Pulsing twinkle animationtwinkle-glow- Glowing star effectstwinkle-gradient- Gradient-based effects
# Development
npm run dev # Start dev server
npm run build # Production build
npm run start # Start production server
# Testing
npm test # Run unit tests
npm run test:watch # Watch mode
npm run test:ui # Visual test runner
npm run test:coverage # Coverage report
# Storybook
npm run storybook # Start Storybook
npm run build-storybook # Build static Storybook
# E2E Testing
npx playwright test # Run E2E tests
npx playwright test --ui # Run with UI- Live Site: [Your website URL]
- Storybook: [Storybook deployment URL]
- GitHub: [Repository URL]
Built with ❤️ and lots of ☕