A modern social platform where users compete to post the worst content possible and collect dislikes. Built with cutting-edge web technologies and featuring stunning 3D animations.
Frontend:
- React 18 with Vite
- Chakra UI for components and theming
- Three.js for 3D animated backgrounds
- React Router for navigation
- Zustand for state management
- Geist Mono typography
- CSS animations and glassmorphic design
Backend:
- Node.js with Express
- MongoDB with Mongoose
- AWS S3 for media storage
- FFmpeg for video compression
- CORS enabled for cross-origin requests
- RESTful API design
- Frontend: Deployed on Vercel
- Backend: Deployed on Render
- Database: MongoDB Atlas
- Storage: AWS S3
- User Authentication: Secure login/signup system
- Media Sharing: Upload images and videos (up to 100MB)
- Video Support: Automatic FFmpeg compression and HTML5 playback
- Dislike System: Unique focus on collecting dislikes instead of likes
- Comments: Engage with posts through comments
- Leaderboard: Track the most disliked users
- User Profiles: Personalized pages with post history
- 3D Animated Background: Three.js powered beams with 30° rotation
- Typing Animation: Welcome text types out character by character
- Glassmorphic UI: Modern glass-like design with backdrop blur
- Fade-in Animations: Smooth page transitions and element reveals
- Geist Mono Font: Clean, modern typography throughout
- Responsive Design: Optimized for desktop and mobile
- Lazy Loading: Pagination with "Load More" functionality
- Video Compression: Server-side optimization for streaming
- Error Handling: Robust error states and loading indicators
- No Login Required: Public leaderboard access
cd frontend
npm install
npm run devcd backend
npm install
npm run devThe application is configured for separate deployments:
- Frontend deploys to Vercel
- Backend deploys to Render
- Configure environment variables for production
VITE_API_URL: Your Render backend URL
MONGO_URI: MongoDB connection stringAWS_ACCESS_KEY_ID: AWS access keyAWS_SECRET_ACCESS_KEY: AWS secret keyAWS_REGION: AWS region (e.g., us-east-1)S3_BUCKET_NAME: S3 bucket namePORT: Server port (default: 3001)
- Create Account: Sign up to start posting
- Upload Content: Share your worst images and videos
- Get Disliked: Aim to collect as many dislikes as possible
- Climb the Leaderboard: Compete to be the most disliked user
- Comment: Engage with other terrible content
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License.
Built with ❤️ and a lot of ☕ by stephen hung