Inspiration
The primary inspiration for this came from looking at notifications on my dad's phone. It was cluttered with newsletters that he said he subscribed to and isn't able to read because they force him to sit down and go through them one by one. I also faced the same problem on a smaller scale, I didn't have the time to read newsletters before my 8:30 am classes at university and then I forget to read them in the evening. After asking some of my friends they all mentioned that they don't read all the newsletters they subscribe to. What if you received just one newsletter a day that details everything, or better yet, one podcast a day that summarizes your newsletters?
What it does
Glimpse is the one-stop newsletter management service that periodically scans your Gmail inbox for newsletters, summarizes them with AI, and provides you a single digest (a summary of all newsletters for that day) at the time you specify using Gemini. It also allows you to view a Gemini-summarized version of each individual newsletter, and if you find that it might be worth a read you can view the original email directly from our app's UI. If you're short on time, you can simply generate an audio digest, which is a podcast giving you all the information for the newsletters for that day. So, if you don't even want to read the single digest, you can still be busy (or lazy) and still ingest all your information.
How we built it
We built it from the ground up. Akkshay (my teammate) and I are pretty experienced with ML and full-stack development; however, neither of us is good at designing UIs. So we used Google's new ecosystem of AI developer tools. We described the features and the color scheme we thought would be cool and asked Stitch (Google's UI tool) to generate a design for us to build our frontend on top of. We then built the frontend in Next.js. For the backend we wanted to ensure that it was scalable and stable for production, so we used FastAPI for our backend server along with Celery for task queuing. This ensures that Glimpse can handle production throughput levels without failures. We used Supabase as our database. We used Gemini's high and medium thinking levels for varying tasks in our project depending on what digest needed to be produced, and ElevenLabs' Multilingual V2 and Gemini 2.5 Flash for TTS. Lastly, we used LangChain to orchestrate the ML workflows. We deployed the frontend on Vercel and the backend was split into the FastAPI server and the Celery worker and Celery Beat (for cron jobs like sending emails and checking for new newsletters). We deployed the server on Google Cloud Run and the Celery worker and beat on a single virtual machine instance on Google Cloud running Ubuntu. Lastly, we're using OAuth for login and gaining access to the user's Gmail inbox.
Challenges we ran into
There were two major challenges that we ran into:
Ensuring that we maximized the efficiency with each Gemini call. During early testing we found that we were burning way too many credits while summarizing newsletters and creating the script for the podcast. We then spent a considerable amount of time reducing input tokens and requests per minute without compromising the quality of summarizations.
Deploying the backend. We initially planned to deploy all the backend services on Render, but that plan fell apart at the last second when we found out that they don't allow background workers in the free tier of the app. So we had to set up everything in GCP from scratch. Luckily I was experienced in GCP and Akkshay is great with Linux systems, and we could set it up on Google Cloud Run and a Google Compute Engine VM that runs perpetually.
Accomplishments that we're proud of
The thing that we're undoubtedly most proud of is the audio digests feature. The quality of the conversation generated by Gemini combined with the natural TTS engine from ElevenLabs proves to be an elite combination, and it's hard to tell whether it's a real person or AI talking behind the screen. We're also really happy with the UI theme, which is designed to resemble a newspaper. Lastly, the feature that periodically sends emails to users is also quite impressive.
What we learned
- How to deploy applications through Google Cloud Run and VM instances.
- How to use varying thinking modes of Gemini-3.
- How to set up Celery and task queues along with Redis.
- How to set up AWS S3.
- UI design.
Future Ideas for Glimpse
- Add the ability to connect multiple inboxes.
- Add support for other email providers.
- Add an algorithm that suggests the user get rid of old newsletters that aren't frequently read.
- Add weekly summaries as well.
- Apply to college startup incubators.
Built With
- amazon-web-services
- celery
- elevenlabs
- gcp
- gemini3
- google-cloud
- langchain
- nextjs
- postgresql
- python
- react
- redis
- sqlalchemy
- supabase
Log in or sign up for Devpost to join the conversation.