Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
翻訳待ち
The family assistant you text. It watches GTA registration day — swim, camps, after-school care — preps everything the night before, and nudges you the minute a window opens. Nothing sent without your
翻訳待ち
暮らしTypeScript · JavaScriptGitHub @villagehaleオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Hale — the village your family lost. Passive multi-agent family AI.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Passive, event-driven, multi-agent household AI assistant for families, across every stage of childhood (0–18). Hale ingests a family's data streams (email, calendar, photos), classifies events, drafts actions in the family's voice, verifies them through an independent reviewer agent, and executes routine work autonomously. Parents receive a daily digest of work done on their behalf.
Status: Foundation scaffold. See docs/superpowers/specs/ for the design spec.Read the full README ↗Passive, event-driven, multi-agent household AI assistant for families, across every stage of childhood (0–18). Hale ingests a family's data streams (email, calendar, photos), classifies events, drafts actions in the family's voice, verifies them through an independent reviewer agent, and executes routine work autonomously. Parents receive a daily digest of work done on their behalf.
Status: Foundation scaffold. See docs/superpowers/specs/ for the design spec.
The web app and the worker package share a Postgres database. The worker package is library code the Vercel drain imports:
apps/web — Next.js 15 app (UI + thin API + webhook receivers) → deployed to Vercelapps/worker — Agent runtime + executors, imported by the Vercel /api/cron/drain function (yul1)Agent runtime is Claude Agent SDK with 5 specialized agents (Classifier, Drafter, Coach, Reviewer, Memory Inferencer) and 3 deterministic services (Orchestrator, Memory Writer, Executor).
hale/
├── apps/
│ ├── web/ Next.js app
│ └── worker/ Agent Worker service
├── packages/
│ ├── db/ Drizzle schema + migrations
│ ├── types/ Shared TypeScript types
│ ├── memory/ Family memory graph helpers
│ ├── compliance/ PIPEDA / Law 25 audit helpers
│ └── tools-contracts/ Tool I/O schemas (Zod)
├── docs/
│ ├── superpowers/specs/ Design docs
│ ├── architecture/ ADRs
│ └── compliance/ PIA documents
└── infra/ Deployment configs (Vercel, Supabase)
Requires Node.js 22 LTS and pnpm 9+.
pnpm install
cp .env.example .env.local # fill in secrets
pnpm db:migrate # run Drizzle migrations
pnpm db:check-migrations # exit non-zero if the journal has unapplied hashes
pnpm dev # runs the web app via Turbo
Built for Canadian launch. PIPEDA + Quebec Law 25 + CASL compliance from day one. Data residency in ca-central-1. See docs/compliance/ for full details.
Every family gets everything free (VIL-131); no plan tier gates anything. The Stripe seam stays for VIL-208: POST /api/webhooks/stripe verifies the signature and writes families.plan_tier plus the Stripe customer and subscription ids.
Sandbox first. The variables are in .env.example (STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, price ids, and the optional Payment Link id).
pnpm --filter @hale/web test -- \
lib/billing/stripe-client.test.ts \
lib/webhooks/stripe-billing.test.ts \
lib/webhooks/stripe-billing-apply.test.ts
No live Stripe call. The flag defaults off, so a normal inbound reply does not ask.
Proprietary. © 2026 Hale Lab.