Something went wrong. Try again.
learn and share notes on atproto (wip) 🦉 malfestio.stormlightlabs.org
readability solid axum atproto srs
Something went wrong. Try again.
Product + Technical Roadmap #
Roadmap Milestones #
Milestone M - Reliability, Observability, Launch (v0.1.0) #
Deliverables #
Observability:
Reliability:
Load Testing:
Launch Prep:
Acceptance #
- System handles 10x expected load without degradation.
- Mean time to recovery < 5 minutes for common failures.
Milestone N - Deep Linking (v0.2.0) #
Deliverables #
Acceptance #
- Users can share AT-URIs that open directly to content
- Shared links show rich previews on Slack, Twitter, Discord, etc.
Milestone O - Custom Feed Generator (v0.3.0) #
Deliverables #
Infrastructure:
Endpoints:
Algorithms:
Indexing:
Acceptance #
- Custom feed appears in Bluesky and other AT Protocol clients.
- Feed surfaces relevant learning content based on engagement signals.
- Pagination works correctly across feed refreshes.
Implementation Details #
Core Flow: see AT Notes
Skeleton Response Format:
{
"feed": [
{"post": "at://did:example/app.bsky.feed.post/1"},
{"post": "at://did:example/app.bsky.feed.post/2"}
],
"cursor": "1683654690921::bafyrei..."
}
Skeleton Metadata Types:
type SkeletonItem = {
post: string // post URI
reason?: Reason // optional context (e.g., repost)
}
type ReasonRepost = {
$type: 'app.bsky.feed.defs#skeletonReasonRepost'
repost: string // repost URI
}
Considerations:
- Validate user JWTs if feed depends on user state (follows, likes)
- Use compound cursor (timestamp::CID) for deterministic pagination
- Most feeds can garbage collect data older than 48 hours
- Reference: Feed Generator Starter Kit
Milestone P - Moderation + Abuse Resistance (v0.4.0) #
Deliverables #
Labeler Infrastructure:
Endpoints:
Moderation Features:
Acceptance #
- You can safely operate an open publishing surface.
- Users can subscribe to your labeler and see moderation applied.
Reference: Ozone Moderation Service
Milestone Q - Readability Updates (v0.5.0) #
Deliverables #
Multi-page Support:
Advanced Directives:
Quality:
Performance:
Markdown Conversion:
Acceptance #
Open Question/Parked Decisions #
- Full offline authoring + later publish
- Federation depth: publish-to-PDS in the first public beta
- Content extraction: store extracted article snapshots locally (browser)
- Persist only metadata + highlights