Skip to content

Repository files navigation

NowPath — your path back to now

NowPath

Your path back to now.

A private, offline-first web app that helps you follow a path you prepared — back to the present moment.

License: MIT PWA · offline-first No accounts · no analytics Status: in development


What is NowPath?

NowPath helps a person get back to the present during intense stress or a trauma reminder.

The idea is preparation. While you feel relatively settled, you build a short personal path: an orienting phrase, a small movement, a noticing prompt, a person you trust. In a hard moment, you press one button — Back to now — and the app walks you through your own path, one simple step at a time. No thinking, no typing, no decisions beyond next, skip, or stop. And if you never set anything up, Back to now still works: a built-in starter path is there from the first moment.

NowPath runs in the browser on any phone, tablet, or laptop, and can be installed to your home screen as a web app. Everything works offline. Everything stays on your device. There are no accounts, no analytics, and no server that ever sees your content.

Status: in development (v0.1.0, "Operational core"). The full product and technical specification lives in NOWPATH_SPEC.md.

Project heritage: previously codenamed Ogen (Hebrew for "anchor"), and before that Harborlines — see INSPIRATION.md.

How it works

  1. Prepare, when you're calm. Build a path from small steps — Where I am, Notice something, a movement, a phrase, a next action, or a person to call. Save reusable "calm things" and add trusted people.
  2. In a hard moment, press Back to now. The app shows one step at a time.
  3. You stay in control. Next, Skip, Stop, or Support are available the whole way through. Nothing is ever automatic.

You can keep several paths and choose which one runs; you can practise any path safely (nothing is recorded in practice).

Getting started

Requirements: Node 20+ and npm.

npm install        # install dependencies
npm run dev        # start the dev server (http://localhost:5173)

Other useful scripts:

npm run build      # type-check, build, and generate the service worker → dist/
npm run preview    # serve the production build (with the offline service worker)
npm test           # run the unit/integration tests (Vitest)
npm run check:lang  # plain-language gate: every UI string must pass its CEFR target
npm run typecheck  # tsc --noEmit

npm run check:lang is a distinctive part of this project: it fails the build if any UI string is too long or too complex for its target reading level (CEFR A2 inside the Back to Now flow, B1 everywhere else). Plain language is treated as a safety feature, not a style preference.

Tech overview

  • React 19 + TypeScript, built with Vite to a fully static bundle.
  • Offline-first PWA — a hand-written service worker (scripts/gen-sw.mjs) precaches the app shell and serves it network-first, so a redeploy never strands a device and the app still opens with no connection.
  • One JSON "vault" stored in IndexedDB, written with a verify-then-swap so an interrupted save can never corrupt your last good data.
  • Zero runtime dependencies beyond React/React-DOM. No analytics, no trackers, no third-party origins. Encryption (planned) will use the browser's built-in WebCrypto only.
  • Plain CSS, WCAG-minded (large targets, reduced-motion support, keyboard navigation, semantic/ARIA).

See NOWPATH_SPEC.md §10 for the full architecture.

⚠️ Important: NowPath is not medical care

NowPath is not made by doctors, and it is not a doctor.

  • NowPath is not therapy, treatment, or a medical device.
  • NowPath is not EMDR, exposure therapy, or trauma treatment of any kind.
  • NowPath does not diagnose any condition and does not monitor you for crisis.
  • NowPath is not a replacement for a clinician, a crisis plan, or emergency services.

NowPath is a self-help coping tool. It shows you steps that you chose for yourself, and nothing more.

If you are in danger or in crisis right now, do not use this app. Call your local emergency number, or find a crisis line for your country at findahelpline.com. If you are working with a therapist or doctor, please talk with them about whether a tool like NowPath fits your care.

What NowPath will never do

These are product commitments, not current limitations:

  • Never ask you to describe or revisit traumatic memories
  • Never try to detect or interpret your emotions
  • Never use AI to analyze you or choose interventions for you
  • Never score your "recovery" or use streaks, badges, or guilt
  • Never contact anyone — a person or a service — without your deliberate tap
  • Never upload your content anywhere

Privacy

Everything you create in NowPath is stored only on your device, and the app sends nothing to any server — no content, no usage events, no crash data. After the first visit it works fully offline.

Because this is honest software, here is exactly where the privacy story stands:

  • Today (v0.1.0): your content is stored locally and never leaves your device, but it is not encrypted at rest yet, and there is no backup feature yet. The app tells you this in plain language.
  • Planned (private alpha — Milestone B): encryption at rest (AES-256-GCM via WebCrypto), an app lock, and an encrypted, passphrase-protected backup that you create on purpose. Because browsers can delete local data, that backup will be a first-class part of setup — and if you lose the passphrase, no one can open the backup, not even us.

Roadmap

NowPath ships in milestones (see NOWPATH_SPEC.md §16):

  • A — Operational core (current) — the full flow, path builder, offline PWA, plain-language gate.
  • B — Privacy hardening — encrypted vault, app lock, encrypted backup/restore.
  • C — Evaluated beta — clinical and lived-experience review, accessibility matrix, verified crisis-resource catalog.
  • D — Public release — independent security review, trademark/cultural clearance, hardened hosting.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md first — the most important constraint is the plain-language gate (npm run check:lang), which every user-facing string must pass. npm test, npm run typecheck, and npm run build must all be green.

Inspiration

Why this app exists, where its ideas come from, and the evidence-informed sources it borrows from (and the claims it deliberately refuses to make) are described in INSPIRATION.md.

Sibling project: Vessel

NowPath has a sibling app: VesselThe Breathing Canvas — a desktop reflective-writing and grounding environment. Where Vessel is a calm place to write and process at your own pace, NowPath is the small tool for the hardest moments: one button, a few prepared steps, back to now.

The two share design DNA — local-first privacy, no emotional inference, and explicit "this is not therapy" boundaries — but no code, no data, and no accounts. Vessel is open source under the MIT license.

License

NowPath is open source under the MIT License — the same license as Vessel.

About

Your path back to now — an offline-first, on-device grounding app that walks you through a path you prepared, one step at a time.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages