Lazy loaded image
独立开发

Family Organizer

字数 1264阅读时长 4 分钟
2026-6-13
2026-6-13

Family Organizer

** Open-source self-hosted family management — shared family calendar, chores, curriculum, messages, and finances, synced in real time** **A privacy-first, self-hosted alternative to Cozi**

Don't want to self-host? Also check out Nestify Family Organizer

Nestify Family Organizer — AI-powered · Voice input · Meal planning · No setup required
App Store
Google Play
</div>

✨ What Is This

Family Organizer is an open-source family management web + mobile app designed for shared devices. Each family member logs in with a PIN. Chore completions, curriculum progress, messages, and allowance balances stay in sync across all devices in real time. Parent and child permissions are fully separated, and every action is attributed to whoever was logged in.
Built from real family needs. Best suited for households that want full data ownership and are comfortable with self-hosting.

Family Organizer vs. Nestify

<img src="public/icon-192x192.png" height="20"/> Family Organizer
(screenshots coming soon)
Deployment
Self-hosted, requires a server
No setup, works out of the box
AI assistant
✅ Nestie AI
Mobile app
Build from source (Expo)
App Store / Google Play
Meal planning
Data ownership
Fully yours
E2E encrypted, cloud-hosted

🎯 Features

📋 Chore Management

  • rrule recurrence — daily, weekly, or monthly schedules with start/end dates and pause support
  • Member rotation — automatically assigns chores to different members on a cycle
  • Up-for-grabs rewards — set a fixed reward; whoever completes it earns it
  • Completion tracking — records which logged-in member marked each chore, useful on shared devices

📚 Task Series (great for homeschooling)

  • Rolling queue — tasks advance based on completion, not calendar date
  • Nested subtasks + day breaks — multi-level structure and multi-day session scheduling
  • Response fields + grading — students submit answers; parents annotate and grade
  • File attachments — attach images, PDFs, audio, or video to any task

📅 Calendar

  • Dual calendar system — Gregorian and Bikram Samvat (Nepali) side by side
  • Multiple views — day, multi-day, month, and year (year view still shows individual events)
  • Apple Calendar sync — one-way CalDAV import from iCloud; server-side polling, no browser required
  • Chore overlay — see chore assignments directly on the calendar

💬 Family Messages

  • Thread-based — conversations organized by topic, not a single running stream
  • Read receipts — mark messages as requiring acknowledgement
  • Attachments — share images and files directly in conversation
  • Parental oversight — parents can view all household threads

💰 Finances

  • Envelope budgeting — multiple envelopes per member (with optional savings goals), multi-currency support
  • Allowance distribution — weighted chore completion automatically calculates payouts
  • Fixed rewards — up-for-grabs completions deposit directly to the earner's envelope
  • Full transaction history — deposits, withdrawals, transfers, and recurring allowances

🗂️ File Storage

  • Centralized storage — S3/MinIO object storage; images auto-resized to 64/320/1200px via Sharp
  • Attachment system — messages and tasks can reference any file in the library

📊 Dashboard & History

  • Family + personal views — web has both a family overview and per-member widget dashboard; mobile shows a daily summary
  • Audit log — full history of chore, task, and finance changes across the app

📸 Screenshots

🚧 Screenshots coming soon — PRs welcome!
<!-- To add screenshots, place images in docs/screenshots/ and uncomment below.
<p align="center"> <img src="docs/screenshots/dashboard.png" width="48%" alt="Dashboard" /> <img src="docs/screenshots/chores.png" width="48%" alt="Chores" /> </p> <p align="center"> <img src="docs/screenshots/calendar.png" width="48%" alt="Calendar" /> <img src="docs/screenshots/finance.png" width="48%" alt="Finance" /> </p> -->

📱 Platform Support

Platform
Status
Notes
Web (Next.js)
✅ Full
Installable as PWA
iOS / Android (Expo)
✅ Core features
Chores, calendar, messages, finance, and more
Offline support
🚧 Partial
Basic functionality works; full offline not yet complete

🚀 Quick Start

Prerequisites

  • Node.js 20+
  • S3-compatible object storage (MinIO is included in the Docker Compose setup)

1. Clone & install

2. Configure environment variables

Fill in the required values in .env:
Variable
Description
NEXT_PUBLIC_INSTANT_APP_ID
InstantDB app ID (client)
INSTANT_APP_ADMIN_TOKEN
InstantDB admin token
DEVICE_ACCESS_KEY
Shared secret for device activation (any string you choose)
NEXT_PUBLIC_S3_ENDPOINT
MinIO/S3 public endpoint
S3_ENDPOINT
MinIO/S3 internal server endpoint
S3_BUCKET_NAME
Storage bucket name
S3_ACCESS_KEY_ID
S3 access key ID
S3_SECRET_ACCESS_KEY
S3 secret access key
INSTANT_APP_ID (server-side) usually matches NEXT_PUBLIC_INSTANT_APP_ID. Apple Calendar sync variables are documented in .env.example.

3. Push InstantDB schema

4. Start the dev server

5. Activate your device

After the server starts, open:
This sets the device auth cookie and redirects to the main dashboard.

🐳 Docker / Self-Hosting

docker-compose.yml includes:
  • Next.js app
  • MinIO object storage
  • Bucket bootstrap
  • Apple Calendar sync worker
<details> <summary>HTTPS reverse proxy config (linuxserver.io SWAG)</summary>
Add these two files to swag/config/nginx/proxy-conf/:
family-organizer.subdomain.conf
s3.subdomain.conf
</details>

📅 Apple Calendar Sync

One-way CalDAV import from Apple Calendar into Family Organizer. Server-side polling — no browser or phone needs to stay open.
<details> <summary>Setup instructions</summary>

Required environment variables

Optional tuning:

Steps

  1. Create an app-specific password for Family Organizer in your Apple account settings (requires 2FA)
  1. Log in as a parent and go to Settings → Apple Calendar Sync
  1. Enter your Apple ID email and app-specific password, then click Connect
  1. Select the calendars to import and save
  1. Click Sync now to trigger the first import

Sync endpoint

Trigger every 15–30 seconds. The server uses adaptive backoff — frequent ticks during active changes, automatic slowdown when idle. The Docker Compose setup includes a worker that handles this automatically.
</details>

🛠 Stack

Layer
Technology
Web framework
Next.js 16 + React 18 + TypeScript
Mobile
Expo / React Native
Database & realtime
InstantDB (client SDK + Admin SDK)
File storage
MinIO / S3-compatible + Sharp image processing
Rich text
TipTap 3
UI components
Radix UI + Tailwind CSS
Drag and drop
Atlaskit Pragmatic DnD
Calendar
rrule + nepali-date-converter
Testing
Vitest + Playwright
Monorepo
npm workspaces

🧪 Testing


📐 Project Structure


🤝 Contributing

Issues and PRs are welcome. This is a personal project — iteration pace follows real family needs, but good contributions get a careful look.

📄 License

Licensed under the Apache License 2.0.
This project is a fork of fivestones/family-organizer, originally created by David Thomas and released under the MIT License. The full MIT license text is preserved in LICENSE.
上一篇
出海踩坑实录: 成功的经验千篇一律,没人讲的踩坑更能撼动人心(1)
下一篇
拒绝内容垃圾:为什么 AI 时代的 SEO 内容营销正在失效?