Building TomatoAI: Wiring Up Multiple AI APIs Without Losing Your Mind
TomatoAI started as a single annoyance — why do I have five different browser tabs open for five different AI tools, each with its own login and its own half-remembered prompt style? The idea was to fold text generation, image generation, search, and basic data tools into one interface.
The unglamorous part of that project wasn't the UI, it was the plumbing: rate-limiting so one runaway request doesn't burn the day's quota, retry logic for when a provider has a bad five minutes, and prompt templates so the output quality doesn't swing wildly between tools.
Caching turned out to matter more than I expected. A large share of requests during testing were near-duplicates of something already asked minutes earlier — catching those before they hit the model made the whole thing feel noticeably faster without touching the model itself.
It's still a personal project, not a company, but it's the one I keep coming back to whenever a new model API ships something interesting — it's become the place I test ideas before they show up anywhere else.