DEV Community

Rúben Lemos
Rúben Lemos

Posted on

Building a centralized AI tool aggregator: architecture, API normalization, and latency tradeoffs

I built a small web-based platform that aggregates multiple AI tools into a single interface:
https://onlyaitools.lovable.app/

The goal was not to create a product, but to explore the engineering challenges of unifying multiple AI services under one system.

Architecture

The system is built around a modular architecture where each AI tool is treated as an independent service. A central routing layer handles requests and dispatches them to different external AI APIs depending on the task type.

This abstraction allows the frontend to remain consistent while the underlying AI providers can be swapped or extended without major changes.

API Normalization

One of the biggest challenges was dealing with inconsistent API outputs. Different LLMs and AI services return responses in completely different formats (JSON structures, text variations, metadata differences).

To handle this, I implemented a normalization layer that transforms all responses into a unified internal schema before they reach the UI layer. This significantly simplified frontend logic but added complexity in the backend.

Latency and Performance

When combining multiple AI services, latency becomes a real constraint. Some APIs respond in ~200–500ms, while others take several seconds depending on load.

This makes chaining or parallel execution difficult, especially when trying to maintain a responsive UX. I had to introduce caching and partial rendering to mitigate delays.

Observations

The main takeaway from building this is that the hardest part is not integrating AI tools individually, but designing a system that abstracts them cleanly without introducing too much overhead.

It also raises a broader question: whether this kind of centralized architecture is actually scalable, or if future systems will shift toward agent-based models that dynamically select tools without explicit user-level routing.

Top comments (0)