Project Story: GemiNote

About the Project

GemiNote was inspired by my frequent use of Twitter and the annoyance of seeing tweets that later turned out to be misleading or lacking proper context. The project was a learning journey where I explored building a Chrome extension and integrating the Gemini API to solve a practical problem. It presented challenges that pushed my skills, but ultimately, it led to an innovative solution I’m proud of.


Inspiration

As a heavy Twitter user, I often encountered cool facts or stories that seemed credible, only to find out days later through community notes that they weren’t entirely accurate. This frustration sparked the idea for GemiNote, a tool to provide real-time, reliable context to tweets, helping users verify information instantly.


What it Does

GemiNote processes tweet content and, based on the information within, determines whether a real-time Gemi-Note is required. It uses Gemini API to provide users with additional context about a tweet’s claims, enabling them to make informed decisions without waiting for community notes.


How We Built It

The project utilized Google’s generative AI library, leveraging Dynamic Retrieval with Gemini’s 1.5 Flash model. This allowed us to generate content that combined Gemini’s database with real-time internet searches.

Unlike traditional LLM API usage, which might struggle with outdated or incomplete real-time context, this approach ensured access to live articles and updates through Google Search. This was crucial for handling Twitter’s fast-paced environment, where fake news and misleading information are rampant.

I also designed a responsive UI using React, which makes it basically look like another feature of twitter itself because of its matching UI with the twitter we all know and use.


Challenges We Ran Into

  • Dynamic Search Retrieval Integration: Setting up Google Cloud billing and configuring the model to use real-time search effectively were major challenges when I was beginning.
  • Threshold Design: Defining a reliable threshold for generating useful results while avoiding overcompensation or inaccuracies was tricky. Configuring things which looked simple like a good reliable System Instruction for the model turned out to be a lot more challenging.
  • Neutrality in Content: Ensuring the tool provided factual data without incorporating opinions or biases was a major focus.
  • Compatibility: Making the extension work reliably across all tweets while handling edge cases like incomplete or ambiguous data(non-textual) required meticulous design.

Accomplishments That We're Proud Of

  • Reliable Results: GemiNote provides meaningful and accurate context to tweets, helping users navigate misinformation.
  • Seamless Integration: The extension feels like a natural part of Twitter, with a UI that matches its themes and usability.
  • Technical Achievements: Successfully implementing Gemini enabled features and making a robust Chrome extension was a rewarding experience.

What We Learned

  • Building Chrome Extensions!!: Yes, even though after having 3+ years of experience in development, this was the first time I actually got to learn how to make an extension ( yes i now know what a manifest file is!!)
  • AI Integration: I learned how to use Gemini API more effectively, including techniques like outputting responses as text streams and handling audio data.
  • Gemini Models: I explored the differences between various Gemini models, and have to say flash still remains the simple yet most reliable model

What's Next for GemiNote

The next step is expanding GemiNote to work on platforms like YouTube and Reddit, where video transcripts or audio data can be analyzed for context providing sometimes the much needed context.

Additionally, I aim to enable manual user interaction, allowing users to ask Gemini further questions for deeper insights related to the tweet they are currently reading.

Built With

Share this project:

Updates