smooth-app
A collaborative, free and open database of ingredients, nutrition facts and information on food products from around the world
Dai tuoi turni: quando dormire, l'ultimo caffè, la luce, i pasti. Turni personalizzabili, giorni liberi in comune con chi vuoi, export calendario.
Translation pending
HealthJavaScript · HTMLGitHub @davbenxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Privacy-first shift-work planner for sleep, recovery, light and caffeine.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
The personal operating system for shift workers.
Notturnisti turns your work schedule into a daily plan: when to sleep, when
to get light, when to have your last coffee, when to nap, when to eat. It is
built specifically for people whose schedule doesn't follow a normal day —
nurses, 118/112 operators, security staff, factory shift workers, truck
drivers, pilots — and for the Italian shift-work culture in particular.
Live app → app.notturnisti.club · Blog & science →Read the full README ↗The personal operating system for shift workers.
Notturnisti turns your work schedule into a daily plan: when to sleep, when to get light, when to have your last coffee, when to nap, when to eat. It is built specifically for people whose schedule doesn't follow a normal day — nurses, 118/112 operators, security staff, factory shift workers, truck drivers, pilots — and for the Italian shift-work culture in particular.
Live app → app.notturnisti.club · Blog & science →
You tell it your shift pattern (fixed, rotating, or a one-off shift), and it runs that pattern through a circadian/sleep model to produce a concrete, time-stamped plan for the day: sleep windows, nap windows, last-caffeine cutoff, light exposure, meal timing, and a predicted alertness/drowsiness curve. The plan updates as your shifts change, can be exported to your calendar (ICS feed), and can be shared with a partner or colleague so you can find the free time you actually have in common.
Generic sleep and productivity apps assume a normal 9-to-5 day. Shift work breaks every one of their assumptions — "go to bed early" is meaningless advice when your shift starts at 21:00. Notturnisti exists to give shift workers advice that actually matches their schedule, built by and for people who live it.
The plan is generated from a circadian/sleep-pressure model, not a fixed rulebook — it's a predictive estimate, not a biological measurement. Where a recommendation is shown, it should be read as a model-based estimate ("predicted high drowsiness 04:10–05:20"), not as a precise physiological readout. Background articles and sources are published on the blog.
Your shift schedule, sleep log and plan are computed and stored on your
device. Nothing is sent to a server unless you explicitly generate a
share/restore link — and that link's write key travels in the URL fragment
(#…), which browsers never send to a server, specifically so it can't leak
through server or proxy access logs. The backend only ever sees a
config id, a write key, and (for paid accounts) a hash of your email —
never your name, never your shift times in the clear, never your sleep data.
Static, dependency-free front end — no build step, no framework:
index.html UI shell
engine.js core scheduling / circadian engine
alertness.js drowsiness/alertness model
history.js sleep diary storage
notifications.js local notifications (what to notify, when)
platform.js web vs native app (Capacitor): notifications, calendar, widget
analytics.js anonymous aggregate usage counters (opt-in, off by default)
paid.js auto-updating calendar feed (free account) and restore link
migrate.js one-time move of the data saved in the browser (PWA) into the Android app
sw.js service worker (offline, caching)
manifest.webmanifest PWA manifest
functions/ Cloudflare Pages Functions (API):
config/[id].js read/write a saved plan (writeKey-gated)
couple/[id].js shared/partner view
feed/[id].js ICS calendar feed
collect.js anonymous usage counters (D1, per-day aggregates only)
account.js free account for the calendar feed
stats.js private usage dashboard (/stats, token-gated)
Deployed on Cloudflare (Workers + static assets). The Android app
(club.notturnisti.app, not yet on the Play Store) is a Capacitor shell in app/, which
bundles these same files unchanged and adds OS-level notifications — see
app/README.md and docs/app-nativa.md.
The app is fully usable offline once installed (PWA / TWA): your schedule,
diary and generated plans live in the browser, not in a database. The only
network calls are to the optional share/restore/couple endpoints, which you
trigger explicitly, and anonymous usage counters ("a plan was generated", no
identifiers, no schedule data — stored only as per-day totals, switchable off
in Options). A complete backup (schedule, sleep diary, settings, people) can be saved to a file and restored, entirely on the device. See docs/app-nativa.md for the native-app plan.
Active development follows a staged roadmap — instrumentation and test coverage first, then a faster/simpler onboarding and a "what should I do right now" home screen, then turning the existing sharing/pairing features into a real growth loop, then content and SEO. See the project board / pinned issues for the current sprint.
This repository is source-available (see LICENSE): the code is open for reading, review and learning, but is not open for reuse or redistribution without permission. Bug reports and pull requests are welcome via GitHub Issues/PRs; by submitting a PR you agree it may be merged and distributed under the project's license.
Source-available, all rights reserved — see LICENSE. Not OSI-approved open source: you can read and study the code, but reuse, redistribution or competing use requires permission.
node --test tests/*.test.js — engine, notifications, analytics, fuzzing (no browser).tests/ui/run.sh — UI in the browser with Playwright: user flows, onboarding,
nudges, notifications, plan adaptation, sharing, simulated native app,
accessibility (axe-core, WCAG 2.1 AA), 130% text size and start-up time on a
throttled CPU. tests/ui/run.sh comp nudge runs only some suites.app/scripts/test-android.sh — end-to-end run on a real Android emulator
(see docs/app-nativa.md).