Skip to content
Olexa Studio.

Case study

AICatalog

AICatalog is our own product, conceived and implemented as a full-fledged web application. It is a directory of AI tools with a personal dashboard, moderation, its own analytics, and integration of language models.

Visit site

Task: A living, updatable directory

We wanted to create not just a static list, but a living platform where tool owners themselves participate in populating it. This meant we needed a product, not a landing page, with a user dashboard, access roles, and processes to prevent a careless edit from breaking the site.

The main challenge was to balance automation and control. On one hand, content should be added and updated with minimal administrator intervention. On the other hand, every change must be reviewed before it goes live on the site. Therefore, from the very beginning, we designed a system with asynchronous tasks and pre-moderation.

Solution: Dashboard, moderation, AI content

The core of the product is a personal dashboard where a tool owner can log in via Google or GitHub. In the dashboard, they see real statistics on impressions and clicks for their cards, add promo codes, and manage images. Each of their edits is not published immediately but creates a request for the administrator. This approach protects content quality without stopping its updates.

We involved AI for content population. Tool descriptions are generated by the Gemini model, and for extended texts, Vertex AI is used with a fallback model in case of failure. Even website screenshots are checked by a vision model to filter out blank pages. This is an example of our own AI automation, where an agent is embedded in the process rather than existing separately.

The entire system runs on our own server in Docker containers. The Next.js frontend communicates with a Python and FastAPI backend. Content is stored in PostgreSQL with the pgvector extension, and background tasks—from queues to screenshots—are handled by Celery with Redis. Files and images are stored in our own MinIO S3 storage, which gives us full control over the data.

Processes: From code to a reliable service

Reliability is a key requirement for any product that works with user data. We ensure it on several levels. First, there is monitoring: Sentry and Prometheus systems track errors and load, and containers have their own health checks.

Second, there are deployment and backup processes. The deployment script does more than just copy files: it verifies that only committed code is going to the server, creates a backup, applies database changes, and checks if the service is responsive. If the new version misbehaves, the script can roll back to the previous one. Database and file backups are stored along with an integrity manifest.

Updates, backups, and monitoring are also part of the support we offer to clients. AICatalog shows what this looks like when the product is our own and we are responsible for it.