PixelBotStock
An AI-powered stock image marketplace engineered to scale to 100k+ assets — without scaling manual effort.

Building a stock platform at scale demands more than storage. Manual metadata tagging is unsustainable past a few thousand assets. Search must return results in milliseconds regardless of library size. And the ingestion pipeline — resizing, watermarking, AI enrichment, search indexing — must run entirely in the background without ever blocking the API or degrading the user experience.
We architected a service-oriented system with Laravel as the orchestration layer, PostgreSQL for structured data, and Meilisearch as a dedicated search engine. A dedicated queue worker handles all asynchronous operations: image resizing, compression, watermark generation, and OpenAI metadata generation. Every image passes through a full AI enrichment pipeline — generating SEO-optimised titles, descriptions, and keyword tags — before being indexed into Meilisearch. The result: every searchable asset is automatically enriched, consistently tagged, and instantly discoverable. The Next.js frontend is deployed on Vercel for global edge distribution and CDN caching.
Frontend — Next.js on Vercel
The Next.js frontend is deployed on Vercel, enabling global edge distribution, automatic scaling, CDN caching, and SEO-friendly dynamic routing. It consumes the Laravel API and communicates directly with Meilisearch for instant, client-side search-as-you-type — keeping the experience snappy regardless of library size.
Backend — Laravel API & Admin Panel
Laravel acts as the core orchestration layer, handling authentication and authorisation, subscription management, the image ingestion pipeline, metadata storage, licensing logic, and search synchronisation with Meilisearch. The admin dashboard gives operators full control over batch uploads, metadata editing, tag management, category organisation, and search tuning — all through a clean, purpose-built interface.
Database — PostgreSQL
PostgreSQL was chosen for its reliability, indexing strength, and flexibility with structured data. It stores users, subscriptions, image metadata, AI-generated titles and descriptions, tags, categories, and licensing records — all with full relational integrity and support for flexible metadata fields that can evolve as the platform grows.
AI Metadata — OpenAI Integration
To eliminate manual tagging and dramatically improve search quality, we integrated OpenAI directly into the image ingestion workflow. After an image is stored, a queue worker dispatches it to the OpenAI API, which analyses the image and returns an SEO-optimised title, a detailed description, relevant keyword tags, and context-aware category suggestions. This metadata is written back to PostgreSQL before the image is indexed — ensuring every searchable asset is fully enriched from day one.
Search — Meilisearch
Search is powered by Meilisearch, a dedicated high-speed search engine that delivers millisecond-level search-as-you-type, typo tolerance, relevance weighting, and filterable attributes. Critically, images are only indexed after AI metadata generation is complete — guaranteeing that every result is fully enriched, accurately tagged, and strongly ranked before a user ever sees it.
Queue Worker — Asynchronous Processing Layer
A dedicated background worker handles all heavy operations outside the request cycle: image resizing, compression, watermark generation, OpenAI API calls, Meilisearch indexing, and subscription lifecycle tasks. This keeps the API fast and non-blocking, supports automatic retry logic on failure, and gives the platform the headroom to process thousands of new assets without any degradation in user-facing performance.
Admin uploads image via the Laravel dashboard
Initial metadata is stored in PostgreSQL
Queue worker triggers image resizing, compression, and watermark generation
OpenAI API analyses the image and generates an SEO-optimised title, detailed description, keyword tags, and category suggestions
AI-generated metadata is written back to PostgreSQL
Fully enriched record is indexed into Meilisearch
Image becomes instantly searchable on the Next.js frontend
- →AI-automated content scaling — the library grows without growing the team
- →Improved SEO across every asset through consistent, structured AI-generated metadata
- →Millisecond asset discovery via a dedicated, tuned search engine
- →Eliminated manual tagging, categorisation, and metadata overhead for operators
- →Enterprise-ready architecture capable of white-label SaaS deployment
- →Each service layer — frontend, API, search engine, worker — scales independently
Click any tag to see other projects using the same technology
Your business deserves
a better website.
Book a free 30-minute call. We'll look at what you have, tell you what's possible, and give you an honest plan and price — useful whether you build with us or not.
No pressure. No jargon. No obligation.