a a vibe-coded abomination experiment of a fragrance review platform built on the atmosphere. drydown.social

Bluesky Posting API#

Related Documents:

Overview#

Post fragrance reviews to Bluesky using app.bsky.feed.post.

Status: 🔴 Planned


Post API#

Create Post#

await agent.post({
  text: postText, // Max 300 graphemes
  createdAt: new Date().toISOString()
})

Post Format#

[Fragrance Name] by [Brand] - ★★★★☆

[User's text review]

via @drydown.app #scentsky

Validation#

Character Limit: 300 graphemes total

Breakdown:

  • Attribution: "via @drydown.app #scentsky" = 25 graphemes
  • Available for review: 275 graphemes

Grapheme Counting:

const segmenter = new Intl.Segmenter()
const graphemeCount = Array.from(segmenter.segment(text)).length

Error Handling#

  • 401: Session expired
  • 429: Rate limited
  • Network Error: Retry once

See Requirements for details.