Mirobody
The canonical registry of human health — roughly two thousand standardized indicators, clinical and lifestyle, resolved into one language.
翻訳待ち
SnoreHive listens from your bedside phone, scores every night, and shows which remedies worked for people who snore like you. Free to record every night.
翻訳待ち
健康TypeScript · AstroGitHub @Bhav-Devオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Formerly Nightwatch; renamed on 17 October 2026 for a community of snorers working on it together. Internal names (the app ID com.threeft2.nightwatch, the Expo slug and link scheme, the nightwatch database schema and the NIGHTWATCH_* secrets) are unchanged, so installed apps update in place; the name people see comes from app.json and src/brand.ts.
Record your snoring, see it against your watch's data, and find out which remedies helped people like you. The product plan and development spec are in docs/project-plan.md, the screen mockups in docs/screens.html (open in a browser), and progress against every item in the plan in docs/status.md. This README covers what is built, how to run it, and the decisions taken where the spec was open.
Phases 0 to 3 are built. Nothing has run on a phone yet: everything below is checked by unit and integration tests, typechecks, lint, JS bundle builds for both platforms and expo prebuild, but not on a device.
| Phase | What is in the repo |
|---|---|
| 0 Foundations | Expo app, local SQLite schema, 42-entry catalogue, scoring, detection v0, overnight capture (expo-audio stream plus an Android foreground service), interruption handling, labelling and evaluation tools (tools/) |
| 1 Parity | Clips of the loudest moments (WAV, with groundwork for Opus), full This Morning screen (score, timeline, clips, editable log, typical-night prompt, interrupted banner), Trends (7/30/90 nights, moving average, snapshots), onboarding, Settings (export, delete, sensitivity, auto-stop, reminders), automatic stop in the morning |
| 2 Personal insight | Apple Health and Health Connect import, aligned overlay and nightly summary, template morning summary, 14-night remedy tests with a verdict and confidence, doctor's report PDF on the phone, RevenueCat paywall and locks |
| 3 Community | Required sign-in (Apple, Google, email link), explicit consent for the account to keep nights (then two-way sync), contribution opt-in, community dashboard (Everyone, People like you, early and hidden states, combinations), remedy detail with your result against the crowd, Amazon links with disclosures, the backend (server/, runs on a VPS or Supabase), nightly aggregation job, methods page (site/methods.html) |
Partner mode (Household) is not built: the brief holds it for the first update after launch.
docs/ project plan, screen mockups, status against the plan, design notes
shared/ code used by both app and server
api.ts the /v1 API contract
remedyEffect.ts the remedy-effect algorithm (eligibility, within-person deltas, community figures)
profile.ts, amazon.ts, stats.ts
catalogue/catalogue.json launch catalogue (app seed and server seed)
src/ the app
app/ routes (Expo Router)
domain/ pure logic: scoring, detection, audio features, health, summary, experiments
data/ SQLite schema and repositories (behind the Db interface)
recording/ RecordingSession: capture → features → SQLite → scored night; launch recovery
clips/ clip collection, codec registry, transcoding
native/ capture: expo-audio stream, simulator
health/ Apple Health and Health Connect readers
sync/, api/, community/ server client, sync engine, cached community snapshot
billing/, auth/, state/ RevenueCat, session storage, app-wide state
report/ doctor's report
screens/, ui/ shared screen components, UI kit and charts
modules/nightwatch-recording-service/ Android foreground service (Kotlin)
server/ API (Hono) and nightly job; see server/README.md
supabase/ Supabase function wrappers and migrations (same server code)
tools/ labelling and detector evaluation; see tools/README.md
scripts/make-icons.mjs draws the app icon and renders every icon file (npm run icons)
assets/icon-src/ the icon as SVG, and its layers for Apple's Icon Composer
site/methods.html public methods page
__tests__/ app tests (Jest); data-layer tests run on node:sqlite
The app has native modules, so it needs a development build rather than Expo Go.
npm install
npm run ios # or: npm run android (local Xcode / Android Studio)
# or in the cloud: npx eas-cli@latest build --profile development
npm start # dev server for an installed development build
npm run start:simulated # same, with the simulated microphone (30 s of night per real second)
npm test && npm run typecheck && npm run lint
cd server && npm install && npm test # API and aggregation (PGlite, no database needed)
In development builds, with no server configured, sign-in offers a development account, and Settings has a switch to unlock paid features.
This is the beginning of the README. Read the rest at the original. Read the full README ↗