{"slug": "sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her", "title": "Sarah... Always Forget What She Said Before, So I build \"PromiseKeeper\" for Her", "summary": "A developer built PromiseKeeper, a Next.js and MongoDB Atlas app that uses the Gemma 4 31B IT open-weight model via DigitalOcean Serverless Inference to turn casual conversation notes into structured promises with person, deadline, and status fields. Users log what they told someone, review the extracted details, and later query the app to recall what they promised. The developer said the project was a first hands-on use of both Gemma and DigitalOcean Serverless Inference, and kept the architecture simple to focus on a working product.", "body_md": "*This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend](https://dev.to/challenges/hacktoberfest-weekend-2026-10-01)*\n\nI built PromiseKeeper for that friend who always says “*Sure, I’ll do it*” and then forgets about it.\n\nThe idea is pretty simple: instead of manually creating a task, you just write what happened in a conversation.\n\nFor example:\n\n*“Sarah asked me to review her portfolio this weekend. I told her I’d do it by Sunday.”*\n\nPromiseKeeper picks out the important parts and saves them. Later, you can ask:\n\n*“What did I promise Sarah?”*\n\nAnd it reminds you.\n\n[https://promisekeeper-q0l3.onrender.com/](https://promisekeeper-q0l3.onrender.com/)\n\n[https://github.com/splmdny/PromiseKeeper](https://github.com/splmdny/PromiseKeeper)\n\nThe app is built with Next.js, MongoDB Atlas, Gemma 4 31B IT, DigitalOcean Serverless Inference, and Render.\n\nThis was actually my first time using both Gemma and DigitalOcean Serverless Inference, so I wanted to keep the implementation straightforward and focus on getting a working product rather than over-engineering it.\n\nThe interesting part is how the pieces work together:\n\nI intentionally kept the architecture simple so the AI is solving the actual problem instead of adding unnecessary complexity.\n\nThe user flow is intentionally simple:\n\nThe user writes something naturally, for example:\n\n“Andi asked me to help choose his new laptop this weekend.”\n\nGemma turns the message into structured information:\n\nPerson: Andi\n\nPromise: Help choose a new laptop\n\nDeadline: This weekend\n\nStatus: Open\n\nThe user reviews the result and confirms it. The promise is then stored in MongoDB Atlas.\n\nThe user can come back and ask:\n\n“What did I promise Andi?”\n\nPromiseKeeper searches the user's saved promises and uses Gemma to generate an answer based on those memories.\n\nOnce the promise is fulfilled, the user can mark it as completed.\n\nSo the whole loop is basically:\n\nFor me, Gemma isn't just a chatbot added to the project. It's the part that makes PromiseKeeper useful.\n\nUsing an open-weight model gives me more flexibility in how and where the AI runs. I can use serverless inference today, but the application isn't fundamentally tied to one closed AI provider.\n\nThat makes it easier to experiment, self-host, or change the inference setup as the project grows.", "url": "https://wpnews.pro/news/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her", "canonical_source": "https://dev.to/splmdny/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her-2l0n", "published_at": "2026-10-05 00:59:13+00:00", "updated_at": "2026-10-05 01:12:08.396979+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "ai-products", "developer-tools"], "entities": ["PromiseKeeper", "Gemma 4 31B IT", "DigitalOcean Serverless Inference", "Next.js", "MongoDB Atlas", "Render", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her", "markdown": "https://wpnews.pro/news/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her.md", "text": "https://wpnews.pro/news/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her.txt", "jsonld": "https://wpnews.pro/news/sarah-always-forget-what-she-said-before-so-i-build-promisekeeper-for-her.jsonld"}}