Skip to content

Latest commit

 

History

155 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neVus

neVus

Because "I think it was smaller" is not data.

neVus is a self-hosted application for keeping a longitudinal photographic record of your moles and other skin marks: where each one sits on your body, what it looked like on each date, how large it measured against a physical reference, and how those numbers moved between dermatology visits.

Your dermatologist has hundreds of patients and approximately seven minutes. Your mole does not care. When the question "has this changed since last time?" comes up, neVus exists so that the answer is a dated series of measured photographs rather than "I think it was a little smaller".

Status: stable, 1.x. neVus installs from the personal app store or from a compose file (see docs/DEPLOYMENT.md). It does what the roadmap lists up to 1.0.0: accounts with a second factor, persons, the body map, marks and dated visits with scrubbed photographs, measurement with uncertainty, comparison views, reports for the clinician, reminders through several channels, full-body sessions, and encrypted backups that are read back; in English, Spanish and Portuguese. Minor versions keep the data and migrate it when they must; the release notes say when something changes for the operator.

What neVus is

  • A personal record on your own server. Photos and measurements never leave the machine you run it on. No cloud, no account with anyone, no telemetry.
  • A body map to register marks, a timeline of observations per mark, side-by-side, overlay and difference comparison, measurements in millimetres with their uncertainty, reminders and a calendar feed, and PDF reports to take to an appointment.
  • Full-body sessions, region by region in a fixed order, so two sessions compare zone by zone; any region can be skipped and any part of a photo blurred afterwards.
  • Optional, experimental analysis per person, off by default: proposed outlines and sizes, spots on a region's photo matched to the marks of the previous session. Every proposal waits for the person's yes or no.
  • Accounts for the household with roles per person, a second factor with recovery codes, nightly encrypted backups that are read back every week, and an audit trail.
  • Built for a phone in front of a bathroom mirror and for a browser on a desk, packaged for CasaOS and for plain Docker Compose.

What neVus is not

neVus is not a diagnostic tool and does not assess risk. It will never compute a melanoma probability, an ABCDE score or a "see a doctor" alert. Every automated result, whether a measurement, an alignment or a candidate mark in a later photo, is presented as an observation with its uncertainty, for you to confirm or discard and for a clinician to interpret. The intended use is documentation and measurement support for a conversation with a professional. The reasoning behind this boundary is recorded in ADR-0003.

Why

Remembering what a mole looked like eight months ago is not exactly a controlled clinical measurement. Dermatologists rarely have the time or the equipment to photograph and measure every lesion of every patient at every visit, so the longitudinal evidence, when it exists at all, lives in the patient's memory. neVus moves it into dated, measured, comparable records that fit in a PDF.

Relationship to MoleMapper

neVus is inspired by MoleMapper, the iOS research app released by Oregon Health & Science University under a BSD licence. It is a clean reimplementation for a self-hosted web stack, not a fork: the zone taxonomy, the zone geometry, the coin table and the tap-to-fit measurement idea are ported with the OHSU notice preserved in THIRD_PARTY_NOTICES.md. Everything else is new. neVus is not affiliated with or endorsed by OHSU, Sage Bionetworks or the MoleMapper study; "MoleMapper" is their trademark. The audit that led to this decision is in docs/audits/MOLEMAPPER_AUDIT.md and the decision itself in ADR-0002.

Roadmap

Phase Release What becomes possible
0 — Discovery — Audits, research, product questions, requirements, architecture, design brief
1 — Foundation internal Accounts and profiles, photo ingestion with metadata scrubbing, the design system, the application shell
2 — Deployment first release candidate Container image, CasaOS app store entry, backup and restore
3 — Core tracking 0.1.0 Body map, marks, photographed observations with a quality check, measurement in millimetres against a printed card or a coin, timelines, reminders, encrypted export
4 — Comparison and reports 0.2.0 Side-by-side, overlay and difference views, measurement charts, PDF reports, "prepare my visit"
5 — Computer vision 0.3.0 Assisted segmentation and measurement, framing checks, reproducible analysis records (opt-in, experimental)
6 — Full-body sessions 0.4.0 Guided zone-by-zone capture, matching between sessions, candidate review (opt-in, experimental)
7 — Hardening 1.0.0 Second factor with recovery codes, accounts administration, weekly read-back of the backups, blurring parts of session photos, zoom-to-zone placement, an accessibility statement and a threat model, pages that load on demand
8 — Beyond 1.x Descriptive shape and colour of a mark over time, push notifications behind a flag, more languages

Documents

Contributing

Read CONTRIBUTING.md. Everything in this repository is written in English. Branches follow GitFlow, commits follow Conventional Commits with a DCO sign-off, and pull requests need green checks. Never attach photographs of real people to issues or pull requests; synthetic fixtures exist for that.

Licence

neVus is licensed under the GNU Affero General Public License, version 3.0 only. See LICENSE. Notices for third-party material are in THIRD_PARTY_NOTICES.md.

About

neVus: self-hosted longitudinal tracking of moles and skin marks. Because 'I think it was smaller' is not data. Not a diagnostic tool.

Topics

Resources

Contributing

Security policy

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages