• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
ashryanio

ashryanio

routineTrackerApp

Public
Like
4
routineTrackerApp
Home
Code
8
backend
2
frontend
2
shared
2
.vtignore
AGENTS.md
README.md
deno.json
H
main.tsx
Environment variables
2
Branches
1
Pull requests
Remixes
2
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
2/15/2026
Viewing readonly version of main branch: v106
View latest version
README.md

Routine Tracker

Single-user routine checklist app for after-school tasks, with optional task timers and a parent PIN gate.

Current architecture

  • main.tsx: HTTP entrypoint (export default app.fetch)
  • backend/index.ts: Hono app + routes + HTML bootstrap
  • backend/parentAuth.ts: server-side PIN verification + signed parent session cookie
  • frontend/index.html: app shell
  • frontend/index.tsx: React UI
  • shared/tasks.ts: routine task list
  • shared/types.ts: shared TypeScript contracts

Configure parent PIN (required for protected tasks)

Protected tasks require a 4-digit environment variable:

  • Env key: ROUTINE_PARENT_PIN
  • Value format: exactly 4 digits (example: 1234)

Optional hardening:

  • Set ROUTINE_PARENT_SESSION_SECRET to a long random string.
  • If not set, the app falls back to deriving session signing from ROUTINE_PARENT_PIN.

Edit routine items

Update routineTasks in shared/tasks.ts.

Example task entries:

Create val
{ name: "Do homework", timed: false } { name: "Brush teeth", timed: true, duration: 2 * 60 } { name: "Get parent check", timed: false, requiresParent: true }

API routes

  • GET /api/parent/status: parent lock status
  • POST /api/parent/verify: verify PIN and set HTTP-only session cookie
  • POST /api/parent/lock: clear parent session cookie
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.