Instagram inspired photo application and backend the way it used to be
  • Kotlin 98.4%
  • PLpgSQL 1.6%
Find a file
Trevor Lyall 4e9b516312 feat: add social features - follows, feed, appreciations, notifications, blocks
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>
2026-02-08 15:30:30 +01:00
.idea/runConfigurations docs: add comprehensive architecture and development documentation 2026-01-31 11:06:00 +01:00
curated-api feat: add social features - follows, feed, appreciations, notifications, blocks 2026-02-08 15:30:30 +01:00
docs docs: add comprehensive architecture and development documentation 2026-01-31 11:06:00 +01:00
http Update plan, concept and initial server 2026-02-01 11:17:24 +01:00
.gitignore docs: add comprehensive architecture and development documentation 2026-01-31 11:06:00 +01:00
AGENTS.md Update plan, concept and initial server 2026-02-01 11:17:24 +01:00
ARCHITECTURE.md Update plan, concept and initial server 2026-02-01 11:17:24 +01:00
CODING_GUIDELINES.md docs: add comprehensive architecture and development documentation 2026-01-31 11:06:00 +01:00
docker-compose.dev.yml docs: add comprehensive architecture and development documentation 2026-01-31 11:06:00 +01:00
README.md Update plan, concept and initial server 2026-02-01 11:17:24 +01:00
WORKPLAN.md Update plan, concept and initial server 2026-02-01 11:17:24 +01:00

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 Instagram 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

Documentation