DEV Community

Akinwumi Michael
Akinwumi Michael

Posted on Fully Autonomous

ARGZEL: Speak a reminder, check the plan, get back to your day

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.

What I Built

Setting a reminder can become another small task: enter a title, choose a date, set a time, and check the repeat rule. ARGZEL starts with a sentence instead.

Speak what you need to remember. Review the plan. Confirm it. Get back to your day.

I built ARGZEL as a mobile-first voice-reminder web app for everyday tasks: a call to make, a proposal to submit, a recurring commitment. It turns spoken instructions into a structured reminder and asks a follow-up question when the time is unclear. You can edit the result, hear it read back, and decide whether to save it.

The part I care about most is the pause before saving. Transcription can get a word wrong, and a fluent interpretation can still describe the wrong plan. ARGZEL puts the task, date, time, timezone and recurrence together on a review screen. Only confirmation creates the reminder.

For example, “Every Monday at 7 AM remind me to pray” supplies several fields in one instruction. “Tomorrow morning remind me to call James” needs a more precise time, so the app asks instead of choosing one silently.

Demo

Try it: argzel.pdev.tech.

For the connected workflow, complete the three-slide introduction, create an account, then tap Create a voice reminder. Allow microphone access when you choose to record, or use typed input. Review the extracted details and confirm. Reopening the dashboard retrieves saved reminders from your account.

If you prefer to look around first, Explore the demo uses separate sample data. That mode demonstrates the interface; it is not a live transcription or database test.

The screenshots below show the implemented interface using a synthetic test account and fixture responses. They illustrate clarification and review, not genuine model output or proof of email delivery. The live-provider checks are described separately under testing.

ARGZEL clarification screen asking the user to choose a precise reminder time; synthetic fixture data

An uncertain time gets a question before it becomes a saved reminder.

ARGZEL reminder review showing task, date, time, recurrence, email channel and timezone, with confirm, edit and record-again controls; synthetic fixture data

The review makes what will be saved visible, with editing and retry available before confirmation.

Code

Source code and setup instructions on GitHub.

The project began during this challenge window; the repository's initial commit is dated October 21, 2026. The README describes configuration and the current implementation. Credentials stay in server-side environment variables.

How I Built It

The app uses Next.js, React, TypeScript and Tailwind CSS. The microphone action is the main action on the mobile dashboard, with focused listening, processing, clarification, review and success states. Recording can be paused or retried. Typed input provides another route when recording is inconvenient.

The pipeline is deliberately split into small steps:

Browser recording
  → Whisper via Groq: audio to text
  → Gemma via Google's API: task and temporal intent
  → Code: date resolution, validation and clarification
  → User: review, edit and explicitly confirm
  → MongoDB Atlas: persist the confirmed reminder
  → Protected dispatcher + Resend: email delivery
Enter fullscreen mode Exit fullscreen mode

Whisper (whisper-large-v3-turbo) provides speech recognition. Audio passes through the transcription endpoint in memory; the app does not write raw recordings to disk.

Gemma (gemma-4-26b-a4b-it) extracts the task and time intent from the transcript. The model does not directly create a database record. Its output goes through validation and date-resolution code, and unresolved details become questions in the interface.

MongoDB Atlas stores accounts, reminders and notification logs. Requests use authenticated sessions, and reminder operations are scoped to the signed-in user. The frontend restores sessions and fetches persisted reminders rather than treating a local demo flag as authentication.

Render hosts the Next.js interface and API. Model inference runs through the configured AI providers. Email delivery uses a protected dispatcher with claims, retries and per-occurrence idempotency keys; unattended delivery requires an external periodic trigger.

The integration lesson: a beautiful preview is not a saved reminder

One important repair was connecting the interface to the actual account and reminder APIs. A local demo can look complete while its reminders disappear with the session. ARGZEL now keeps the live account path and sample-data demo explicit and separate. A failed API request shows an error and retry option instead of falling back to a simulated success.

Editing needed similar care. Sending unchanged schedule fields could unnecessarily rearm an existing reminder. The frontend now omits those fields when the schedule has not changed, and regression tests cover that behavior. Editing should update the existing reminder, not create another one.

What I checked

On October 22, the local verification passed 80 tests across nine files, lint and a production build. A separate run against the deployed custom domain passed 18 API checks, including authentication, clarification, confirmation-only saving, persistence after reload, editing without duplication, and deletion.

One deployed speech check used a synthesized recording of:

Remind me tomorrow at nine AM to review the project proposal.

Whisper returned “Remind me tomorrow at 9 a.m. to review the project proposal.” in about 1.05 seconds. Gemma produced an actionable 09:00 reminder in about 6.74 seconds. A separate vague-time input requested clarification in about 3.02 seconds.

Those are individual request timings from selected inputs. They are not a full-flow benchmark, an accuracy percentage or a delivery guarantee. That run did not dispatch email. Earlier project checks recorded email delivery, but the fresh readiness run focused on transcription, parsing and account/reminder operations.

Why Does Open Innovation Matter?

Open-source and open-weight models do the actual language work here: Whisper turns audio into words, and Gemma interprets the reminder. Removing those steps would leave a manual entry form.

For this project, the useful boundary is separating language interpretation from the rules that decide what gets saved. The prompts, extraction code and validation are visible in the repository. Transcription configuration is separate from reminder persistence, so improving recognition does not require redesigning the account or review flow.

There are limits to that flexibility today. Gemma uses Google's provider API, and a different provider would need a compatible adapter. ARGZEL currently sends audio and text to hosted services; it does not run offline, and I have not demonstrated self-hosted inference or a cost advantage over closed models. Open models give this build a path to further experimentation without making those future experiments present-day features.

The Lazy Payoff

The effort ARGZEL removes is the repeated field-by-field capture of a small plan. A sentence can carry the task, time and repeat rule together, leaving the user to check a readable preview.

I tested the app myself and found the overall flow useful. My personal impression of voice recognition is about 7/10: it works, but occasional transcription glitches remain. That is feedback from use, not a measured recognition score. I have not measured time saved against manual entry or run a user study.

The review, edit, retry and typed-input controls matter because of those glitches. I would rather keep that final check than make the interface appear more magical by hiding what it heard.

There are also documented calendar edge cases around nonexistent DST wall times and month-end recurrence that still need work. This is a working hackathon MVP, with further reliability testing ahead.

Prize Categories

  • Best Use of Render: Render hosts the web interface and reminder API, including the authentication, parsing and persistence endpoints used by the app.
  • Best Use of Gemma: Gemma extracts reminder intent and supports the clarification flow. It is part of creating the structured preview, not an unrelated chat feature.
  • Best Use of MongoDB Atlas: Atlas persists accounts, confirmed reminders and notification logs, supporting owner-scoped retrieval and delivery state.

What's Next

The next step is a dedicated mobile app. I want to extend the experience from spoken capture through clarification, read-back and voice confirmation, while preserving explicit approval before saving. Push notifications would bring reminders directly to the device alongside email.

Those mobile features are planned, not implemented in this web submission. Further improvements will be guided by actual use, especially recognition errors and the effort needed to correct them.


AI disclosure: Codex and Claude assisted with development, testing and documentation.

Top comments (0)