# Product Requirement Document

## Product Vision

Activity Reminder Bot is a Telegram-native personal productivity assistant. Users can create, review, edit, search, snooze, and complete reminders without leaving Telegram. Google Sheets is the source of truth so the owner can audit and export data without running a separate dashboard.

## Target User

- Individual users who manage meetings, payments, content schedules, daily routines, and small operational tasks.
- VPS/project operators who want a lightweight personal reminder bot with simple storage.
- Users who prefer Telegram workflows over web dashboards.

## Core Features

- Natural language reminder creation.
- Preview and confirmation before saving.
- Google Sheets persistence.
- Scheduled Telegram alarms.
- Snooze and reschedule.
- Repeat reminders: once, daily, weekly, monthly.
- Search, today schedule, weekly schedule, history, edit, delete, and settings.

## Non Goals

- No web dashboard.
- No payment or multi-tenant billing module.
- No automatic calendar sync in v1.
- No guarantee of medical, legal, or critical safety alert accuracy.

## Success Criteria

- A user can create a reminder from text like `Besok jam 08:00 meeting klien`.
- The bot previews parsed activity, date, time, and repeat mode before save.
- Confirmed reminders are persisted in Google Sheets.
- The scheduler sends an alarm at the configured time.
- Users can complete, snooze, reschedule, or delete alarms through inline buttons.
- Health endpoints expose runtime readiness without leaking secrets.

## Data Model

| Column | Description |
| --- | --- |
| ID | Public reminder ID |
| User ID | Telegram user ID |
| Nama User | Telegram display name |
| Nama Kegiatan | Activity title |
| Deskripsi | Original user text or note |
| Tanggal | ISO date |
| Jam | HH:mm |
| Repeat | Tidak Ada, Harian, Mingguan, Bulanan |
| Status | Aktif, Ditunda, Terkirim, Selesai, Dihapus |
| Created At | Creation timestamp |
| Updated At | Last update timestamp |
| Notified At | Last alarm send timestamp |

## Risk Notes

- Telegram and Google API outages can delay writes or notifications.
- VPS clock drift can affect alarm accuracy; use NTP on Ubuntu.
- Google Sheets is simple and transparent, but not ideal for very high write concurrency.

