PunctuOwlity is a mobile-style event tracker built for anyone who wants a quick, glanceable view of their upcoming dates, appointments, and reminders — without signing up for a cloud service or installing a heavy calendar suite. It was originally built as a native Android application and later adapted into a fully static web app that runs entirely in the browser. Both versions share the same screen flow, visual identity, and core feature set: account creation, login, SMS preferences, an event grid with search and category filters, and a simple add/edit form.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/PunctuOwlity/llms.txt
Use this file to discover all available pages before exploring further.
Key Features
Event Management
Create, edit, and delete events with a title, date, time, and optional reminder toggle. Events are displayed in a two-column grid sorted by date, showing the weekday abbreviation, day number, and formatted time at a glance.
Account Management
Sign up with a username and password. The web app extends sign-up with first name, last name, email, optional phone number, and a confirm-password field, and supports login by either username or email. The Android app stores only username and password and logs in by username only. Duplicate usernames are rejected at registration.
Search and Filters
Filter your event grid by category — All Events, Birthdays, Appointments, or Trips — and use the live search field to narrow results by title in real time without a page reload.
Reminders
Toggle a reminder on any event. The web app uses the browser Notifications API to alert you on the day of the event; the Android app requests SMS permission to deliver alerts to your phone number.
Two Versions
PunctuOwlity ships in two distinct forms. The Android app is the original, built in Java with SQLite storage and native Material components. The static web app is a faithful conversion of that same interface into HTML, CSS, and JavaScript — no server, no database engine, no build step required.- Android App
- Static Web App
The Android version is a native Java application targeting API 35 (Android 15) with a minimum supported API of 21 (Android 5.0 Lollipop). It uses SQLite for persistent storage via a
DatabaseHelper class, Material Design components for UI, and a GridLayout for the events screen. Five activities cover the full user journey:- LoginActivity — the launcher screen; accepts username and password
- SignupActivity — collects user credentials and stores them in SQLite
- SmsPermissionActivity — asks the user to allow or deny SMS alerts
- MainActivity — the events grid with search, filters, and CRUD actions
- AddEventActivity — the add/edit form for individual events
android.permission.SEND_SMS with android:required="false" on the telephony hardware feature, so it installs on tablets and emulators without a SIM card. User data lives in a private SQLite database named punctuowlity.db on the device.Project Pages
The application is organized around a small set of pages that map directly to the Android activity stack:| Page | Android Equivalent | Purpose |
|---|---|---|
index.html | LoginActivity | Entry point — log in or navigate to sign up |
signup.html | SignupActivity | Create a new account |
sms.html | SmsPermissionActivity | Choose whether to receive SMS alerts |
events.html | MainActivity | Browse, search, filter, and manage events |
add-event.html | AddEventActivity | Add a new event or edit an existing one |
case-study.html | — | Written case study of the project’s development |
articles.html | — | Collection of related articles |
All web app data — user accounts, SMS preference, and events — is stored in your browser’s
localStorage. No data is ever sent to a server. This means your data persists across browser sessions on the same device, but it is local to that browser profile. Clearing your browser’s site data will erase all accounts and events.