Building a Trend Analytics Tool in 24 Hours
One weekend in February 2025, I (with some help from my friend, Pavlo Bilashchuk) built an X trend analytics tool for the ElevenLabs x a16z hackathon. To achieve this, I used Perplexity, Mistral AI, and ElevenLabs models to build a few simple AI agents. Here’s how I did it.
Idea
The idea was to pull the latest data from X API based on the user’s keyword, categorize discussions into topics, and display trends to the user. In addition, show a “top narrative” with a little more detail and provide an audio version (useful during commutes).
Process
First, I wanted to get data from X API, but the free tier is very limited: 100 posts/month. Yet, I wanted to show real-time trends. The quick fix was to use Perplexity to generate tweet-like data based on real news. Later, I could swap fake tweets with real ones.
The next challenge was topic categorization. I wanted to make another AI agent for that, but it didn’t work. The more data I provided to a model, the less accurate it became. Out of 100 tweets, it would categorize only 20–30 and forget the rest.
The more data I provided to a model, the less accurate it became.
Instead, I created a categorization function. It used TF-IDF with n-grams for word pattern analysis and K-means clustering to group similar posts. I don’t know what that means, but it worked OK (an AI made it). Then, Mistral AI came up with category names and the main summary.
Audio Briefing
Lastly, I added an audio briefing using ElevenLabs voice API. While the text summary was purposefully neutral (“no evaluative adjectives”), the voice needed the opposite. To make it sound human, I included a greeting, a joke, and a compliment. And a British accent. (I wanted it to sound like Alfred from Batman.)
By accident, the first voice I created at ElevenLabs sounded like a WWII radio broadcast: it had poor quality you’d hear in old documentaries. I liked it and decided to double down. I added radio crackle and static noise. (I also wanted it to be reminiscent of the “board call” sounds from Severance.)
Audio Briefing Demo
Another small detail I added to the audio was a page-flipping noise in the background. It worked perfectly with a monotonous AI voice: now it sounded like an unmotivated human reading a printed response.
It sounded like an unmotivated human reading a printed response
Visual Design
As for visual design, I didn’t want to make this app too serious. I was inspired by sci-fi interfaces and the Severance TV show. I also added a (totally unnecessary) running news/tweets ticker at the top of the page to convey a feeling of it being “live.” Sci-fi UI should be dynamic!
Even though I didn’t have time to deploy it online, it was super fun to build something in such a short period of time. I’m grateful to ElevenLabs and partners for organizing this.