Inspiration
Sitting at the opening ceremony of Hack Illinois, our team was brainstorming ideas for a web application that could leverage the latest advances in artificial intelligence and natural language processing. As social media enthusiasts, we were drawn to the vast amounts of information and trends that were being generated on Twitter every day. However, we noticed that it could be challenging to keep up with the sheer volume of tweets, let alone understand the overall sentiment and themes that were emerging.
This sparked an idea: what if we could use AI to extract the most important information from Twitter and present it in a visually appealing and informative way? Thus, the concept of BirdBlog was born. With BirdBlog, we aimed to create a platform that could analyze trending Twitter topics, extract the most relevant tweets, and generate compelling content that could keep users informed and engaged.
To achieve this, we knew we needed to leverage the latest tools and techniques in natural language processing and sentiment analysis. We worked tirelessly to develop algorithms that could understand the sentiment of each tweet and identify the most significant themes and keywords. We also worked to create a visually appealing and intuitive interface that would make it easy for users to browse through the content and stay up-to-date on the latest trends.
After countless hours of coding, testing, and refining, BirdBlog was finally created!
What it does
BirdBlog is a powerful web application that provides users with a unique and innovative way to stay informed about trending topics on Twitter. The platform leverages recent releases of artificial intelligence to create engaging and informative written and visual content on a wide range of subjects.
The first step in the implementation process was to parse trending conversations and discussions on Twitter. BirdBlog then incorporates algorithms to analyze the sentiment of tweets and other social media content related to the topic. By understanding the overall opinion of the community, BirdBlog can create content that accurately reflects the general sentiment of the discussion.
Once BirdBlog has a clear understanding of the topic and its sentiment, it generates written and visual content using the OpenAI API, specifically the GPT-3 and DALL-E models. These models are state-of-the-art in natural language processing and image generation, allowing BirdBlog to create high-quality content that is engaging and informative.
The content generated by BirdBlog is presented in a social media blog format. Each card includes a visually appealing image and a brief, informative summary of the topic. Users can easily browse through the cards and click on any that interest them to read more about the topic.
By utilizing AI and machine learning, BirdBlog creates content that is accurate, informative, and engaging, helping users stay up-to-date on the topics that matter most to them.
How we built it
From a technical standpoint, building BirdBlog was a complex process that required the integration of multiple APIs and tools.
The first step in the development process was creating a website that could host the application. We used Node.js and the Express package to create a server and a basic user interface.
The core of BirdBlog's functionality lies in its ability to generate content and images based on trending Twitter topics. To accomplish this, we integrated OpenAI's API, which allows us to generate text and images based on natural language processing and machine learning models. However, to ensure that the content generated by BirdBlog accurately reflects the sentiment of the Twitter community, we also integrated Microsoft Azure's sentiment analysis API. This API enables BirdBlog to determine whether the overall sentiment of a topic is positive or negative, allowing it to generate content that accurately reflects the community's views.
Initially, we had planned to use Twitter's API to find the top trending hashtags and tweets corresponding to them to determine the topic and sentiment of our generated posts. However, we were unable to acquire a Twitter development key, so we manually created a dataset of topics and tweets for our page to randomly pick from.
To ensure that BirdBlog continuously generates new and fresh content, we created a cron-job that requests a new blog post from the site every minute, but this interval can be customized based on user preferences.
Since BirdBlog uses GPT-3 and DALL-Eās OpenAI API, it is able to generate content related to trending topics much faster than humans. This directly allows BirdBlog to curate more accurate data at unprecedented speeds.
Building BirdBlog required a combination of front-end and back-end development skills, integration with multiple APIs, and a deep understanding of natural language processing and machine learning. Despite the technical complexity, the end result is a powerful and innovative platform that helps users stay informed about the latest trends and discussions on Twitter.
Challenges we ran into
During the development process of BirdBlog, our team encountered several challenges that required creative solutions and workarounds. One of the most significant challenges we faced was obtaining a Twitter Developer Key. Unfortunately, the approval process for this key can take up to 48 hours, and we were unable to secure the key in time for our project. This obstacle forced us to manually create a dataset of topics and tweets for our platform to randomly choose from. We used the top trending topics on Twitter for inspiration, with a large dataset for real-time updates.
Another major challenge we faced was getting the sentiment analysis to work with the AI-generated images. While OpenAI's GPT-3 and DALL-E models are highly advanced, they do not always produce images that accurately match the sentiment of the topic. As a result, we had to invest a significant amount of time and effort in testing different keywords on DALL-E's API to find images that accurately matched the inputted topic.
In addition, we also faced technical issues related to the integration of the various APIs and tools we used in the development process. Getting the web application to create auto-generated blogs on a timer was quite difficult. We worked with mentors at the hackathon and looked at many online resources including Stack Overflow and YouTube for fixes.
Through and through, the development process for BirdBlog was challenging, the outcome and learning curve during this process was quite rewarding!
Accomplishments that we're proud of
As a team, we are incredibly proud of the work we accomplished with BirdBlog. One of our biggest accomplishments was successfully integrating multiple APIs to generate content and post it on a website. The combination of OpenAI's GPT-3 and DALL-E models with Microsoft Azure's sentiment analysis API allowed us to create a platform that delivers high-quality, AI-generated content that accurately reflects the sentiment of the Twitter community.
We are also proud of our ability to secure a domain name for the platform and use various tools from the GitHub Student Developer Pack (Doppler, Heroku, Microsoft Azure, Bootstrap Studio, Mongodb, Namecheap, Visual Studio Code) to build the project. By utilizing tools like Doppler and Heroku, we were able to streamline the development process and focus on creating the best possible user experience for our audience.
In addition to our technical achievements, our team also found the experience of working together on BirdBlog to be incredibly fulfilling and enjoyable. Each member of our team brought their own unique skills and expertise to the project, and it was inspiring to see these diverse talents come together to create something truly unique and innovative.
Collaborating with team members from different backgrounds and skill sets allowed us to learn from each other, share our knowledge, and ultimately create a product that we are all proud of. We believe that this collaborative approach was essential to the success of BirdBlog, and we look forward to continuing to work together on future projects.
What we learned
Throughout the development process of BirdBlog, our team learned a great deal about both the technical aspects of the project and the collaborative process of working in a team.
From a technical standpoint, we gained experience in working with multiple APIs and integrating them to create a cohesive and functional platform. We also had the opportunity to work with MongoDB and learn more about AI and machine learning models. More specifically, how they can be used to generate content in new and innovative ways.
On the collaborative side, we learned about the importance of effective communication, clear task delegation, and working together to solve problems. We discovered that every team member brings unique strengths and perspectives to the table, and that it is essential to leverage these diverse talents to create the best possible final product.
What's next for BirdBlog
Looking ahead, our team is excited about the future of BirdBlog and the potential for further development and refinement of the platform. One area that we are particularly interested in exploring is the use of statistics like views and community engagement to help improve the accuracy and relevance of the AI-generated content.
By incorporating this type of data into the GPT-3 and DALL-E models, we believe that we can create a more refined and effective platform that delivers content that is not only relevant to trending topics on Twitter, but also resonates with our audience. This could potentially involve incorporating features like sentiment analysis of user engagement and incorporating those factors into the content creation process.
In addition, we plan to continue refining and improving the user experience of BirdBlog by incorporating user feedback and leveraging new technologies and tools as they become available. Ultimately, our goal is to create a platform that is not only innovative and effective but also highly user-friendly and enjoyable to use!
Built With
- axios
- azure
- bootstrap
- css
- doppler
- ejs
- express.js
- heroku
- javascript
- mongodb
- namecheap
- node.js
- openai
Log in or sign up for Devpost to join the conversation.