# GroupChatDigest

> Source: <https://dev.to/sangam_/groupchatdigest-2iim>
> Published: 2026-10-25 16:04:28+00:00

*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady*](https://dev.to/challenges/hacktoberfest-week3-2026-10-19)

**GroupChatDigest** — a cloud-hosted, open-weight AI web application that distills overwhelming daily group chat exports and message dumps into a concise, actionable summary.

Instead of spending 20 minutes catching up on hundreds of unread messages across active Discord servers, WhatsApp groups, or Telegram chats, **GroupChatDigest** extracts the signal from the noise and delivers a 3-part digest:

It allows users to skip the FOMO and doom-scrolling, saving energy and time every single day.

[https://github.com/Sangam067/DEVWEEK3.git](https://github.com/Sangam067/DEVWEEK3.git)

`` `python ``

import streamlit as st

from groq import Groq

st.title("💬 GroupChatDigest")

st.caption("Turn hours of unread group chat clutter into a 3-bullet morning digest.")

api_key = st.sidebar.text_input("Groq API Key", type="password")

model_choice = st.sidebar.selectbox("Select Model", ["llama-3.3-70b-versatile", "llama-3.1-8b-instant"])

chat_log = st.text_area("Paste daily chat log or export here:", height=300)

if st.button("⚡ Summarize Chat"):

    if not api_key:

        st.error("Please enter a valid Groq API key in the sidebar.")

    elif not chat_log.strip():

        st.warning("Please paste some text first!")

    else:

        try:

            client = Groq(api_key=api_key)

            response = client.chat.completions.create(

                model=model_choice,

                messages=[

                    {"role": "system", "content": "You are a concise assistant. Output exactly 3 section headers: 1. Key Decisions / News, 2. Action Items, 3. Funniest Highlight / Meme."},

                    {"role": "user", "content": chat_log}

                ]

            )

            st.markdown(response.choices[0].message.content)

        except Exception as e:

            st.error(f"Error: {str(e)}")

`

`streamlit`) for a fast, responsive user interface.` llama-3.3-70b-versatile` open-weight model accessed via the `app.py`), accepting large text contexts and processing structured responses instantly.
Catching up on 500+ messages across three different group chats normally takes 15 to 20 minutes of daily manual scrolling. **GroupChatDigest** condenses 20 minutes of reading into a 5-second scan, letting you get straight to the important points.
