Inspiration
As teenagers, we are no strangers to scrolling on social media. The way it constantly provides content that always fits our tastes makes it an amazing way to discover new things and learn more about what we’re interested in. However, producing content that reaches your target audience can sometimes be difficult. As a team, we have created small indie games in the past that have gained very little traction due to subpar marketing. This is a problem familiar to a huge amount of small or solo developers who put significant effort into creating an amazing product, but are unable to reach any users due to the unforgiving whims of the algorithm. Thus, Trenddit was born, aiming to equip users with the necessary knowledge and skills to navigate the internet marketing field, keeping up on the latest trends and giving them more shots at going viral.
What it does
Trenddit provides a suite of various visualization and interactive tools to view popular reddit trends. The project includes a graphs page, which displays information such as the frequency of posts per hour or day, given a selected timeframe (day, week, month, year) as input. The graphs also display the most popular subreddits over the timeframe, as well as a keyword search that allows the user to input a keyword and shows the relative popularity and relevance of the term over time. Users can use this information to make informed decisions about what posts they could make that would gain more popularity, and see how trends have changed over time.
In addition to the graphs page, Trenddit includes another visualization tool: the petri dish. This tool represents different subreddits as bacteria colonies, with size representing popularity. The user can hover over the different colonies to see their subscriber count and links to their recent most popular posts. This creative visualization tool provides yet another way for people to find popular posts and decide how to market.
Trenddit also includes an AI assistant which is connected to Google Gemini, built to help the user come up with popular post ideas. The assistant critiques and provides suggestions to a user's marketing plan, like how many people the post would reach and what changes could potentially be made. This tool can be extremely useful to anyone who is looking to expand their reach on Reddit, or teams looking to advertise and market their products.
Finally, Trenddit includes a fun and interactive minigame called Trendasaurus, which lets the user test their trendy knowledge. The game will quiz the user with questions about the popularity of certain keywords or subreddits, like which subreddit is more popular? Or, which keyword is used more frequently? The engagement allows users to stay entertained while also honing their skills, using Trendasaurus to uniquely develop an effective sense of what would be more trendy or more popular. Including an interactive activity like Trendasaurus also encourages users to share the game with friends, giving a natural word-of-mouth spread of our website.
How we built it
The website is created with HTML, CSS, and JS. Vite was used for development but is not in the final product. Importantly, Trenddit was built with the help of the public Reddit API endpoints that provide data on popular posts in a certain time frame. This API is integral to Trenddit as it provides all the necessary data on posts we need to analyze. Additionally, the Google AI Studio API is used to connect Trenddit with the AI Helper, giving users insightful advice. Github was used for version control, and libraries such as Chart.js and Markdown-it were used to improve the user’s visual experience. The demo website is hosted on Google Firebase.
Challenges we ran into
We ran into difficulties at the beginning deciding what to create and which API to use. Specifically, it was challenging to find a public API that was both free to use and able to access instantly without needing to apply for a developer account. Eventually, we settled with Reddit’s public endpoints, but even that provided relatively limited data. Additionally, due to the nature of the prompt we found it difficult to find aspects of the project to demonstrate more creativity.
Furthermore, as the data analysis is done client-side in the browser, the Reddit API often blocked requests. Therefore, we needed to pipe requests to the API through a custom CORS proxy. There were also issues with being rate-limited to both the Reddit and AI APIs.
Finally, though we were more familiar with Github compared to in the past, merge conflicts also presented a fair share of challenges. Also, our code became needlessly complicated towards the end and it became quite hard to decipher…
Accomplishments that we're proud of
We’re proud of being able to integrate two different APIs (Reddit and Google AI) into our project and incorporate multiple different types of functionality to provide a more varied experience for our users. We’re also proud of the different visualization techniques (especially the unique Petri Dish) and our fun little game Trendasaurus.
What we learned
We learned that it’s definitely not easy to work with public APIs. Turns out, popular social media websites are not too keen on sharing all their data with random API users. However, we learned how to get around restrictions and limits to create a functional website. In the process, we also learned much more about networking, API requests, headers, etc.
What's next for Trenddit
The current version of Trenddit relies on the free Reddit JSON API which only allows for access to a very limited amount of post data, as Reddit recently made their API paid-only. However, if we were able to have access to more data, our data visualization capabilities would be much more significant, and our trend accuracy would be much higher.
We would also aim to upgrade our API plans for both the Reddit and AI APIs, ensuring there is less chance of being rate-limited.
Try it out
View Source Code
By: David Zhu, Nikhil Bhatt, Duncan Park.
Built With
- css
- gemini-api
- html
- javascript

Log in or sign up for Devpost to join the conversation.