Operations

Limitations

Honest constraints to plan around.


No GraphQL / subscriptions

The public contract is REST/JSON over HTTP. Real-time features (if any) are not documented here as first-class WebSocket APIs unless added explicitly to routes.rs.


Photo-first product scope

Features are centered on photos—do not assume video-first or arbitrary file types without checking handlers and storage policies.


Worker latency

Media appears asynchronous: uploads complete before all derivatives exist. Clients should poll upload status or use product-specific UX.


Cache staleness

Redis-cached feeds can be briefly stale relative to Postgres. Refresh endpoints and TTLs mitigate but do not guarantee read-after-write consistency across all reads.


Operational coupling

Migrations must run before code that depends on new columns. Feature flags in clients should align with backend deployment order.


Documentation vs code

This site is hand-written from the codebase. If routes.rs and these tables diverge, the code wins until docs are updated. A future OpenAPI spec could narrow that gap.

Previous
Scaling