···179179```
180180181181### Like Record (Planned)
182182+182183```json
183184{
184185 "lexicon": 1,
···205206```
206207207208### Comment Record (Planned)
209209+208210```json
209211{
210212 "lexicon": 1,
···238240### Implementation Approach
239241240242**Cross-user interactions:**
243243+241244- Likes/comments stored in the actor's PDS (not the brew owner's)
242245- Use `public_client.go` to read other users' brews
243246- Aggregate likes/comments via relay/firehose or direct PDS queries
244247245248**Feed aggregation:**
249249+246250- Current: Poll registered users' PDS for brews
247251- Future: Subscribe to firehose for real-time updates
248252- Index social interactions in local DB for fast queries
249253250254**UI patterns:**
255255+251256- Like button on brew cards in feed
252257- Comment thread below brew detail view
253258- Share button to re-post with optional note
···274279275280## Known Issues / TODOs
276281277277-See todo list in conversation for tracked issues. Key areas:
282282+Key areas:
278283279284- Context should flow through methods (some fixed, verify all paths)
280285- Cache race conditions need copy-on-write pattern
281286- Missing CID validation on record updates (AT Protocol best practice)
282287- Rate limiting for PDS calls not implemented
283283-284284-## Testing
285285-286286-Tests exist for:
287287-288288-- `internal/atproto/` - Record conversion, NSID parsing, resolver
289289-- `internal/bff/` - Template helpers
290290-- `internal/middleware/` - Logging
291291-292292-Missing coverage:
293293-294294-- HTTP handlers
295295-- OAuth flow
296296-- Feed service
-51
PLAN.md
···11-# Implementation Notes
22-33-## Current Status
44-55-Arabica is a coffee tracking web application using AT Protocol for decentralized data storage.
66-77-**Completed:**
88-- OAuth authentication with AT Protocol
99-- Record CRUD operations for all entity types
1010-- Community feed from registered users
1111-- BoltDB for session persistence and feed registry
1212-- Mobile-friendly UI with HTMX
1313-1414-## Architecture
1515-1616-### Data Storage
1717-- User data: AT Protocol Personal Data Servers
1818-- Sessions: BoltDB (local)
1919-- Feed registry: BoltDB (local)
2020-2121-### Record Types
2222-- `social.arabica.alpha.bean` - Coffee beans
2323-- `social.arabica.alpha.roaster` - Roasters
2424-- `social.arabica.alpha.grinder` - Grinders
2525-- `social.arabica.alpha.brewer` - Brewing devices
2626-- `social.arabica.alpha.brew` - Brew sessions
2727-2828-### Key Components
2929-- `internal/atproto/` - AT Protocol client and OAuth
3030-- `internal/handlers/` - HTTP request handlers
3131-- `internal/bff/` - Template rendering layer
3232-- `internal/feed/` - Community feed service
3333-- `internal/database/boltstore/` - BoltDB persistence
3434-3535-## Future Improvements
3636-3737-### Performance
3838-- Implement firehose subscriber for real-time feed updates
3939-- Add caching layer for frequently accessed records
4040-- Optimize parallel record fetching
4141-4242-### Features
4343-- Search and filtering
4444-- User profiles and following
4545-- Recipe sharing
4646-- Statistics and analytics
4747-4848-### Infrastructure
4949-- Production deployment guide
5050-- Monitoring and logging improvements
5151-- Rate limiting and abuse prevention