the family router
Demo household, made-up data. Controls here do not change anything. This is the real Genkan dashboard running against a fake family, so nobody's network is behind it. About Genkan

‹ Home · Family

Piper 14 · standard tier

Off at 09:30 pm, back at 07:00 am
28 of 190 min left today
Metered today
Gaming25 min / 1h 30m
Video44 min / 1h
Social39 min / 45 min

Today: 2h 42m online, 12 min earned by learning, nothing blocked, bedtime at 09:30 pm tonight.

This week: 5h 49m earned by learning, 4 quizzes passed, 623 lookups, 24 blocked. Minutes come from the meter; a lookup is a name a device asked for, not time.

Today and the fortnight

Today, hour by hour

Lookups per hour up to 14:34, by kind. A lookup is a name a device asked for: a sign of activity, not minutes.

No lookups from Piper's devices yet today.

Learning is shown on the earned colour: schoolwork, education and reading-list domains. Grey is everything else, messaging and music included.

Show today's hours
HourLearningGamingVideoSocialOtherTotal

This week against last, day by day

Lookups per day by kind, the last seven days on the right and the seven before on the left.

180120600Fri 21 Aug: 98 lookupsSat 22 Aug: 102 lookupsSun 23 Aug: 105 lookupsMon 24 Aug: 104 lookupsTue 25 Aug: 102 lookupsWed 26 Aug: 92 lookupsThu 27 Aug: 114 lookupsFri 28 Aug: 97 lookupsSat 29 Aug: 100 lookupsSun 30 Aug: 103 lookupsMon 31 Aug: 84 lookupsTue 1 Sep: 100 lookupsWed 2 Sep: 139 lookupsThu 3 Sep: 0 lookupsFrWeMoTh
Show the fortnight
DayLearningGamingVideoSocialOtherBlockedTotal
Fri 21 Aug1322299251298
Sat 22 Aug11303112189102
Sun 23 Aug151935171913105
Mon 24 Aug12233514208104
Tue 25 Aug1322398209102
Wed 26 Aug1311361220792
Thu 27 Aug152034153013114
Fri 28 Aug819331621397
Sat 29 Aug72735181311100
Sun 30 Aug14243111237103
Mon 31 Aug191130816584
Tue 1 Sep11204012178100
Wed 2 Sep142947212819139
Thu 3 Sep0000000

Minutes the meter counted

Gaming, video and social minutes per day, from the meter. This is the only minutes figure on the page.

4h3h2h1h0Fri 21 Aug: 2hSat 22 Aug: 3h 38mSun 23 Aug: 3h 17mMon 24 Aug: 1h 51mTue 25 Aug: 2h 2mWed 26 Aug: 2h 5mThu 27 Aug: 1h 41mFri 28 Aug: 1h 45mSat 29 Aug: 3h 28mSun 30 Aug: 3h 19mMon 31 Aug: 1h 51mTue 1 Sep: 1h 50mWed 2 Sep: 1h 37mThu 3 Sep: 1h 48mFrWeMoTh
Show the minutes
DayGamingVideoSocialOnline (ledger)
Fri 21 Aug404139164
Sat 22 Aug788456245
Sun 23 Aug707354225
Mon 24 Aug363342151
Tue 25 Aug514427164
Wed 26 Aug463544154
Thu 27 Aug403130169
Fri 28 Aug423231139
Sat 29 Aug658063206
Sun 30 Aug667063209
Mon 31 Aug393834162
Tue 1 Sep324533143
Wed 2 Sep383227162
Thu 3 Sep254439162

Which services

Lookups per named service over the last 7 days. Coloured when the service is in a metered category; grey means it is never counted against a budget.

YouTube: 171 lookups · 2h 58m📺 YouTube171 lookupsRoblox: 99 lookups · 2h 18m🧱 Roblox99 lookupsSpotify: 64 lookups · 5h 15m🎧 Spotify64 lookupsInstagram: 58 lookups · 1h 51m📸 Instagram58 lookupsNetflix: 43 lookups · 1h 15m🎬 Netflix43 lookupsSnapchat: 29 lookups · 2h 13m👻 Snapchat29 lookupsKhan Academy: 21 lookups · 5h 46m📚 Khan Academy21 lookupsFortnite: 19 lookups · 57 min🔫 Fortnite19 lookups
Show the numbers
ServiceCategoryLookupsBlocked
YouTubevideo1710
Robloxgaming990
Spotifyaudio640
Instagramsocial583
Netflixvideo430
Snapchatsocial290
Khan Academyschoolwork210
Fortnitegaming190

What changed

The last seven days against the seven before, by rules that are written down, not by a model. Each line says what it measured.

Earned 5h 49m by learning this week, up 36% on last week's 4h 17m.measured from: quiz and chore minutes, time_events
Opened a study page 66 times before quizzing. That is the reading the quizzes are meant to pay for.measured from: quiz_study_visits
8 blocked risky lookups this week (VPN, Tor, adult, gambling). Usually curiosity; worth one question.measured from: blocked lookups, dns_log
The laptop is mostly video (33%), the phone is mostly video (37%).measured from: share of each device's lookups, last 7 days
3 badges earned in the last fortnight.measured from: child_badges

This week and the goal

Week of Mon 31 Aug, day 4 of 7: 10h 29m online, 7h 6m metered, 3h 3m earned. The whole family's week.

Gamingno more than 5h a week 2h 14m
2h 46m left day 4 of 7
Quiz minutesat least 2h a week 1h 48m
On track day 4 of 7
New goal hours of

Suggested rewards

Suggested by the numbers above, given only when you press the button, and every button shows exactly what it will do first.

A bonus of 20 minutes

Earned 5h 49m by learning this week, up from 4h 17m.

Adds 20 minutes to today's allowance (two passes' worth at 10 a pass) and reopens the internet only if Piper was out of time. Nothing else changes.
genkan bonus Piper 20 insights:learning-up

A bonus is priced in passes: 10 minutes a pass at this house's rate. The rules: learning up and habits down earns three passes; learning up alone earns two; five passes in a week earns more of a capped category; a bedtime kept all week earns a later one tonight; chores plus nothing risky earns an evening off them. Badges are not on this list: a badge is earned against Piper's own history, never handed out.

Summary written by an AI

Off. Everything above was worked out in the house with no AI. If you turn this on, a small worker sends one day's brief of the numbers above to Claude (Anthropic's API) each morning and stores the note it writes back: what went well, what to talk about, whether a reward is deserved. On Mondays it writes the week from those seven notes. It is the only thing on this dashboard that would ever leave the house.

A day's brief is about 768 tokens (the cap is 1,500). With the instructions and the reply that is roughly 0.3 cents per child per day at claude-haiku-4-5-20251001, about 9 cents a month.

What would leave the house (the exact brief for 2026-09-03, nothing else)
{
 "what_this_is": "Aggregated counts about one child's home internet use, computed on the family's own box. The child is not named. A lookup is a DNS lookup: a proxy for activity, never minutes.",
 "period": "day",
 "ending": "2026-09-03",
 "child": {
  "age": 14,
  "filter_level": "standard"
 },
 "this_period": {
  "minutes": {
   "gaming": 25,
   "video": 44,
   "social": 39,
   "online": 162
  },
  "learning": {
   "minutes_earned_by_quizzes": 12,
   "minutes_earned_by_chores": 0,
   "quiz_rounds": 0,
   "quiz_rounds_passed": 0,
   "study_page_visits": 64
  },
  "lookups_by_kind": {},
  "lookups_total": 0,
  "blocked_by_kind": {},
  "blocked_total": 0
 },
 "previous_period": {
  "minutes": {
   "gaming": 38,
   "video": 32,
   "social": 27,
   "online": 162
  },
  "learning": {
   "minutes_earned_by_quizzes": 27,
   "minutes_earned_by_chores": 75,
   "quiz_rounds": 1,
   "quiz_rounds_passed": 0,
   "study_page_visits": 0
  },
  "lookups_by_kind": {
   "learning": 14,
   "gaming": 29,
   "video": 47,
   "social": 21,
   "audio": 15,
   "other": 13
  },
  "lookups_total": 139,
  "blocked_by_kind": {
   "learning": 5,
   "gaming": 3,
   "ads": 11
  },
  "blocked_total": 19
 },
 "late_lookups_after_9pm_by_kind_last_7_days": {
  "learning": 14,
  "gaming": 21,
  "video": 34,
  "social": 11,
  "audio": 9,
  "other": 8
 },
 "bedtime": {
  "scheduled_nights": 0,
  "ran_as_scheduled": 0,
  "lifted_by_parent": 0,
  "extensions_granted": 0,
  "lookups_during_bedtime_hours": 48,
  "note": "lookups during bedtime hours include background apps on a phone by the bed"
 },
 "devices": [
  {
   "kind": "laptop",
   "lookups": 323,
   "mostly": "video",
   "share_percent": 33,
   "learning_share_percent": 13,
   "after_9pm": 47,
   "during_bedtime_hours": 0
  },
  {
   "kind": "phone",
   "lookups": 300,
   "mostly": "video",
   "share_percent": 37,
   "learning_share_percent": 10,
   "after_9pm": 50,
   "during_bedtime_hours": 0
  }
 ],
 "top_domains_by_kind_last_7_days": {
  "video": [
   [
    "youtube.com",
    63
   ],
   [
    "googlevideo.com",
    54
   ],
   [
    "ytimg.com",
    36
   ]
  ],
  "gaming": [
   [
    "roblox.com",
    45
   ],
   [
    "rbxcdn.com",
    42
   ],
   [
    "epicgames.com",
    17
   ]
  ],
  "audio": [
   [
    "scdn.co",
    30
   ],
   [
    "spotify.com",
    23
   ],
   [
    "rnz.co.nz",
    4
   ]
  ],
  "social": [
   [
    "instagram.com",
    29
   ],
   [
    "snapchat.com",
    26
   ],
   [
    "cdninstagram.com",
    22
   ]
  ],
  "other": [
   [
    "gstatic.com",
    23
   ],
   [
    "googleapis.com",
    19
   ],
   [
    "cloudflare.com",
    11
   ]
  ],
  "learning": [
   [
    "khanacademy.org",
    20
   ],
   [
    "wikipedia.org",
    19
   ],
   [
    "docs.google.com",
    18
   ]
  ]
 },
 "badges_earned_last_14_days": 3,
 "findings_computed_in_the_house": [
  "Earned 5h 49m by learning this week, up 36% on last week's 4h 17m.",
  "Opened a study page 66 times before quizzing. That is the reading the quizzes are meant to pay for.",
  "8 blocked risky lookups this week (VPN, Tor, adult, gambling). Usually curiosity; worth one question.",
  "The laptop is mostly video (33%), the phone is mostly video (37%).",
  "3 badges earned in the last fortnight."
 ],
 "rewards_suggested_by_the_house_rules": [
  "A bonus of 20 minutes: Earned 5h 49m by learning this week, up from 4h 17m."
 ]
}

Sent to api.anthropic.com over HTTPS with the key from secrets.env, only when a summary is written. The reply is stored in kid_summaries next to this brief and never re-sent. Piper's name is not in it; it is put back when the page renders. A weekly note is written from the seven daily notes, so no count is sent twice.

Nothing has left the house. PRIVACY-CHARTER.md P1 records this card as the one opt-in exception, and says exactly what it sends.

Piper's devices (2)

Piper's laptop laptop mostly video, 33% 47 after 9pm
323 lookups in the last 7 days: learning 13%, gaming 20%, video 33%, social 14%, everything else 20% · Lenovo · 192.168.60.22 · 02:00:00:11:01:02
Piper's phone phone mostly video, 37% 50 after 9pm
300 lookups in the last 7 days: learning 10%, gaming 22%, video 37%, social 14%, everything else 17% · Samsung · 192.168.60.21 · 02:00:00:11:01:01

Shares are of lookups, not time. The learning share is schoolwork, education and reading-list domains.

Worth a chat

infoproxy-vpn · nordvpn.com · Looked up a VPN download. Usually curiosity, occasionally a way round the filter. Worth asking.12 h ago
Already talked about (1)
warntor · torproject.org · Read the Tor project site. Talked about it, she was researching a school topic on privacy.2 d ago

A flag is a prompt for a question, never a verdict, and a self-harm flag is a care signal that is never a discipline matter.

Quizzes passed

The last 25 quizzes passed
WhenTopicMinutes
Thu, 3 Sept, 07:07 pmnz-geography12
Wed, 2 Sept, 06:45 pmscience-basics15
Wed, 2 Sept, 05:37 pmnz-geography12
Tue, 1 Sept, 06:41 pmscience-basics15
Tue, 1 Sept, 04:26 pmnz-geography12
Mon, 31 Aug, 07:19 pmnz-geography12
Mon, 31 Aug, 05:55 pmnz-y9-10-science15
Mon, 31 Aug, 05:40 pmscience-basics15
Sun, 30 Aug, 06:10 pmscience-basics15
Sun, 30 Aug, 04:31 pmnz-geography12
Sat, 29 Aug, 07:04 pmscience-basics15
Sat, 29 Aug, 06:44 pmnz-geography12
Sat, 29 Aug, 05:41 pmnz-y9-10-english10
Fri, 28 Aug, 05:23 pmnz-geography12
Fri, 28 Aug, 05:20 pmscience-basics15
Thu, 27 Aug, 06:31 pmscience-basics15
Thu, 27 Aug, 04:29 pmnz-geography12
Wed, 26 Aug, 07:04 pmscience-basics15
Wed, 26 Aug, 06:55 pmnz-geography12
Wed, 26 Aug, 05:48 pmnz-y9-10-science10
Tue, 25 Aug, 06:09 pmnz-geography12
Tue, 25 Aug, 04:20 pmscience-basics15
Sun, 23 Aug, 05:49 pmscience-basics15
Sun, 23 Aug, 05:49 pmnz-geography12
Sat, 22 Aug, 05:58 pmnz-geography12

Quizzes credit minutes straight away, with a daily cap and a cooldown per topic, so nobody can farm the same quiz all afternoon.

Recent actions

Piper → onmanual · 3/09/2026, 12:48:52 am
Piper → offschedule · 2/09/2026, 10:48:52 pm
Piper → onmanual · 29/08/2026, 3:48:52 am

How these numbers are measured

Lookups are not bytes and not minutes.
The gateway is the DNS server, so it sees which names a device asked for. HTTPS hides everything after that. A lookup count is a proxy for activity, nothing more.
Minutes come from the meter, not from DNS.
A minute is counted when a device moves more than a small amount of traffic to a category's addresses in that minute, so a backgrounded app does not quietly rack up time. It is about right, not perfect.
Bytes, where shown, are measured.
Byte figures come from nftables counters on the addresses a service resolved to. They are never derived from lookups.
Shorts and full YouTube cannot be told apart.
They share domains, so both count as video. YouTube Music counts as video too.
A VPN makes all of this blind.
It hides destination addresses, so categorisation and metering both fail. That is a conversation, not a chart.
8% of DNS lookups are not attributed to anyone.
Those came from a device that is not yet assigned to a person. Name it on the Devices tab and it starts counting.

Days follow the gateway's clock. Genkan logs domains, never content: it is a family conversation aid, not a surveillance console.