This is a submission for the Postmark Challenge: Inbox Innovators.
What I Built
Remember newsletters? Sure, you'd unsubscribe most of them anyways, but there are quite a few worth reading. For me, one example is Gergely Orosz's "Pragmatic Engineer". But while I love a good read, I notice that the "unread" staple grows and grows... If only there were some busy bees to help me with that!
Say no more! sumsummary.com helps you with your unread not-so-important but read-worthy newsletters and emails.
Set up email forwarding and get yourself your custom daily, weekly, or monthly briefing with all the news you might miss otherwise. Combined with the metrics in every briefing and the dashboard in the webapp, you'll see exactly how much time you saved - for me about 80% and on average 8 minutes per briefing.
But this should not keep you from enjoying a good read: While you might see a lot of things for which a summary is enough, if something sparks your interest, you'll easily see which email to read in full, too.
Demo
For this challenge, I created an open demo account. Of course, everything is quite "closed alpha", so please be gentle with it:
- Go to app.sumsummary.com
- Login with
[email protected]
andpassword
- Send an email to the inbox listed on the dashboard (
[email protected]
) - Wait a moment (usually about 5-20s)
- Head to the Inbox and find the summary listed
- If you wait for the next day and the briefing time, the briefing will appear in the app and you can see how it would look like in your inbox if it were your account
With a proper account, you'll enjoy the real magic of busy bees working for you as you'll also receive the briefing in your inbox and you won't need the webapp anymore. If you are interested, enter your email address to the waitlist, I'll come back to you as soon as possible.
Functionality Overview
Detailed Look
sumsummary dashboard and inbox:
sumsummary briefing in app and email:
sumsummary configuration options and "subscription plan":
How I Built It
I started building this for myself to build something with "AI" and found out about this challenge later on. Earlier, I wanted to figure out how to process inbound emails but got stuck and tried one or two providers before I found Postmark and got a demo working within an afternoon, thanks to the good documentation and easy setup in the UI.
This early demo processed the emails, retrieved the LLM summary and sent it back right away. This was my proof of concept because storing the summaries, compiling a briefing etc. seemed quite easy. Well... you probably know how it is. Turns out it is still a hard piece of work getting it somewhere usable with the basic setups and configurations of a Hetzner server, a Docker setup with PHP in the backend and a simple app with Vite / Vue - because I wanted to use that stack once again and I wanted to control the whole system (well, maybe except for the email handling as I failed badly - and except for the LLM service).
Growing from "works for me" to a service I could show my friends required authentication with Keycloak and making the onboarding somewhat user friendly. And of course, there were some setbacks; here's a selection:
The server timeshifted so the briefings arrived later and later. It took a while until I figured it out and another while to have a solution with the help of chrony
I built the service with some kind of a multi-provider strategy when it comes to the LLM services as I wanted to play around with different models. I store the platform (e.g., Google API, Mistral) and the prompt in a database and select the latest one for the summarization. This came in handy when I noticed one day that I didn't receive my briefings for a while (you don't get any if there are no e-mails to summarize). It appears that Google blocked Hetzner IP addresses so that I could no longer use the (paid!) Gemini API in "production" (of course, this is not plainly written in the error message). Anyways, thanks to my "playful" approach, I could switch to Mistral in no time.
Tech Stack
- Of course, Postmark for email parsing and sending the briefings
-
Mistral and/or Google (Gemini) for the AI summarization (currently Mistral
mistral-small-2503
) - Automated briefings via cronjobs with the help of supercronic and chrony
- Backend with PHP, Postgres as database
- Frontend Vue with Vite, PrimeVue for components, unDraw for illustrations
- Authentication with Keycloak
- Hetzner, Docker, Traefik as proxy and Apache / httpd inside the containers
- The landing page is static HTML via Netlify
Let me know if you have any questions!
On the Road Ahead
What might be next? Is there more than just some unread newsletters? Maybe you need more sources in your custom briefing, say, one or two RSS feeds (anyone using them still?) you can't really let your eyes off? Maybe not the latest video of your favourite YouTuber, but maybe for the 2nd or 3rd favourite ones? Same for the podcast you'd like to talk about with your friends but can't because you have lost the plot 3 episodes ago?
Speaking of podcasts: Maybe you want to enjoy your briefing as audio during your commute instead of getting it delivered to your inbox?
Trivia
Did you know? A German equivalent to "The Bees Go Buzzing" is "Summ summ summ, Bienchen summ herum"... (one interpretation of this, in Germany, well-known song for kids)
Bees rock!
Top comments (0)