A recall prompt surrounded by expanding review intervals and one returning due item
View source on GitHubB1Z0N/nevermindybot

projectautomationweb

Nevermindybot

Historical Telegram spaced-repetition bot.
  • C#
  • .NET
  • Telegram.Bot
  • PostgreSQL
Date
February 2022
Status
Historical
Visibility
Public

Nevermindybot is a historical learning-product experiment around spaced repetition, recall prompts, and low-friction interaction through Telegram. The README describes the personal use case clearly: learn something deeply for a while, write down the summary or thesis, send it to the bot, and let scheduled reminders fold that knowledge back into daily life. The product idea is not a full learning platform. It is a small reminder loop that lives where the user already looks.

Posting a note to the bot and getting it back on schedule.

The implementation is a C#/.NET Telegram bot backed by PostgreSQL and Hangfire. The entrypoint initializes database access, configures a Fibonacci-style spaced-repetition model, prepares Hangfire job storage, starts the Telegram client, and runs the scheduler server. That architecture separates the durable learning state from Telegram delivery. The bot can store what needs to be remembered, schedule when it should return, and deliver prompts through chat without turning every review into a long application session.

The useful boundary is the rhythm of interaction. A recall tool needs persistence and timing, but the daily user action should stay small: receive a prompt, answer or revisit it, and move on. Telegram makes that lightweight because the review appears in an existing habit. PostgreSQL and Hangfire carry the less visible work: due-item state, recurrence, restarts, and background execution.

The project is historical, but its value is still clear in the product shape and the engineering choices behind it: a small chat interface, a real database, scheduled background work, Telegram polling, and a spaced-repetition model simple enough to fit into everyday use. It shows the same recurring theme as the other bot projects: automation is more convincing when the workflow is narrow, persistent, and close to an existing user habit.

Details

Constraints
  • Historical status limits claims to the reminder-loop design rather than active reliability guarantees.
  • Daily review prompts had to fit chat interactions short enough for repeated mobile use.
Design Decisions
  • Telegram kept recall prompts inside an existing habit instead of requiring another learning app.
  • Review actions were narrowed to quick answer, defer, or complete states to protect momentum.
  • Reminder cadence was treated as product behavior, not only scheduled message delivery.
Implementation
  • The .NET entrypoint initializes database access, Fibonacci-based spaced repetition, Hangfire job storage, Telegram polling, and the scheduler server.
  • PostgreSQL stores the durable learning state so prompt scheduling survives process restarts.
  • Telegram.Bot polling turns due prompts and user answers into a compact chat loop rather than a separate study application.
  • Hangfire separates background scheduling from message handling so recall jobs can run without tying state to one chat interaction.