# Ora Ora is a visual 24-hour planner at https://ora.ilicilabs.com that turns the day into time bubbles inside a sphere. Each bubble is a moment; bubble size shows how much time it takes. Created by IliciLabs (https://ilicilabs.com). ## How it works - Shape an ideal day: name moments, size each one, arrange 24 hours as bubbles. - Track what really happens: run one simple timer at a time, or adjust actual minutes by hand. The timer keeps running across reloads. - Compare planned vs actual side by side and reuse what works via templates. - Build a deterministic agenda preview with fixed appointments, open gaps, dependencies without cycles, deadlines, energy, priority and transition time. - Preview weekly/monthly routines with repeat intervals, start/end dates and optional fixed times. Edit one occurrence or future series rules, skip or postpone with explicit exceptions. Archive preserves history and snapshots. Pro saves and applies them manually without duplicates or exceeding 24 hours; moving a created occurrence requires a dated destination sphere and room. - Import a one-off `.ics` file with a preview in the browser's local/IANA/UTC zone. Capacity and overlapping appointments block import; no calendar sync. - Optionally connect Google Calendar independently of sign-in: selected source calendars are read-only; publication uses a separate Ora-created calendar. Review remote changes explicitly, with revision/ETag conflicts and disconnect. Code is deployed; real-account end-to-end acceptance remains pending. - Outlook read review and optional publishing/sync code are deployed. Microsoft client configuration and real-account acceptance remain pending. Reading uses Calendars.ReadBasic; optional publishing separately requests Calendars.ReadWrite, which Microsoft grants mailbox-wide. Ora restricts writes to its marked calendar and events. Selected sources remain read-only. Own-event checks discard attendee addresses and refuse meetings/recurrences. Sync runs on explicit request; remote changes require capacity/DST review and apply. If-Match enforcement has not been accepted against Microsoft. Uncertain creates are recovered by marker, never blindly retried. Disabling sync/disconnecting keeps remote events. - Replan a delay or new protected appointment in the current sphere. Compare, accept and undo explicitly; deferred untracked moments keep their notes, steps and dependencies. Existing recorded work is preserved. ## Features - Planned-vs-actual comparison per moment and in total. - Built-in templates (workday, weekend, routines) and custom templates. - Read-only share links showing a saved snapshot; later edits stay private. - Mini window with live totals plus installable PWA. - Multiple spheres (up to 100): one per routine, e.g. workdays or weekends. - Weekly, monthly or custom civil-date reports (up to 366 days), filtered by sphere/category, with daily planned-vs-recorded totals, adjacent-period comparisons, completed/stopped estimation samples, focus interruptions, recurrence outcomes and CSV export. Production JSON/CSV endpoints require authenticated Pro access and use the saved workspace; demo previews are local. Missing data and alternative plans for one date are explicit. Focus/break journals are separate from activity totals and limited to 500 entries each. - PNG export of the current view. - Versioned JSON planning backups: spheres and planning metadata, validated preview, explicit replacement and fresh IDs with structural references kept. Account identity, billing, sessions and provider credentials are excluded. - Optional per-account local copy, off by default, stored as plain text in IndexedDB. Reopen cached plans and recover unsent changes; compare real remote, current local and recovered versions before explicitly resolving conflicts. Browser quota/eviction can prevent durability. Logout clears local copies after confirming unsent changes. Reconnection retries need an open page; there is no closed-app background delivery. Mobile acceptance remains pending. - Account JSON data export and explicit deletion review at /account, available on Free and Pro. Export excludes credentials and signed billing URLs. Erasure invalidates owned sessions/shares and checks billing and open purchases; an active or unverifiable renewal blocks it. External provider records, offline devices and infrastructure backups are outside this endpoint. - Interactive demo at /demo, without registration; demo edits stay in that tab. - English longtail guide: https://ora.ilicilabs.com/en/visual-24-hour-planner-time-bubbles - Quick-capture inbox; notes, checklists, priorities, completion and energy tags. - Workspace-local projects (including archive), labels and global task search across the inbox, all spheres and deferred moments. Combine scope, sphere, project, label, status, category, priority and energy filters. Captures retain notes and steps when scheduled within the 24-hour capacity. Available free. - Optional Pro Todoist connection with read-only OAuth and encrypted tokens. Preview tasks, choose duration/name overrides, then import up to 100 selected tasks into the inbox with projects, labels, notes and subtasks. Detect remote IDs across spheres and deferred moments; protect local changes and actual records from overwrite. Imports use a saved preview and revision checks; no background task synchronization or writes to Todoist. Real-account OAuth acceptance remains pending. Disconnect removes local credentials and cached data; remove Ora access in Todoist settings to retire the provider grant. - Focus countdowns (5/15/25/50 minutes), pause/resume and breaks; actual time stops at the focus deadline even when the tab is suspended or reopened. - Optional Ora Focus extension for Chrome 120+: user-chosen website domains, session-only navigation rules, release on pause/end and a renewable lease. Local configuration, no activity/account data or browsing-history collection. Free manual ZIP at /downloads/ora-focus-extension.zip; not a Web Store listing. Installed-Chrome acceptance remains pending. It does not close loaded pages or block operating-system apps; alarms may be delayed by Chrome or sleep. - Configure focus work for 1–180 minutes, short breaks for 1–60, long breaks for 1–90, and a long break every 1–12 sessions. Keep up to 500 completed or partial history records per workspace. Optional sound and browser notices are attempted only while the page remains open. - Timed step sequences with 1–180-minute estimates, remaining queue duration, per-step actual seconds and explicit completion/next-step actions. Expiry does not complete a step or start another. Reload settles only until the deadline. Pauses record reasons and up to 20 recent notes per session. Cycles and breaks have separate counters/history; compact pause/resume/finish controls remain accessible in minimal view. Manual activity corrections do not rewrite steps. Pro saves estimates and starts new step sessions; expired subscribers can recover and finish their existing session without losing its records. - Export `.ics` using the fixed or proposed agenda times; unscheduled moments use the chosen start time and plan order. - Calendar import deduplicates by `UID + DTSTART + TZID`, clips events at midnight, accepts files up to 2 MB and 2,000 events, and skips recurring, all-day, custom-zone, or ambiguous/nonexistent DST times. - Day recovery preview: protected commitments, adjustable available time and buffer, plus explicit capacity/energy reasons for deferring moments. - Replanning uses remaining real time and UTC intervals in the selected zone, including 23/25-hour civil days while retaining the sphere's 24-hour limit. Optional calibration uses at least three completed observations, displaying sample count and observed range; this is not a confidence interval or promise. Up to 200 deferred moments and 20 recent undo records per account. - Pro: save agenda proposals, save and apply routines, import `.ics` files, create a separate recovery sphere without changing the original, prepare tomorrow, export agenda times to `.ics`, and use completed-time estimation averages. Apply/undo replanning, Google Calendar connection and Todoist import require Pro. Outlook reading/publishing require Pro once configured and accepted. - 15 locales: es, en, de, fr, nl, sv, nb, da, ja, ko, zh-CN, zh-TW, it, pt, ar. ## Public capability catalog and comparisons Reviewed: 2026-10-04. The same capability catalog feeds the translated landing, static public HTML/Markdown guides and https://ora.ilicilabs.com/product.json (schemaVersion 1). It distinguishes available core functions, deployed provider code still awaiting real-account validation, and unconfigured/planned work. - English features: https://ora.ilicilabs.com/en/features - Spanish features: https://ora.ilicilabs.com/es/features - English comparison: https://ora.ilicilabs.com/en/compare - Spanish comparison: https://ora.ilicilabs.com/es/compare - Both guides have 15 locale URLs, reciprocal hreflang and per-language canonical URLs. Request Accept: text/markdown for the same translated public content. - Comparisons cover Tiimo, Llama Life, Structured, Yoodoo, Amazing Marvin, Sunsama and Motion, with official source links and review date. No competitor hands-on accounts were tested; an unlisted feature is not proof of absence. - The //compare#evidence matrix covers 12 workflows and eight products (Ora plus seven competitors) in every locale. HTML, Markdown and product.json comparison.evidence share one source of states, scope and dated evidence. Official documentation describes advertised features, not tested outcomes. Empty platform/provider lists and not-verified plans are unknown. Llama Life evidence uses official indexed excerpts. There is no winner score. - Three named comparative trial protocols use identical capacity, day-change and timed-step inputs. Comparative acceptance is pending; demonstrated advantages is zero. Do not describe candidate workflows as proven wins. - Test the enforced 24-hour capacity, preview/apply/undo preserving recorded work, and bubble editing/focus from minimal view before choosing a plan. These workflows do not establish universal superiority or clinical efficacy. - Separate shared workspaces are implemented: Pro owners sponsor spaces; invited Free members can edit or read according to their role. Single-use, revocable 24-hour invitation links, revision conflicts, recent audit and planning exports are supported. Personal connections remain separate. Limits: 10 spaces per account, 25 members, 20 unused invites, 30-second refresh and 200 recent audit operations. Shared drafts stay in memory, not the personal offline cache. Visual and multi-device acceptance remains pending. - A native Java Android Pro companion is in validation: a glass sphere, persistent minimal mode, bubble quick-actions sheet, improved resizable widget, and adaptive square, round and themed icons. It is for viewing a personal 24-hour sphere and quick actions; full planning stays on the web and uses no WebView. Device pairing requires explicit web approval and Pro, expires in 90 days and can be revoked from Account. API writes use revisions and idempotency receipts. Offline actions retain their original request and require review; no automatic replay or silent rebase. Evidence currently comes only from an API 34 emulator; physical-device acceptance and Play publication remain pending. Preview is not a completed subscription benefit. - Web Push reminders are implemented with explicit per-device consent, a server outbox, cancellation/rescheduling, timezone/DST checks and an upcoming centre. Free and Pro personal accounts can register up to 10 compatible devices. The last saved plan schedules at most 200 upcoming events over 30 days; unsaved/offline drafts do not update reminders. Appointment alerts and focus/ break endings have generic lock-screen text unless names are explicitly enabled. Provider acceptance is not delivery. OS/browser/network controls can delay or suppress an alert, and messages expire after two minutes. Real-device delivery acceptance remains pending; do not describe this as a guaranteed alarm. - Native iOS widgets and CalDAV remain unfinished. Microsoft configuration and real-provider acceptance are pending; PWA/mini do not substitute for a home-screen widget. ## WebMCP public tools Reviewed: 2026-10-05. Ora progressively registers three public tools through the experimental imperative WebMCP API, `document.modelContext`, from the app index and the 30 generated locale pages (`/features` and `/compare` for 15 locales). This is browser-side JavaScript. This integration does not add an MCP server endpoint, remote MCP transport, installed LLM or agent engine, or MCP backend; other product integrations have their own scope. - `ora_get_public_metadata {}` returns a compact JSON summary with `name`, `url`, `reviewedAt`, `publisher`, `locales`, `limits: {minutesPerSphere, freeSpheres, proSpheres}`, `references: {product, agentReference, features, compare, demo, privacy}` and `webMcp: {api: "document.modelContext", experimental: true, scope: "public", tools: [the three names]}`. The product fields come from `/product.json` for `name`, `url`, `reviewedAt`, `publisher`, `locales` and `limits`; `references` uses the document's `location.origin` and fixed routes, with `features` and `compare` pointing to `/en/features` and `/en/compare`. The result contains no account or workspace data. - `ora_read_public_page({path, offset?})` accepts only `/`, `/llms.txt`, `/product.json`, and `//features` or `//compare` for the 15 listed locales. `offset` is an integer >= 0. It returns `{path, contentType, offset, totalCharacters, truncated, nextOffset, content}`; each chunk is at most 1,200 characters and `nextOffset` is `null` at the end. It does not read `/privacy`, `/terms` or `/cookies`, whose React pages do not provide text through `Accept: text/markdown`. - `ora_navigate_public_page({path})` accepts exact same-origin public paths, including `/demo`, `/privacy`, `/terms` and `/cookies`, plus the home, `llms.txt` and localized features/compare pages. It rejects other origins, query strings, fragments and private routes. Arguments are validated in `execute`, including unexpected keys and exact path allowlists. Reads use credentials omitted and `redirect: "error"`, pass the WebMCP `AbortSignal` through to `fetch`, and return JSON-serializable values. Registration is abortable and restored once after BFCache `pageshow`; unsupported browsers skip it without adding UI. Metadata and page-read output use `untrustedContentHint: true`. WebMCP hints are agent signals, not permissions: no tool accesses accounts, saved plans, payments, email, providers or persistent mutations. The server sends `Permissions-Policy: tools=(self)`. The build computes the canonical 12-character SHA-256 hash of `public/webmcp.js` and versions the module as `/webmcp.js?v=` in both the application shell and generated guides, preventing a PWA from retaining an obsolete tool module. WebMCP is a proposed browser standard, not a W3C standard. Chrome documents an origin trial from Chrome 149 and the local flag `chrome://flags/#enable-webmcp-testing`; a deployed origin may require an origin-trial token. Chrome 154 in the development environment did not expose `document.modelContext` by default, so Ora's validation uses an explicitly simulated browser fixture and does not claim native or universal support, SEO indexing, agent discovery, deployment, or production acceptance. ## Access and pricing - Google sign-in is required for saved workspaces, not the temporary demo. - Free: one sphere, actual logging, PNG, inbox, steps, notes, focus sessions, energy/priority tags, deadlines, dependencies, fixed appointment metadata, protected commitments, day review, routine preview and agenda preview. - Pro: unlimited spheres (up to 100), compare, templates, share links, mini window, weekly summary, saved agendas, saved and applied routines, calendar import, recovery spheres, tomorrow preparation, `.ics` export and estimation references, plus Todoist connection and import. EUR 5.99/month or EUR 39.99/year, with a 14-day Pro trial where offered. Checkout and subscriptions via Lemon Squeezy. - Cancel anytime; Pro stays active until the end of the paid period. ## Public URLs - Home: https://ora.ilicilabs.com/ - Interactive demo: https://ora.ilicilabs.com/demo - Privacy: https://ora.ilicilabs.com/privacy - Terms: https://ora.ilicilabs.com/terms - Cookies: https://ora.ilicilabs.com/cookies - Account and billing: https://ora.ilicilabs.com/account - Sitemap: https://ora.ilicilabs.com/sitemap.xml - Contact: admin@ilicilabs.com ## Boundaries - Ora is a time-planning tool. It makes no medical, diagnostic, or treatment claims and does not replace professional advice. - Calendar import is one-off and deliberately does not synchronize. It rejects unsupported recurrence/all-day/DST cases and blocks overlapping appointments. - Google Calendar sync is deployed; acceptance with a real connected account remains pending. `.ics` import is separate and one-off. Google publication preserves accepted remaining-time intervals without exposing notes or steps. - Reliable alerts while the page is closed and iOS widgets remain pending. Android has a native preview awaiting installed-device acceptance; a widget is static and its periodic refresh may be delayed by Android/Doze. PWA/mini are not native widgets. The Chrome distraction extension requires installed-extension acceptance; shared-space visual acceptance is pending. - Legal pages (privacy, terms, cookie and local-storage policy) are published at /privacy, /terms and /cookies in every supported locale. Ora uses essential session cookies plus local browser storage; analytics is privacy-first via Cloudflare, with no embedded Google Analytics or advertising cookies at present.