尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Rustig ademen op een vast ritme, terwijl je telefoon via de camera je hartslag meet en met kleur en klank terugkoppelt hoe coherent je hartritme is. Live op adem.felixisfelix.com.
Breathing-paced HRV biofeedback in the browser: fingertip PPG via the phone camera, colour and sound feedback, all processing on-device. Dutch UI, MIT licensed.
Alles gebeurt op je toestel. Er gaat geen video, meting of profiel naar een server; profiel en
geschiedenis staan in de localStorage van je browser.
Deze app is bedoeld als ontspannings- en oefenhulp. Hij stelt geen diagnose en vervangt geen arts. Voel je je duizelig of benauwd, stop dan en adem normaal.
Getest op iPhone 15 Pro (Safari, iOS 26): alleen de telelens naast de flitser levert een bruikbaar vingertopsignaal; de app kiest die zelf. Andere telefoons werken vaak ook, maar zijn niet getest. "Alleen ademen" werkt in elke moderne browser.
Geen build-stap en geen afhankelijkheden: statische HTML plus ES-modules.
python3 -m http.server 8000 # open http://localhost:8000
node tests/run.mjs # tests (Node ≥ 12)
Camera en flitser vragen HTTPS; test op een telefoon via een gedeployde versie of een tunnel.
| Bestand | Rol |
|---|---|
index.html | schermen en stijl |
adem/app.mjs | koppelt alles in de browser |
adem/camera.mjs | camera kiezen, flitser, witbalans |
adem/signal.mjs | PPG → hartslagen, vingerdetectie, signaalkwaliteit |
adem/hrv.mjs | RR-reeks, hartslag, RMSSD, coherentie |
adem/breath.mjs, session.mjs | ademgids en sessieverloop |
adem/visual.mjs, palette.mjs, audio.mjs | beeld (OKLCH koel → warm) en klank |
adem/norms.mjs, tempo.mjs, explain.mjs | normen, tempovoorstel, uitleg |
adem/store.mjs | opslag van profiel en sessies |
Standaard bewaart de app alles in localStorage. Een andere omgeving (bijvoorbeeld een
dashboard met login) kan vóór het laden van adem/app.mjs een eigen opslag meegeven als
globalThis.ADEM_STORE, met hetzelfde synchrone contract als localStore in
adem/store.mjs.
Ontwerp en plan staan in docs/superpowers/.