Area: Files, photos, gallery, ansi (audit p5) · Surface: Photo upload + lightbox (/photos/album/{id}/upload) · Dimension: competitor-gap · Severity: major
mobieusAI is positioned as the canonical AI teammate in the suite, yet the media subsystem ignores it entirely. Competitors increasingly auto-generate descriptions and searchable tags from image content (Google Photos search-by-content, and the broader move to AI alt-text in CMS/community tools). Two concrete wins: (1) AI-generated alt-text for accessibility — today every gallery image ships with empty alt, an a11y and SEO miss; (2) AI auto-captions/tags that feed the file/photo search above. This is a natural, on-brand extension of an asset the platform already sells.
Evidence
PhotoGalleryController::upload (lines 291-446) ingests files with caption=null and never calls any AI service; grep for mobieusAI|anthropic|claude|auto.?tag|alt.?text in PhotoGalleryController.php and PhotoStorage.php finds no image-understanding hook. The photo grid renders img alt="" (album.php:194) and the schema has caption but no alt_text column (photo_album_items migration shows width/height/duration/caption only, no alt_text/exif columns).
Suggested fix. Add an optional, tenant-AI-key-gated post-ingest hook that calls mobieusAI to produce a short alt-text + suggested caption + tags; store alt_text on photo_album_items and emit it in the img alt attribute and in lightbox metadata. Make it opt-in per album and editable by the owner.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus