Skip to content
How it worksPricingBlog
Sign in
Changelog
May 17, 2026

Altyaa Media library — per-org assets, composer attach, coach suggestions

Operators can now keep a per-org Asset Library, attach photos to Google Business Profile posts from the composer, and act on coach-recommended media inline in your daily recommendations.

The Altyaa cockpit now has an end-to-end media surface. Operators upload photos once into a per-org library, attach them to Google Business Profile (GBP) Local Posts from the in-cockpit composer, and see coach-suggested assets rendered inline in the daily recommendation detail sheet.

Highlights

  • Per-org Asset Library at /home/media — upload, dedupe, scan, and publish.
  • Composer attach — pick a library asset, publish a GBP STANDARD post in three clicks.
  • Coach suggestions inline — coach-recommended assets render in the daily recommendation detail sheet with a one-click "Use in composer" CTA.
  • Content-addressed dedupe — re-uploads of the same bytes collapse to the existing row per organization.
  • Async scan pipeline — uploads land as PENDING_SCAN, flip to READY once magic-byte verification + dimension extraction complete (median <2s in dev).

What's new

Asset Library

  • New /home/media route under Grow in the sidebar.
  • Drag-and-drop or click-to-browse upload — JPG, PNG, WebP, or MP4 up to 25 MB.
  • Status filters: All / Ready / Scanning / Rejected.
  • Source filters: All sources / Uploaded by you / Coach-suggested.
  • Pipeline radiator (24h): Uploaded / Scanned / Published / Coach-attached / Failed.
  • Asset detail drawer with preview, dimensions, MIME, and soft-delete.

Composer (GBP)

  • "Publish" modal accepts a caption + one or more attached assets from the library.
  • Channel rail shows IG / FB / TikTok visible-disabled — GBP-only for WS-1.
  • Server action publishComposerAction enqueues gbp.publish.local-post for async delivery; UI returns in ≤3s.
  • Per-org idempotency key collapses double-submits.

Coach attachments

  • Coach detail sheet surfaces a 96×96 thumb strip when the recommendation envelope carries suggested media.
  • Click any tile to open the lightbox; "Use in composer" CTA pre-fills the publish modal.
  • URL-ingest path materializes coach-referenced photos as org-owned Asset rows with source=COACH_URL_INGEST.

Feature flags

Three per-org toggles gate the rollout. Defaults are OFF; pilot orgs are enrolled by inserting an altyaaOrgSettings row.

ToggleDefaultPer-org overrideEnv fallback (migration window)
media.library.v1OFFaltyaaOrgSettings.mediaLibraryV1
Next

Architecture boundaries enforced via dependency-cruiser

May 1, 2026

The marketing team that grows your online presence — across Google, Facebook, Instagram and TikTok.

Product
FeaturesExpertsDaily recommendationsPricing
Who it's for
Small businessesAgenciesMarketing teams
Company
BlogChangelogFAQ
Resources
QuestionsSign in
Legal
TermsPrivacyCookiesCCPAGDPRAI PolicyData Deletion
© 2026 Altyaa · Built for the businesses everyone talks about.altyaa.ai[email protected]
ALTYAA_MEDIA_LIBRARY_V1=1
composer.publish.enabledOFFaltyaaOrgSettings.composerPublishEnabledALTYAA_COMPOSER_PUBLISH_ENABLED=1
coach.media.v0_3OFF (pilot-only)(per-org row when WS-1 receiver extension lands)n/a

When all three are OFF, the cockpit is byte-identical to pre-merge. Toggling on is a layout-level read with no client refresh.

Known limitations

  • WS-1 ships GBP only — Facebook, Instagram, and TikTok composer surfaces show "Coming soon" pills.
  • GBP photo only — STANDARD post topic; EVENT and OFFER topics ship in WS-2.
  • No video — AssetKind=VIDEO + chunked resumable upload lands in WS-3.
  • No DAM bulk import — single-file upload only; bulk import is backlog.
  • No auto-fix offers — assets that fail platform constraints (aspect, min-dim) are rejected; auto-crop / transcode lands in WS-4.

Where to learn more

  • docs/storage/asset-library.mdoc — architecture overview, BlobStore + AssetLibrary, key namespacing.
  • docs/development-guide/asset-library.mdoc — dev storage path, dedupe invariant, WS-3 extension how-to.
  • apps/web/AGENTS.md — Altyaa Media section with route, action, schema, and test-id contracts.
  • In-app docs at /help/features/asset-library.