← Portfolio
Reddit Newsletter project preview

Context

Project Overview

Our team developed a service that allows users to stay informed with their online communities on Reddit by providing daily summaries of the hot posts from their subreddits. These summaries are aggregrated together and distributed as a newsletter to users' inboxes.

Implementation details

Frontend

Our Next.js frontend allows users to sign up via Reddit's API, granting us access to their subscribed communities. We then prompt new users to provide their email addresses for newsletter delivery. The frontend allows for users to manage their subreddit subscriptions for tailored content, updating in the Firestore DB.

Reddit Newsletter subscription interface

Backend

Our Golang backend consists of two main services: the Reddit Post Fetcher and the email service. The Reddit Post Fetcher is reponsible for retrieving the hot posts for the unionized list of subreddits that our users have subscribed to. Leveraging the GPT API, we developed a service in Python that summarizes the posts from each subreddit to be used in the newsletters. Once the summaries are prepared, our email service crafts personalized emails tailored to each user and dispatches them accordingly. Inter-service communication is orchestrated through a Redis queue, ensuring seamless processing. The entire workflow is automated through a Cron job, guaranteeing timely delivery of newsletters to users' inboxes.

Newsletter architecture connecting Reddit retrieval, summarization, and email delivery