# Elmway — how the app works

Elmway is a local-first Tasks, Events, and Notes app for iOS. Your data lives
on your device; nothing is required to be on a server for the app to work.

This page is the current product reference.

---

## The three things you can create

| | What it is | Tracking | Lives in |
|---|---|---|---|
| **Task** | Something to do or measure, once or repeatedly | Done / not done, or numeric | Tasks tab and Home Due feed |
| **Event** | A date or date range you only need to see | None | Events tab and Home timeline |
| **Note** | Writing or a small record made from typed fields | — | Notes tab |

There is no separate Habit item type. A real-world habit is simply a repeating
Task. Creation asks two independent questions:

1. **Does it repeat?** No schedule means one-off.
2. **How do you track it?** Done / not done, or a numeric value. Numeric
   tracking is available for repeating Tasks.

This keeps the decision about the thing itself instead of making you choose a
product category first.

---

## Tasks

A Task has a title, optional details, labels, reminders, and optional subtasks.
It may happen once or repeat.

### Scheduling

Repeating Tasks support:

- daily schedules and chosen weekdays;
- flexible weekly targets or specific weekdays;
- chosen month dates and month patterns;
- chosen yearly dates;
- fixed intervals such as every 3 days; and
- after-completion schedules such as 3 days after you last finished.

A repeating Task can also end after a date or a number of occurrences.

### Done tracking and numeric tracking

A **done-tracking Task** is checked off or skipped for an occurrence. It can
carry subtasks.

A **numeric Task** records values with a unit — kilometres, pages, glasses,
pounds — against a target. Values accumulate for the Task's period and appear
in charts.

The word “goal” only describes a numeric target, such as “Goal per week:
20 km”. It is not an item type.

### Subtasks

Done-tracking Tasks can carry a checklist. Repeating Tasks get a fresh subtask
state for each occurrence.

- A subtask is clear, done, or skipped.
- Done and skipped both settle it.
- The parent settles only when every subtask is settled.
- If anything was done, the occurrence counts as done. If every subtask was
  skipped, it counts as skipped.
- A parent with subtasks has no separate check or skip button; its subtasks own
  the result.
- Clearing a settled subtask removes the automatically logged parent result.

For a one-off Task, removing a subtask deletes it rather than skipping it.

### Done vs skipped

Skipping means “not this occurrence, on purpose”. It settles the date without
counting as a completion. Completion percentages and calendar fill count done
only. A one-off Task cannot be skipped because it has no next occurrence.

---

## Events

An Event is information, not a checkbox: a holiday, closure, trip, birthday,
bin week, or any other date or date range you want to keep visible.

Events have:

- a title and optional details;
- a start date and duration;
- optional reminders and alarms; and
- optional weekly, monthly, or yearly repetition.

Weekly Events choose weekdays. Monthly Events choose month dates (including
the last day). Yearly Events choose calendar dates. A repeating Event keeps the
same duration for every occurrence.

Events have their own tab and do not need lists. Editing an Event opens the same
Event editor used to create it.

### The Home Event timeline

Home begins with a fixed **30-day** timeline: today plus the next 29 dates.
Every Event occurrence that overlaps that window appears, including an Event
that started before today but is still running.

Each row shows:

- the Event name;
- reminder time before the name;
- an alarm icon when that reminder is an alarm;
- its duration and repeat details;
- start and end date labels for each occurrence; and
- an accent-colour bar covering the Event's dates.

There is no arbitrary row limit: every Event overlapping the window is shown.

---

## Notes

A Note is an ordered list of fields. Each field has a type and an optional
name:

- text, with markdown;
- number;
- email;
- phone;
- URL; or
- date.

A Note with no added fields behaves like a normal single-body note. Named
fields turn it into a small record. Email, phone, and URL values are tappable,
and every field can be copied or edited independently.

---

## Navigation

The bottom tabs are **Home, Tasks, Events, and Notes**.

### Home

Home has no secondary tab menu. The Event timeline appears first, followed by
the Due feed grouped by date. Upcoming Tasks use the same 30-day window as the
Event timeline: today plus the next 29 dates. Past dates appear first because
they are overdue, then today, then upcoming dates.

- One-off overdue Tasks stay visible until completed.
- Repeating Tasks are windowed so a long-ignored daily Task cannot flood the
  feed with hundreds of rows.
- Each date shows how many items remain unsettled.
- Rows with subtasks expand their checklist in place.
- Reminder times determine row order, after pinned items.

Home has no creation button; create from the Tasks, Events, or Notes tab.

### Tasks / Calendar / History

The Tasks tab has its own three-view menu:

- **Tasks** — Tasks organised into lists, with charts and list controls;
- **Calendar** — a month grid with per-day completion and the selected day's
  Tasks; and
- **History** — completed and logged Task activity, newest first, with undo.

The creation button appears only in the Tasks view, not Calendar or History.

### Events

The Events tab is a flat list with no folders. It shows each Event's date span,
repeat pattern, details, and reminder count.

### Notes

Notes are organised into lists and can be searched by their field content.

---

## Reminders and alarms

A reminder is a time of day attached to a Task or Event. It fires on that
item's schedule. Reminders can optionally use a rising alarm sound.

- A reminder for a Task with subtasks opens the checklist instead of settling
  the parent blind.
- Notification actions open Elmway so their result is visible.
- Event reminder times appear before Event names in the Home timeline, with an
  alarm indicator when enabled.

Free accounts get one reminder per Task or Event. Premium removes the limit.

---

## Charts, widgets, lists, labels, and search

Tracked Tasks have completion calendars, activity grids, numeric charts,
streaks, and progress toward their targets. Charts can expand full screen.

Home-screen widgets show what is due and support checking Tasks or logging
values without opening the main app.

- **Lists** organise Tasks and Notes. Events deliberately do not use lists.
- **Labels** are reusable free-form tags on Tasks and Notes.
- **Search** finds Tasks, Events, and Notes by their relevant text.

---

## Data, sync, and privacy

Elmway is local-first. The app works without an account and stores its core
state on the device.

Adding an email enables automatic backup. Premium sync keeps a paired web tab
in step with the phone. Synced state is encrypted in transit and encrypted
again at the application layer before storage.

Deleted items go to Recently Deleted and can be restored for 30 days. You can
export data as JSON or CSV and delete your account and server-side data from
inside the app.

---

## Free and Premium

Free accounts include automatic backups, markdown Notes, charts, export, and
home-screen widgets, with these limits:

| | Free | Premium |
|---|---:|---:|
| Tasks | 10 | Unlimited |
| Events | 10 | Unlimited |
| Notes | 25 | Unlimited |
| Reminders per Task or Event | 1 | Unlimited |
| Subtasks per Task | 5 | Unlimited |
| Sync to the web app | — | Included |
| Insights | — | Included |
| Community posting | — | Included |

The Task limit counts incomplete one-offs and active repeating Tasks. Completed
one-offs free their slot. The Event limit counts current or upcoming one-offs
and repeating Event series; each repeating series counts once, and an expired
one-off frees its slot without disappearing from Events.

Premium has a 14-day free trial.

---

## Platform

Elmway launches on the **App Store** for iPhone and iPad. An Android build
exists but has no release date.

For help, contact support from inside the app or through the support page.
