Payas Web Kit · Calendar
Payas Days
A fully client-side web calendar with Month, Week, Day, and Agenda views. Events stored in IndexedDB. Export to ICS (Google Calendar compatible) or Markdown. No server needed.
id::payas-days · stable
KitPayas Web Kit
PlatformBrowser · Web
ViewsMonth · Week · Day · Agenda
StorageIndexedDB · persistent
ExportICS · Markdown bundle
RecurrenceRRULE · Daily to Yearly
LicenseMIT
Views
4
Month · Week · Day · Agenda
Storage
IndexedDB
Persistent · no server
Event colours
10
Blue teal green yellow…
ICS export
RFC 5545
Google · Outlook · Apple
features
What Payas Days does
Four calendar views
Month grid with up to 3 chips per cell. Week view with 24-hour time grid and a now-line. Day view and 30-day Agenda view — all with live navigation.
ICS import & export
Export all events as
payas-days.ics (RFC 5545 — compatible with Google Calendar, Outlook, Apple Calendar). Import from any .ics file.Recurring events
RRULE support — daily, weekly (with specific days), monthly, yearly. Events expand on the fly per view range. Up to 500 occurrences per query.
Reminders & conflict detection
Web Notifications API reminders fired at configurable minute offsets. Conflict detection flags overlapping timed events before saving.
Search across all events
Inline search bar across title, description, location, and label — case-insensitive, debounced 200 ms. Click a result to jump to Day view and open the event popover.
Rich event fields
Title, all-day toggle, start/end, description (Markdown), location, timezone, colour (10 options), label, recurrence, reminders, attendees, and attachments.
technical · details
Technical details
| Entry point | payas-days/index.html — multi-file static app |
| Stack | HTML5 · CSS3 · Vanilla JavaScript ES2022 (module pattern, no bundler) |
| Dependencies | Bootstrap 5.3 · Font Awesome 6.5 · Google Fonts |
| Storage | IndexedDB (payas-days db) — events store + settings store. No localStorage for data. |
| ICS standard | RFC 5545 — VALARM reminders, ATTENDEE, RRULE, line folding at 75 chars |
| Markdown format | YAML front-matter per event — id, title, start, end, allDay, timezone, location, color, label, recurrence, reminders, attendees, attachments |
| Recurrence | RRULE parser supporting FREQ, INTERVAL, COUNT, UNTIL, BYDAY. Max 500 occurrences per range query. |
| Keyboard shortcuts | ← → navigate · T today · / search · Escape close search |
| Developer | Saman Wijesinghe |
| License | MIT |