The .nav-badge base styles (background, size, color) were defined in tasks.css, which is dynamically unloaded when navigating away from /tasks. This caused the overdue badge in the nav to become invisible on every other page, even though the badge element remained in the DOM. Also refactors subtask checkbox icon to use a CSS class instead of inline styles. Resolves #56 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Oikos
Self-hosted family planner for small households
Tasks · Shopping Lists · Meal Planning · Calendar Sync · Budget · Notes · Contacts
|
|
|
Toggle GitHub light/dark mode to see both themes.
Highlights
Task Management: Shared tasks with deadlines, priorities, subtasks, recurring schedules, Kanban view with one-tap status buttons for touch devices
Shopping Lists: Collaborative lists with aisle categories and one-click import from meal plans
Meal Planning: Weekly drag-and-drop planner with ingredient lists and shopping export
Calendar Sync: Two-way sync with Google Calendar (OAuth) and Apple iCloud (CalDAV)
Budget Tracking: Income and expenses, recurring entries, configurable currency (15 currencies), monthly trends, CSV export
Notes & Contacts: Colored sticky notes with Markdown, contact directory with vCard import/export
Zero Build Step: Pure ES modules, no bundler, no transpiler, no framework. Ships what you write.
Privacy First: SQLCipher AES-256 encrypted database, fully self-hosted, zero telemetry
Liquid Glass UI: Translucent surfaces with backdrop blur, module-tinted glass overlays, spring animations - inspired by Apple's Liquid Glass, built in pure CSS
PWA Native Feel: Installable on any device, works offline, dark mode, responsive from phone to desktop
Multilingual: German, English, Spanish, French, Italian, Swedish, Greek, Russian, Turkish, Chinese, Japanese, Arabic, Hindi, and Portuguese UI with automatic locale detection
Quick Start
Option A — pre-built image (fastest, no clone required):
curl -O https://raw.githubusercontent.com/ulsklyc/oikos/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/ulsklyc/oikos/main/.env.example
cp .env.example .env # edit .env — set SESSION_SECRET and DB_ENCRYPTION_KEY
docker compose up -d
docker compose exec oikos node setup.js
Option B — build from source:
git clone https://github.com/ulsklyc/oikos.git && cd oikos
cp .env.example .env # edit .env — set SESSION_SECRET and DB_ENCRYPTION_KEY
docker compose up -d --build
docker compose exec oikos node setup.js
Then open http://localhost:3000 and log in with the admin credentials you set in the previous step. Add family members from Settings.
New to Docker? The Installation Guide walks you through every step: From installing Docker to HTTPS setup, backups, and troubleshooting.
Tech Stack
Documentation
| Installation | Spec & Data Model | Contributing | Security | Changelog | Backlog |
|---|


