PunctuOwlity uses a lightweight, local-only account system — no server or network connection is needed. On the web app, credentials are persisted in the browser’sDocumentation 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.
localStorage, while the Android app stores them in a local SQLite database. Either way, you register once, log in from the same device, and your session is maintained until you close the browser tab.
Signing Up
Navigate to Sign Up from the login screen to open the registration form. All fields except phone number are required. When you submit the form, the app checks for duplicate usernames and emails before saving the new account.Your given name.
Your family name.
A valid email address. Must be unique across all registered accounts stored in this browser.
Phone number — optional, collected for potential SMS alert use. Stored in the user object but not actively used for delivery in the current release.
A unique handle used to log in. Stored and compared in lowercase.
Your chosen password. Must be typed identically in both the Password and Confirm Password fields.
Must exactly match the Password field. If the two values differ, sign-up is blocked with the toast message “Passwords do not match!”
Validation Rules
| Rule | Error message |
|---|---|
| Any required field left blank | All required fields must be completed |
| Password and confirm password differ | Passwords do not match! |
| Username or email already registered | That username or email is already registered |
| Storage write fails (e.g., private browsing quota) | Account creation failed! |
Logging In
The login form accepts either your username or your email address alongside your password. Both are compared case-insensitively against the saved user list.Session Management
A successful login writes the string'true' to sessionStorage under the key punctuowlity-authenticated. The events screen (events.html) checks this key on load and redirects to index.html if it is absent or not equal to 'true'. The session ends automatically when the browser tab or window is closed, because sessionStorage does not persist across sessions.
Web vs Android Storage
- Web App
- Android App
All user accounts are saved as a JSON array under the Because
localStorage key punctuowlity-users. Each entry follows this shape:localStorage is scoped to the origin and survives page refreshes, your account persists until you clear site data. The app attempts to write to both localStorage and sessionStorage for resilience, falling back silently if either is unavailable.