Skip to methodology

How Sleep Calculations Work

See what each Sleep Manager tool asks, the exact rule it follows, what the result means, and where the method stops. Start with the short method map, then open the technical detail only when you need it.

  • 12 current methods
  • Exact rules and worked examples
  • Evidence and uncertainty shown
  • Public version trail
Choose the result you want to inspect

All current methods at a glance

Each record publishes the live input, rule, output, assumptions, limits, privacy behavior, worked checks, source basis, version, and a route back to the real tool. Reference pages appear here too because filtering and selecting fixed content is still a method, even when no calculation is performed.

Canonical homepage specification

Sleep timing calculator: fixed-cycle clock arithmetic

Method ID: SM-CYCLE-1.0 Status: Sleep Manager-created planning model Reviewed: 23 August 2026

What it estimates

The calculator produces six bedtime or wake-time rows using a fixed 90-minute constant and a user-selected sleep-latency estimate. It performs clock arithmetic only. It does not detect sleep onset, measure sleep stages, predict a real cycle transition, assess sleep quality, or choose enough sleep for an individual.

Inputs and constants

  • Target-time mode: a user-selected hour, five-minute increment, and AM or PM.
  • From-now mode: the browser's current local time when the rows are rendered.
  • Latency: user-selected 0 to 60 minutes in one-minute increments; default 15 minutes.
  • Cycle count: one through six. Cycle constant: exactly 90 minutes.

Target-time mode: bedtime = target wake time - (cycle count × 90 minutes) - latency

From-now mode: wake time = current local time + latency + (cycle count × 90 minutes)

If a target wake time has already passed on the current local day, the calculator uses that time on the next day. Ordinary browser date arithmetic handles midnight rollover.

Worked fixtures

Examples that verify bedtime and wake-time arithmetic
FixtureSelected rowOutput
Wake at 7:00 AM, latency 15 min6 cycles9:45 PM bedtime
Wake at 7:00 AM, latency 15 min5 cycles11:15 PM bedtime
Start at 10:00 PM, latency 15 min1 cycle11:45 PM wake time
Start at 10:00 PM, latency 15 min6 cycles7:15 AM wake time

What the age marker does

The age control changes only the highlighted row label. It does not change the 90-minute constant, add rows, or calculate personal sleep need. These are the exact values stored in the current interface:

Age-marker labels and their exact visible effect
Interface markerStored cycle rangeVisible effect among rows 1-6
Infant (under 1 year)8-10No row is highlighted
Toddler (1-2 years)7-9No row is highlighted
Teen (13-18 years)6-7Row 6 is highlighted
Adult (18-64 years)5-6Rows 5 and 6 are highlighted
Senior (65+ years)5Row 5 is highlighted

The map is disclosed because it affects presentation, but it should not be treated as individualized medical guidance. Sleep cycles commonly vary rather than lasting exactly 90 minutes, and sleep stages require actual physiological measurement. See the NHLBI explanation of sleep stages and cycle variation and our plain-language sleep-cycle guide.

Canonical homepage specification

Nap Station: browser countdown behavior

Method ID: SM-NAP-1.0 Status: Fixed browser timers Reviewed: 23 August 2026

The countdown begins on button press, not on detected sleep onset. JavaScript subtracts one second on each interval tick. Pause stops subtraction without ending the interval; resume continues it; cancel returns to the options. At zero, the page shows a visible completion control and attempts a three-tone Web Audio chime. Nothing is saved after the page is closed or refreshed.

Available nap countdown choices and their interpretation limits
Interface optionExact timerInterpretation boundary
20-minute rest timer1,200 secondsCommon short-rest window; actual sleep may be shorter.
60-minute rest timer3,600 secondsLonger window; deeper sleep and post-waking grogginess may occur.
90-minute rest window5,400 secondsUses the site's constant; does not verify one complete cycle.
Coffee-nap pattern1,200 secondsSame timer; caffeine response, suitability, and timing vary.

Browser and safety limits

Background-tab throttling, device sleep, muted audio, permissions, or closing the page can delay or prevent the chime. Use a device alarm when wake time matters. A completed timer cannot establish alertness or fitness to drive. Research on short naps reports outcomes that vary with prior sleep, nap timing, and waking conditions; see the review of short daytime naps and sleep inertia.

Canonical homepage specification

Sleep opportunity gap: self-entered difference model

Method ID: SM-GAP-1.0 Status: Arithmetic estimate with retained site-created pacing example Reviewed: 8 September 2026

The estimator compares a user's nightly sleep estimate with a user-chosen target across a selected number of days. It does not verify time asleep, choose the target, or account for sleep quality, naps, illness, shift work, or individual recovery.

  • Estimated sleep input: 4 to 10 hours in 0.5-hour steps; default 6.5.
  • Chosen target input: 6 to 10 hours in 0.5-hour steps; default 8.
  • Comparison period: 1 to 7 days; default 5.

Raw gap = (chosen target - estimated sleep) × days

Displayed gap = maximum of raw gap and 0

The circular graphic reaches full at 20 hours, while the numeric result can continue above 20. Its color thresholds are presentational: zero, above zero through 5, above 5 through 12, and above 12 hours.

Retained pacing example

The current interface also preserves this pre-existing Sleep Manager rule:

Example nights = maximum of 1 and round(displayed gap ÷ 0.75)

Example minutes per night = round((displayed gap ÷ example nights) × 60)

The 0.75-hour divisor is an unvalidated site-created planning rule. It is not a clinical recovery formula, prescription, or promise that the estimated gap can be repaid on that schedule.

Examples that verify sleep-opportunity gap arithmetic and display limits
InputsDisplayed resultPacing example
6.5 slept, 8 target, 5 days7.5 hours10 nights at about 45 minutes
8.5 slept, 8 target, 5 days0 hours after clampNo pacing example
5 slept, 10 target, 7 days35 hoursRing stays visually full above 20 hours

Sleep loss and recovery are more complex than arithmetic. See the NHLBI overview of sleep deficiency and our guide to reasons someone may feel tired despite enough time in bed.

Canonical homepage specification

Ambient audio: local looping player

Method ID: SM-AUDIO-1.0 Status: Optional media control Reviewed: 23 August 2026

The dock loads one of five local MP3 files, loops the selected file, starts only after user action, and exposes a 0-100 volume control with a default of 55. Switching tracks while playback is active starts the new track. Stop-timer choices are off, 15, 30, 45, or 60 minutes. A selected duration is armed while audio plays or when playback begins. Track, volume, playback position, and timer are not persisted.

Ambient audio labels and the local files they play
Visible labelLocal file
Gentle pianodeep-sleeping-piano_music.mp3
Soft lullabybaby-sleeping-music.mp3
Rain and fluteflute-music-with-rain.mp3
Quiet instrumentalmusic-for-just-relax.mp3
Forest and birdsmorning-forest-with-birds-music.mp3

Evidence, hearing, and timer limits

The player is optional background audio, not a treatment. A systematic review found mixed evidence and no strong overall evidence that auditory stimulation improves sleep outcomes. Keep volume low and the device away from the ears; loudness, duration, and distance all affect noise exposure. Do not place a device in an infant sleep space. The browser stop timer is not an alarm and may not execute if the page closes or the device suspends. Sources: systematic review of auditory stimulation and sleep and NIDCD hearing-safety guidance.

Canonical chronotype specification

Chronotype Quiz: timing-reflection score

Method ID: SM-CHRONO-2.0 Status: Sleep Manager-created planning heuristic; not validated Reviewed: 23 August 2026

What the quiz does

The quiz adds published integer weights from ten single-choice answers to four memorable planning labels: Lion, Bear, Wolf, and Dolphin. It reports either a single-profile lean or a mixed pattern. It does not measure circadian phase, diagnose a disorder, or establish a fixed biological type.

Inputs and complete weight table

The ten dimensions are free-day wake preference, best focus period, daily energy pattern, preferred sleep time, required-day/free-day gap, sleep-environment sensitivity, waking experience, caffeine use, napping, and current sleep experience. The last five can reflect present circumstances as much as timing preference, which is why the public result keeps them visible as context.

Scroll sideways to inspect every profile weight.

All forty live answer choices and integer weights
QuestionOptionAnswer labelLionBearWolfDolphin
1. Free-day wakeABefore 6 AM - still up before sunrise4102
1. Free-day wakeB6-7:30 AM - early, but not very early3301
1. Free-day wakeC7:30-9 AM - a comfortable mid-morning rise0413
1. Free-day wakeDAfter 9 AM or later0141
2. Best focusAEarly morning, before 10 AM4101
2. Best focusBMid-morning, roughly 10 AM to noon2403
2. Best focusCAfternoon, around 2-5 PM0222
2. Best focusDEvening or late night, after 7 PM0041
3. Energy patternAHigh early, then drops sharply by afternoon4101
3. Energy patternBBuilds to late morning, then slowly declines with an afternoon dip1402
3. Energy patternCSluggish through much of the day, then energized after sunset0140
3. Energy patternDUnpredictable bursts with no clear pattern0014
4. Preferred sleepABefore 10 PM4102
4. Preferred sleepBAround 10:30-11:30 PM1413
4. Preferred sleepCMidnight or later0141
4. Preferred sleepDNo predictable time0014
5. Schedule gapAAlmost no difference4301
5. Schedule gapBAbout 30-60 minutes later on free days2412
5. Schedule gapC1-2 hours later on free days0232
5. Schedule gapD2 or more hours later on free days0042
6. EnvironmentANot very sensitive2420
6. EnvironmentBSomewhat sensitive3321
6. EnvironmentCQuite sensitive1123
6. EnvironmentDExtremely sensitive0004
7. After wakingAAlert and ready4101
7. After wakingBGroggy briefly, then functional2412
7. After wakingCFoggy for 30-60 minutes0141
7. After wakingDAnxious and wired1004
8. CaffeineABarely need it3211
8. CaffeineBOne morning cup is enough2411
8. CaffeineCRely on 2-3 cups through the day1132
8. CaffeineDUse it strategically or later in the day0042
9. NappingARarely nap or need to4110
9. NappingBSometimes nap and feel better1411
9. NappingCSometimes nap and wake groggier1123
9. NappingDFind napping nearly impossible0014
10. Current sleepAFall asleep, stay asleep, and wake refreshed3410
10. Current sleepBGenerally good with an occasional rough night3321
10. Current sleepCOften stay up too late and feel under-rested0142
10. Current sleepDSleep is often light, broken, or anxious0014

Score and ambiguity rules

  1. For each profile p, compute total(p) = sum of the ten selected weights for p.
  2. Use the stable display order Lion, Bear, Wolf, Dolphin only to render rows and labels. It never breaks a tie.
  3. Let maximum = max(total(Lion), total(Bear), total(Wolf), total(Dolphin)).
  4. Every profile with maximum - total(p) <= 2 is co-leading. Two or more co-leaders produce a mixed result without ranking.
  5. One profile is shown as a lean only when every other total is at least three points lower.

The two-point mixed boundary is a disclosed Sleep Manager caution rule. It is not a validated psychometric threshold. One answer can move differences by more than two points, so a smaller lead was judged too fragile for a single label.

Worked regression fixtures

Chronotype reflection examples used to verify score and mixed-result behavior
Selected option indexesLionBearWolfDolphinExpected output
All A361959Clear Lion lean
All B2037917Clear Bear lean
All C3152919Clear Wolf lean
All D112030Clear Dolphin/variable lean
0,0,0,0,0,2,2,3,3,32191221Mixed Lion + Dolphin tie
0,0,0,0,0,2,1,3,3,32312922Mixed, one-point lead
0,0,0,0,0,0,3,3,3,32311821Mixed, two-point lead

Result-language and data contract

  • The result says answers lean toward or mixed pattern, never you are.
  • No exact bedtime, wake time, caffeine cutoff, exercise window, risk level, light treatment, or medicine timing is generated.
  • Questions 6-10 can create visible context notes. They never create a diagnosis.
  • The flexible, fixed, and irregular schedule choices change only the seven-day observation text, not the score.
  • Answers and results are held only in page memory and clear on refresh. No local or session storage is used.
  • After Analytics permission, completion and retake events send only the tool identifier chronotype-quiz. They do not send answers, totals, profile labels, ambiguity, or schedule choice.

Evidence and clinical boundary

Chronotype and morningness-eveningness are established concepts, but this animal-label quiz is not the validated 19-item Morningness-Eveningness Questionnaire and is not the Munich ChronoType Questionnaire. Clinical assessment can consider history, sleep diaries or actigraphy, environment, and sometimes circadian phase testing. Sources: original MEQ publication, DLMO, MEQ, and MCTQ comparison, AASM circadian-rhythm review, and NHLBI diagnostic overview. Persistent sleep difficulty, unsafe sleepiness, breathing pauses, or major daytime impairment requires appropriate professional assessment.

Open the Chronotype Quiz

Canonical sleep-preference comparison specification

Sleep Compatibility Quiz: exact-answer alignment

Method ID: SM-COMPAT-2.0 Status: Sleep Manager-created educational comparison; not validated Reviewed: 24 August 2026

What the comparison does

Two people answer the same eight single-choice questions. The method counts how many option values are exactly the same, displays the agreements and differences, and lets the users choose one difference for a reversible discussion trial. It does not measure relationship quality, sleep quality, disturbance severity, willingness to compromise, or whether two people should share a bed.

Required inputs and published option values

Every person must provide one answer for every topic. A person may estimate the other sleeper's answers, but the public page labels that result as an estimate to check together. No result is generated while any answer is missing.

All eight equally weighted comparison topics
TopicPublished valuesWhat the choice describes
Temperaturecool, warm, neutralPreferred room and bedding warmth
Noiselow, medium, highReported sensitivity to sound during sleep
Lightpitch, dim, anyPreferred darkness level
Sleep timinglion, bear, wolf, dolphinEarlier, middle, later, or variable timing preference; value names are retained internal identifiers, not biological types
Bedtimeearly, moderate, latePreferred free-night bedtime range
Movementstill, moderate, activeReported movement during sleep
Blanketscocoon, share, lightPreferred blanket use
Morningearly, gradual, snoozeUsual experience in the first minutes after waking

Exact comparison rule

  1. For topic i, let A_i and B_i be the two saved option values.
  2. Set match_i = 1 only when A_i === B_i; otherwise set match_i = 0.
  3. Compute matches = sum(match_i) for all eight topics.
  4. Display matches of 8 same answers as the primary result.
  5. Compute the secondary arithmetic view as round(matches / 8 x 100) and label it exact-answer alignment.

The only possible rounded percentages are 0, 13, 25, 38, 50, 63, 75, 88, 100. There is no pass mark, relationship label, importance weighting, partial credit, or validated cutoff. One difference can matter more in daily life than several agreements.

Worked example and regression fixtures

If five value pairs are identical, matches = 5 and round(5 / 8 x 100) = 63. The public result is 5 of 8 same answers, with 63% exact-answer alignment shown only as a secondary explanation.

Partner comparison examples used to verify exact-match result behavior
FixtureExpected countSecondary percentageRequired public behavior
All eight option values identical8 of 8100%Show all agreements; no superlative or relationship grade
Seven identical, one different7 of 888%Show the full different answers and discussion command
Four identical, four different4 of 850%Show both lists without pass/fail language
One identical, seven different1 of 813%Do not label the relationship or predict conflict
No identical option values0 of 80%Explain that this is not a failed result
Any missing answerNo resultNot calculatedSwitch to and focus the first missing question

Result, trial, and data contract

  • Public copy says same answers and different answers, not compatible, incompatible, soulmate, strong match, or time to talk.
  • Every agreement and difference displays the full human answer label; internal values are never printed to users.
  • The selected discussion topic does not alter the count. It only selects a plain conversation prompt and a reversible seven-night observation.
  • The neutral share action sends the page invitation, not answers, a count, a percentage, or a relationship claim.
  • Answers and the selected topic exist only in page memory and clear on refresh. No local or session storage is used.
  • After Analytics permission, completion and retake events send only the tool identifier sleep-compatibility-quiz. Sharing sends no custom Analytics event. Answers, values, counts, percentages, and selected topics are excluded.

Evidence and safety boundary

Sleep and close relationships can affect one another, but published findings are complex, heterogeneous, and often associative. They do not validate this page's exact-match count as a relationship or health score. Sources: review of relationship quality and sleep, systematic review and meta-analysis, and systematic review of co-sleeping and sleep outcomes. Frequent loud snoring with breathing pauses, gasping, choking, or substantial daytime sleepiness requires appropriate assessment; see the NHLBI symptom guide. Sleep behavior that could cause injury, fear, coercion, or serious conflict is outside this tool.

Canonical caffeine specification

Caffeine Cutoff Calculator: bedtime-backoff model

Method ID: SM-CAF-1.0 Status: Sleep Manager-created planning heuristic Reviewed: 8 September 2026

What the model estimates

The output is an approximate last-caffeine experiment calculated backward from a planned bedtime. It is not a clearance time, active-milligram estimate, safe dose, genotype result, or measurement of personal metabolism.

Inputs and accepted values

Scroll sideways to inspect the full table.

Values used by the live calculator
InputAccepted valuesMeaning
Planned bedtime12-hour clock; 5-minute input stepsThe target clock time used for subtraction; it is not a measured sleep-onset time.
Shorter assumption4.0-hour half-lifeA model option, not a `fast metabolizer` classification.
Middle assumption5.5-hour half-lifeThe default model option, not an assertion of average personal metabolism.
Longer assumption7.0-hour half-lifeA model option, not a `slow metabolizer` classification.

Equations and threshold

hours before bedtime = selected half-life x 2.32 cutoff clock time = planned bedtime - hours before bedtime modeled fraction remaining after h hours = 0.5 ** (h / selected half-life)

The exact mathematical multiplier that leaves 20% is log(0.20) / log(0.50) = 2.321928.... The live code uses 2.32, so the modeled remainder is about 20.03%. Public copy therefore says about 20%, not `less than 20%`.

The about-20-percent target is selected by Sleep Manager as a conservative experiment boundary. It is not a clinically validated sleep threshold and does not mean the remaining amount is harmless, safe, or inactive.

Worked example: planned bedtime 10:30 PM

Scroll sideways to compare all assumptions.

Live output for the three half-life assumptions
AssumptionBackoffRaw subtractionDisplayed result
4 hours9.28 hours22.50 - 9.28 = 13.221:13 PM
5.5 hours12.76 hours22.50 - 12.76 = 9.749:44 AM
7 hours16.24 hours22.50 - 16.24 = 6.266:16 AM

Clock rollover and display rule

The code converts the selected bedtime to decimal 24-hour time. If subtraction produces a value below zero, it adds 24 before formatting the result. This means a cutoff that looks later on the clock than the bedtime is on the previous calendar day. The page currently displays clock time, not a date label.

The formatter rounds the arithmetic result to the nearest minute. That minute is computational output, not biological precision. A user should choose a practical final-caffeine boundary at or before the displayed time.

Missing inputs and known variability

  • No caffeine dose, beverage size, ingredient label, actual consumption time, or repeated serving is entered.
  • The curve is a percentage of one unspecified hypothetical dose; it cannot produce active milligrams.
  • Pregnancy, medicines, smoking, oral contraceptives, liver health, age, and other factors can alter caffeine pharmacokinetics.
  • The model does not predict sleep onset, awakenings, sleep stages, next-day alertness, or a safe intake.

Code fixtures

Expected outputs used to check public-code parity
BedtimeAssumptionExpected cutoffBoundary checked
10:30 PM4 hours1:13 PMShorter assumption
10:30 PM5.5 hours9:44 AMDefault/middle assumption
10:30 PM7 hours6:16 AMLonger assumption
12:00 AM5.5 hours11:14 AM, previous dayCross-midnight wrap

Public result wording contract

  • Say `approximate planning cutoff`, `selected half-life assumption`, and `about 20%`.
  • State that the fraction belongs to one hypothetical dose and is not active milligrams.
  • Do not say `fast/slow metabolizer`, `clearance time`, `safe`, `lower risk`, or `personalized metabolism`.
  • Keep the dose, drink-time, repeated-serving, medicine, pregnancy, and liver-context limitations visible.

Data, sharing, and analytics contract

  • Bedtime, selected half-life, and the calculated result remain in page memory only and clear when the page is refreshed. The calculator uses no local or session storage.
  • Sharing uses the page URL; it does not add the selected bedtime, assumption, cutoff, or modeled fractions to the URL.
  • After Analytics permission, result display sends tool_complete with only { tool_id: "caffeine-cutoff-calculator" }. Bedtime, selected half-life, calculated cutoff, and modeled fractions are excluded.
Canonical routing specification

Sleep Problem Finder: fixed editorial route lookup

Method ID: SM-ROUTE-1.0 Status: Sleep Manager-created navigation method Reviewed: 22 August 2026

What the method does

The finder maps one self-selected concern identifier to one fixed primary Sleep Manager destination. It is editorial navigation, not a symptom checker, diagnosis, triage method, risk score, or treatment selector.

Input and exact rule

  • Input: one of nine named concern IDs or the not-sure catch-all.
  • Rule: exact identifier lookup; no weighting, score, threshold, inference, or machine-learning model.
  • Not evaluated: age, duration, frequency, severity, overlap, medicines, health history, emergency signs, or previous answers.
  • Unknown or missing ID: show a recovery state and do not guess a destination.

Versioned primary route table

Scroll sideways to inspect the full table.

SM-ROUTE-1.0 exact-ID lookup and unchanged primary destinations
Concern IDPublic concernPrimary destinationMeaning
cant-fall-asleepTrouble falling asleep/ - Sleep CalculatorReview planned sleep opportunity; not treatment for insomnia or racing thoughts.
wake-up-nightWaking during the night/tools/caffeine-cutoff-calculator.htmlExplore caffeine timing as one possible contributor.
wake-up-tiredWaking tired after enough time in bed/ - Sleep CalculatorReview planned sleep opportunity; not an explanation of tiredness.
bedroom-environmentBedroom environment/tools/bedroom-audit-checklist.htmlReview reported room conditions.
inconsistent-scheduleIrregular schedule/tools/chronotype-quiz.htmlReflect on timing preference without biological classification.
partner-sleep-issuesPartner sleep differences/tools/sleep-compatibility-quiz.htmlCompare reported preferences, not relationship quality.
jet-lag-travelJet lag, travel, or shift work/tools/jet-lag-calculator.htmlOpen the existing simplified travel-timing planner.
daytime-sleepinessDaytime sleepiness or low energy/ - Sleep Debt and Nap StationReview sleep-opportunity arithmetic and nap planning, not cause.
sleep-phenomena-mythsSleep paralysis, unusual events, or claims/tools/sleep-myths-vs-facts.htmlOpen educational claim checking; it cannot assess an event.
not-sureNo category selectedCurrent complete tool and article inventoriesBrowse without assigning a concern route.

Result presentation contract

  • Use suggested place to start, selected concern, primary destination, and alternative explanation.
  • Never call the route a solution, diagnosis, best match, personalized result, or treatment.
  • Explain why the primary destination appears and what it cannot determine.
  • Show no more than two alternatives in the immediate result. Existing additional mapped destinations remain in a collapsed deep layer.
  • Repeat a compact safety boundary; the route never suppresses the pre-route safety content.

Safety and non-triage boundary

The page presents static guidance before selection for immediate danger/acute distress, drowsy driving or safety-critical sleepiness, breathing pauses/gasping, persistent severe sleepiness, and injury-risk sleep behavior. These conditions do not alter the route because the finder is not a triage instrument. Users are directed to appropriate local emergency/crisis support or qualified healthcare assessment instead.

Data, storage, and analytics

  • No account, medical-history field, answer persistence, local storage, or session storage is used.
  • The selected ID builds the result in the browser.
  • After Analytics permission, result display sends tool_complete with only { tool_id: "sleep-problem-finder" }. Restarting can send tool_retake with the same tool identifier.
  • The selected concern identifier, destination, alternatives, safety context, and generated wording are excluded from Analytics.

Regression fixtures

Representative exact-ID and recovery checks
InputExpected primary outputBoundary checked
cant-fall-asleep/Named route
wake-up-night/tools/caffeine-cutoff-calculator.htmlNamed route
sleep-phenomena-myths/tools/sleep-myths-vs-facts.htmlNamed route with safety reminder
not-sureComplete current inventoriesCatch-all without route meaning
unknown-id or missingNo guessed destination; recovery controlInvalid/empty state
Canonical jet-lag planning specification

Jet Lag Calculator: date-aware clock-change planner

Method ID: SM-JET-2.0 Status: Sleep Manager-created planning heuristic Reviewed: 23 August 2026

What the method estimates

The tool compares the selected cities' UTC offsets on the departure date, uses the traveler's chosen eastward or westward route to measure a clock-change arc, and converts that arc into a rough population-average adjustment estimate. It also creates up to three optional home-time sleep-shift examples before departure.

It does not calculate a personal circadian phase, recovery deadline, flight sleep window, bright-light prescription, melatonin timing or dose, or exact post-arrival bedtime schedule.

Inputs and accepted values

Values used by the live SM-JET-2.0 calculator
InputAccepted valuesHow it is used
Origin cityOne of 57 retained city recordsSupplies an IANA time-zone identifier.
Destination cityOne of the same 57 recordsSupplies the destination IANA zone.
Departure dateToday or a future calendar dateEvaluates both zone offsets on that date, including supported daylight-saving rules.
Travel directionEastward or westwardSelects the matching positive 24-hour clock arc. It is not inferred from UTC offsets.
Home bedtimeValid local clock timeStarting time for optional pre-travel examples.
Home wake timeValid local clock timeShifted by the same amount as bedtime.

Date-aware time-zone rule

Every retained city now owns an IANA time-zone identifier such as Asia/Kolkata, Europe/London, or America/New_York. The browser's Intl.DateTimeFormat data is evaluated around local noon on the selected date. Local noon avoids treating an overnight daylight-saving transition as an undefined all-day offset.

eastward hours = positiveModulo(destination offset - origin offset, 24) westward hours = positiveModulo(origin offset - destination offset, 24) selected clock change = eastward hours or westward hours according to the traveler

Direction is required because two clock offsets do not reveal the aircraft's physical route, particularly around the international date line. If both arcs are zero, the result explicitly reports no local clock change and does not create a directional adjustment plan.

Rough adjustment estimate

eastward estimate days = ceil(selected clock-change hours / 1.0) westward estimate days = ceil(selected clock-change hours / 1.5)

The 1 hour/day eastward and 1.5 hours/day westward values are population-average planning rates described in CDC travel guidance. Rounding up creates an easy-to-read estimate, not biological precision. The public result must say rough adjustment estimate and population average, not a deadline. It must not say full recovery, personalized result, easier, or harder.

Optional pre-travel examples

example count = min(3, whole days until departure, ceil(clock-change hours)) cumulative shift at step n = min(clock-change hours, n x 1 hour)

Eastward examples subtract the cumulative shift from both home sleep times; westward examples add it. Every clock value is normalized to 00:00-23:59 before 12-hour formatting. The earliest displayed day has the smallest change and the day before departure has the largest cumulative change. The examples are capped at one hour of change per day and three days total.

If departure is today, the result recommends protecting usual sleep instead of forcing a last-minute shift. The tool no longer generates exact travel-day or post-arrival bedtimes because it does not collect flight, arrival, stopover, trip-length, or circadian-phase information.

Worked India-origin examples

Date-aware offsets, selected arcs, and rough estimates
Trip and dateOffsetsSelected routeResult
Kolkata to London, 30 Aug 2026UTC+05:30 to UTC+01:00Westward4 hr 30 min; about 3 days
Kolkata to London, 15 Jan 2027UTC+05:30 to UTC+00:00Westward5 hr 30 min; about 4 days
Kolkata to Tokyo, any current fixed-offset dateUTC+05:30 to UTC+09:00Eastward3 hr 30 min; about 4 days
Kolkata to ColomboUTC+05:30 to UTC+05:30Not requiredNo local clock change

Date-line and daylight-saving fixtures

Representative code-parity checks
FixtureExpected primary behaviorBoundary checked
London summer versus winter datesUTC+01:00 in summer; UTC+00:00 in winterSelected date changes the result
Los Angeles to Tokyo, westwardUse the westward positive 24-hour arcDate-line direction is explicit
Tokyo to Los Angeles, eastwardUse the eastward positive 24-hour arcReverse date-line route
Same city or same date offsetNo directional plan; travel-fatigue note remainsZero-difference recovery
Times around midnightValid 12-hour clock output onlyNo negative, over-24, or 13:15 PM values
Past or missing dateInline error and focus recoveryInvalid input

Public guidance and safety contract

  • Use ordinary destination daylight and local time cues; do not generate exact bright-light exposure or avoidance windows.
  • If caffeine is used, keep it to destination daytime and stop at least six hours before planned sleep; do not call caffeine a safety solution.
  • Short 20-30 minute naps may support alertness; longer daytime naps can interfere with local-night sleep.
  • Advise comfortable hydration and avoiding excess alcohol; do not use the retired 1 litre per 4 hours rule.
  • Give no generated melatonin dose or timing. Medicines, pregnancy, health conditions, child travel, and product differences require clinician/pharmacist discussion.
  • If the traveler is too sleepy to drive or perform safety-critical work, the result tells them to stop and use a safer alternative.

Known limits and data handling

  • The method does not collect flight or arrival time, duration, stopovers, trip length, longitude, daylight exposure, body-clock phase, medicines, health conditions, pregnancy, age, shift work, child needs, or safety duties.
  • A trip under about two days may not justify full destination adaptation; the method cannot decide this without trip length and obligations.
  • IANA rules come from the visitor's browser/operating-system time-zone database and can differ if that data is outdated.
  • City, date, direction, bedtime, and wake time are processed in the browser and are not stored by the calculator.
  • After Analytics permission, result display sends tool_complete with only { tool_id: "jet-lag-calculator" }. It does not send the selected cities, date, direction, clock change, or sleep times.
Canonical bedroom checklist specification

Bedroom Audit Checklist: equal-count condition inventory

Method ID: SM-BEDROOM-2.0 Status: Sleep Manager-created educational heuristic; not validated Reviewed: 24 August 2026

What the checklist does

The checklist records a visitor's answers to 27 everyday room-condition statements across five areas. It counts applicable conditions reported as already in place, keeps uncertainty separate, and chooses one reported opportunity for a low-cost observation. It does not measure bedroom quality, sleep quality, sleep stages, environmental exposure, product need, health, or clinical risk.

Inputs, categories, and accepted values

All 27 statements require one explicit answer before a result is produced. The live values are yes, no, unsure, and na. Public labels are Yes, Not yet, Not sure, and Doesn't apply.

Five categories and fixed item counts
Fixed orderCategoryItemsWhat it records
1Temperature & bedding6Reported thermal comfort, adjustable layers, moisture signs, and shared warmth
2Light & winding down6Reported light comfort, controllable sources, device alerts, and day-sleep context
3Noise & interruptions5Reported external, household, shared, and continuous-sound conditions
4Bed & pillow comfort5Reported comfort, visible condition, cleanliness, and before-replacement checks
5Air, damp & room safety5Reported odour, damp, airflow, irritant, and obvious hazard signs
Published item identifiers and order
All 27 equally weighted item identifiers used by the live checklist
CategoryItem ID in fixed order
Temperature & beddingcomfortable-at-bedtime, few-temperature-wakes, adjustable-layers, weather-comfort, no-moisture-discomfort, shared-warmth
Light & winding downdark-enough, outside-light, small-leds, phone-alerts, dim-wind-down, day-sleep-light
Noise & interruptionsoutside-noise, household-noise, shared-noise, safe-steady-sound, free-noise-test
Bed & pillow comfortsurface-comfort, no-damage, pillow-comfort, clean-dry-bedding, before-replacement
Air, damp & room safetyno-strong-odour, no-visible-damp, safe-airflow, dust-pet-pattern, clear-hazards

Count and completion rules

  1. If any of the 27 items has no selected value, do not produce a result. Open the first incomplete category and focus its first unanswered radio group.
  2. Let Y be the total number of yes answers and N the total number of no answers.
  3. The main result is Y of (Y + N) checked conditions are in place.
  4. unsure and na are reported as separate counts and excluded from the denominator. They are never failures.
  5. No percentage, 100-point normalization, evaluative band, hidden weight, pass mark, or product recommendation is produced.

First-opportunity rule

opportunityShare(category) = no answers / (yes answers + no answers)
  1. Exclude categories with no no answer. A category containing only unsure/not-applicable answers cannot become the priority.
  2. Rank remaining categories by descending opportunityShare.
  3. Break an exact category tie by the fixed published order in the category table.
  4. Within the selected category, use the first no item in published item order.
  5. Display that item's published free-first action. The action does not change the count.

The tie rule and item order are editorial choices created by Sleep Manager. They are transparent and stable, but they are not a clinical or scientific ranking of importance.

Worked fixtures

Expected live behavior at completion and interpretation boundaries
FixtureMain resultExpected first-step behavior
One unanswered itemNo resultOpen and focus the first incomplete item
All 27 Yes27 of 27 in placeNo first room change; offer another sleep starting point
All 27 Not yet0 of 27 in placeTemperature category, comfortable-at-bedtime, by fixed tie order
All 27 Not sureNo counted conditionsNo category is ranked; show uncertainty explicitly
All 27 Doesn't applyNo counted conditionsNo category is ranked; show excluded context explicitly
Light: 4 No/2 Yes; temperature: 3 No/3 Yes; all other items Yes20 of 27 in placeLight ranks first because 4/6 exceeds 3/6

Result, privacy, and telemetry contract

  • The main result says conditions reported in place, not healthy, ideal, optimal, good, poor, or sleep-friendly.
  • The first step is a reversible observation, not a diagnosis, treatment, safety clearance, or instruction to purchase.
  • The neutral share controls send only the page URL and invitation; they do not include answers, counts, categories, or the selected item.
  • Answers and results exist only in page memory and clear on refresh. No local or session storage is used.
  • After Analytics permission, completion sends tool_complete with only { tool_id: "bedroom-audit-checklist" }; it excludes answers, counts, unknowns, categories, and the selected first step.
Canonical reference-utility specification

Sleep Glossary: fixed-entry search and disclosure

Method ID: SM-GLOSSARY-2.0 Status: Sleep Manager-created sourced reference method; no personal inference Reviewed: 24 August 2026

What the glossary does

The glossary searches and filters a fixed set of 57 reviewed sleep terms. It can reveal a plain definition, aliases, deeper context, a boundary, one relevant source group, related terms, and an optional next route. It does not score, screen, classify, diagnose, or infer anything about the visitor.

Inputs and accepted values

Controls used by the live glossary
InputAccepted valuesWhat it changes
Search textAny visitor-entered textCase-insensitive substring match across the published searchable fields
Term typeAll, Everyday idea, Measurement term, Health termRequires an exact type match when a type is selected
TopicAll or one of six published topicsRequires an exact topic match when a topic is selected
LetterAll or one of 18 represented first lettersRequires an exact stored first-letter match; choosing a letter clears search text
Random termCommand onlySelects one of the 57 entries with Math.floor(Math.random() × 57), resets filters, opens it, and moves focus
Term or related-term disclosureOne published term name or valid term hashOpens that existing entry; it does not create a new result

Published inventory

  • 57 terms across 18 represented first letters.
  • Three reader labels: Everyday idea, Measurement term, and Health term.
  • Six topics: Body clock, Sleep stages, Measurement, Sleep concerns, Daily habits, and Naps and waking.
  • Every record contains a short definition, deeper context, a “what this does not prove” boundary, one source group, and a visible review date.

Exact matching and display rules

searchable text = term + aliases + definition + context + boundary + type + topic visible = substringMatch AND typeMatch AND topicMatch AND letterMatch
  1. Convert the visitor's trimmed search and the stored searchable text to lowercase.
  2. If search is not empty, require the complete entered text to appear as one substring. The glossary does not split a multi-word query into independent words.
  3. Apply selected type, topic, and letter as additional AND conditions.
  4. Hide empty letter groups. Report the exact visible count out of 57.
  5. If no entry matches, hide the result list and show a reset route. No guessed term or remote result is added.
  6. A direct valid term hash opens that fixed entry. An invalid hash changes no content.

Worked fixtures

Expected live search and filter behavior
FixtureExpected resultBoundary checked
Search Willis-EkbomRestless Legs Syndrome (RLS)Alias is searchable
Type = Health term16 termsExact type count
Topic = Sleep stages7 termsExact topic count
Letter = AActigraphy, Adenosine, Advanced Sleep Phase DisorderRepresented-letter filter and grouping
Search text plus a conflicting topicNo matching terms and visible resetFilters combine with AND, not OR
Valid term hashReset filters, reveal the term, scroll, then focus its disclosureDirect-arrival behavior

Evidence, privacy, and telemetry contract

  • Each term links to one directly relevant primary or authoritative source group. “Entry reviewed” records when Sleep Manager checked the wording; it is not the source publication date or a clinical review of the visitor.
  • The labels describe vocabulary use. They do not rank certainty, seriousness, or relevance to one person.
  • Search, filters, opened term, random choice, and related-term choice remain in page memory only. No local storage, session storage, account, query mutation, or remote lookup is used.
  • Page sharing uses the canonical glossary URL and excludes current search, filters, and opened-term state.
  • Random-term selection sends no custom Analytics event. After Analytics permission, the shared controller may send one tool_start with only { tool_id: "sleep-glossary" }; the term, search, filters, and visitor choices are excluded.
  • A definition cannot diagnose a condition or establish the cause of a symptom. Breathing pauses, sudden sleep attacks, or unsafe sleepiness need an appropriate professional or safety route.
Canonical claim-reference specification

Sleep Myths vs Facts: fixed-claim search and evidence disclosure

Method ID: SM-CLAIM-CHECK-2.0 Status: Sleep Manager-created sourced claim-reference method; no score Reviewed: 24 August 2026

What the claim checker does

The page searches, filters, and opens ten fixed claim reviews. Each review separates a familiar claim from the partly true, missing, uncertain, or misleading pieces and publishes a practical correction, confidence, sources, evidence limit, and safety note where relevant. It does not accept a new claim, judge the visitor, produce a knowledge score, or answer a personal medical question.

Inputs and fixed content

Controls and fixed claim inventory used by the live page
Input or inventoryPublished valuesBehavior
Search textAny visitor-entered wordsNormalizes case and punctuation, then requires every entered word to appear somewhere in the claim's stored keywords or visible content
TopicAll claims, Food & drink, Timing & waking, Sleep need, Body & brainExact topic match when a topic is selected
Disclosure commandsOpen visible, close all, reset, one card, or a valid claim hashChanges only which fixed reviews are visible or open
Ten fixed claimsNightcap, weekend catch-up, eight hours, snoring, cheese/nightmares, snooze, brain “off,” early-bird productivity, five-hour training, and nap/lazinessNo visitor claim is generated, submitted, scored, or stored
Evidence records17 claim-specific source linksEach claim shows confidence, review date, and what its evidence does not establish

Exact search, topic, and disclosure rules

words = normalize(search).split(" ") visible = topicMatch AND every(word is contained in normalized keywords + visible claim text)
  1. Convert text to lowercase, replace non-alphanumeric characters with spaces, collapse repeated spaces, and trim.
  2. If words remain, require every word to appear somewhere in the normalized claim record. Word order does not matter.
  3. Apply the selected topic as an additional AND condition and report the exact visible count out of ten.
  4. Open all affects only currently visible cards. Close all closes every card. Reset clears search and returns to All claims.
  5. A valid #claim-... hash resets search/topic, opens the matching fixed claim, and scrolls to it. An invalid hash adds nothing.
  6. No progress percentage, completion reward, answer score, or correct/incorrect label is calculated.

Verdict and topic inventory

Current fixed group counts and verdict language
GroupCount or valuesMeaning
Topic countsFood & drink 2; Timing & waking 4; Sleep need 2; Body & brain 2Scanning groups only; not evidence strength
Conditional verdictsMisleading, Depends, Too absolute, Limited evidence, Mixed evidence, Too broad, Not a science findingText is primary; color never carries the verdict alone
ConfidenceClaim-specific public labelConfidence in the broad correction, not certainty about a visitor

Worked fixtures

Expected live search, filter, and disclosure behavior
FixtureExpected resultBoundary checked
Search 8 hoursOne claim: “Eight hours is the magic number for everyone”Number and word normalization
Search sleep weekendWeekend catch-up claim even though word order differsAll-word, any-order matching
Topic = Timing & wakingFour visible claimsExact topic count
Open all with no filterAll ten native disclosures openVisible-set command
Search with no matching wordsZero shown, claim list hidden, and a reset route visibleNo generated answer
Valid claim hashReset filters, open the claim, then scroll to itCanonical direct arrival

Evidence, privacy, and telemetry contract

  • Each review names one or two directly relevant primary studies, systematic reviews, consensus statements, or public-health sources. Source coverage supports the correction stated, not every possible version of the claim.
  • “Reviewed” is the date Sleep Manager checked wording and links. It does not mean a clinician reviewed the visitor's sleep.
  • Search, topic, and opened-card state remain in page memory only. No account, local storage, session storage, remote claim lookup, or custom claim analytics is used.
  • Page sharing uses the canonical URL. A copied claim link adds only its published claim hash and never search/topic state.
  • The claim page sends no custom interaction event containing claim text, search words, topic, opened-card state, or completion progress.
  • The ten explanations are educational. Repeated breathing pauses, sudden sleep attacks, severe ongoing difficulty, or unsafe sleepiness need an appropriate professional or safety response.
Public method control

How versions and code parity are kept honest

Code-to-page parity check

  1. Identify the live inputs, accepted values, defaults, constants, branches, ordering, and displayed output.
  2. Run the published normal, boundary, tie, zero, empty, and invalid-input fixtures that apply.
  3. Compare visible wording with the actual result so a limitation is not hidden behind technical detail.
  4. Check storage, sharing, URL state, and analytics payloads against the published privacy contract.
  5. Update the method ID when a result rule changes; update the review date for evidence or wording checks.

Correction route

Report a formula, timer, time-zone, answer-weight, route, count, source, privacy, accessibility, or code-parity issue through the Contact page. Include the tool, input used, result shown, browser, and expected result when possible.

A visible method record is not proof that the method is clinically validated. Status labels above distinguish evidence-informed content from Sleep Manager-created interface rules.

Methodology change log

Material public methodology changes
DateVersion or scopeChange
10 Sep 2026Analytics contract across M05-M12Replaced result-bearing and duplicate event descriptions with the consent-controlled Phase 11 allowlist. Tool inputs, answers, exact times, scores, searches, concerns, partner responses, and result values are excluded.
8 Sep 2026SM-GAP-1.0 and SM-CAF-1.0Corrected the Sleep-hour Gap index summary to match the live subtraction direction and documented the caffeine storage and sharing behavior then in place.
24 Aug 2026Complete M01-M12 registerAdded the task-led method index, full Glossary and Claim Checker methods, reference-page two-way links, parity process, and responsive full-width reading layout.
24 Aug 2026SM-COMPAT-2.0 and SM-BEDROOM-2.0Published exact-answer partner comparison and equal-count bedroom checklist rules after retiring percentage and grade framing.
23 Aug 2026SM-CHRONO-2.0 and SM-JET-2.0Published the mixed-result boundary, retained weights, date-aware offsets, direction rules, and worked fixtures.
22-23 Aug 2026M01-M04, SM-CAF-1.0, SM-ROUTE-1.0Published homepage utility behavior, caffeine assumptions, and the fixed problem-route lookup with current limits and telemetry disclosure.