A modern, minimalist photo and text sharing platform built with Next.js. Share moments with your followers through a clean, chronological feed.
Scrolls.nyc is a social media application that emphasizes simplicity. Users can share images with captions or text-only posts, follow other users, and engage with content through comments.
- Google OAuth integration for secure sign-up and login
- Custom profiles with unique usernames and bios
- Profile pages showcasing user posts in chronological order
- Image posts with captions
- Metadata stripping for privacy
- Image compression and optimization before upload
- Text-only posts for quick updates
- Edit and delete functionality for your own posts
- QR code generation for easy profile sharing
- Follow system to curate your feed
- Personalized feed showing posts from followed users
- Comment system for engaging with posts
- User mentions support in posts and comments
- Explore section with:
- Latest posts across the platform
- Latest user sign-ups
- Profile customization with username and bio
- Settings page for account management
- Following page to view and manage followed accounts
- Public profiles viewable by anyone (with posting/editing restricted to owners)
- Framework: Next.js 15 with App Router
- Runtime: React 19
- Authentication: NextAuth.js with Google OAuth
- Database: Upstash Redis (via Vercel KV)
- Storage: Vercel Blob Storage for images
- Styling: Tailwind CSS 4
- Image Processing: Sharp & Exifr
- TypeScript: Full type safety throughout
- User selects an image
- EXIF metadata extracted to capture original photo date
- Image cropping interface for optimal framing
- Metadata stripped for privacy
- Image compressed and optimized
- Uploaded to Vercel Blob Storage
- Post metadata saved to Redis/KV
Posts are displayed in reverse chronological order based on when they were posted. The feed shows content from users you follow, creating a personalized experience.
Contributions are welcome! Please feel free to submit a Pull Request.