Instagram inspired photo application and backend the way it used to be
- Kotlin 98.4%
- PLpgSQL 1.6%
Implements the complete Week 3 social layer for the Curated.Photo backend: - Follow system: follow/unfollow, paginated follower/following lists, counts wired to profiles - Finite daily feed: 30-post gallery from followed users, seen tracking, cursor pagination - Appreciation notes: 10-500 char notes replacing likes, batch hasAppreciated lookups - Notifications: appreciation + follow types, unread count, mark read, block filtering - Block system: block/unblock with atomic follow removal, bidirectional checks across all social endpoints (profiles, posts, feed, follows, appreciations), privacy-preserving 404 responses Includes migrations V003-V006, rate limiting, and defense-in-depth block filtering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .idea/runConfigurations | ||
| curated-api | ||
| docs | ||
| http | ||
| .gitignore | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| CODING_GUIDELINES.md | ||
| docker-compose.dev.yml | ||
| README.md | ||
| WORKPLAN.md | ||
Curated.Photo
A quiet place for photography. No algorithms. No video. No infinite scroll.
Philosophy
Curated.Photo is for people who miss when Instagram was about beautiful photographs, not engagement metrics and influencer culture.
Core Principles
- One Post Per Day - Share your best, not your most
- Appreciation Notes - Thoughtful private feedback, not public like counts
- Weekly Themes - Shared creative prompts that inspire
- Finite Daily Feed - 20-30 photos, then you're done for the day
- No Video. Ever. - This is a photography platform. Period.
What Makes Us Different
| Feature | Curated.Photo | |
|---|---|---|
| Feed | Algorithmic, infinite | Chronological, finite (daily limit) |
| Engagement | Public likes, comments | Private appreciation notes |
| Content | Photos, Reels, Stories | Photos only. Forever. |
| Posting | Unlimited | One per day |
| Themes | None | Weekly creative prompts |
Tech Stack
- Backend: Kotlin + Ktor
- Database: PostgreSQL 16
- iOS: SwiftUI (iOS 18+)
- Storage: Local → MinIO → S3
Status
🚧 In Development - MVP targeting 4-week sprint