Mirobody
인간 건강의 표준 레지스트리, 약 2천 개 임상·생활 지표를 하나의 언어로 정리
SnoreHive는 침대 옆 전화로 코골이를 측정해 점수를 매기고, 효과적인 해결책을 보여줍니다
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온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗