TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
LifeBuild helps you design, track, and achieve the life you want to live. Take back control of your time, energy, and priorities.
ProductivityTypeScript · ShellGitHub @sociotechnica-orgOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A visual life management system. Map your personal life, see all your projects in one place, prioritize ruthlessly, and delegate the operational stuff to AI workers who actually do things.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
LifeBuild is a visual life management system. You map your personal life across eight domains, see all your projects in one place, prioritize ruthlessly, and delegate the operational stuff to AI workers who actually do things.
The premise: your personal life deserves the same strategic clarity you bring to your best professional work.
Read some of the thinking behind the technical foundations underpinning LifeBuild.Read the full README ↗LifeBuild is a visual life management system. You map your personal life across eight domains, see all your projects in one place, prioritize ruthlessly, and delegate the operational stuff to AI workers who actually do things.
The premise: your personal life deserves the same strategic clarity you bring to your best professional work.
Read some of the thinking behind the technical foundations underpinning LifeBuild.
Check out our development plans to see what we're working on and where we're headed. I've been using AI to build this as well, and the plans are an interesting artifact of that process.
We track work using GitHub Issues and the SocioTechnica Project Board.
Create a new GitHub Issue in the lifebuild repo with:
Project: [Name]See CLAUDE.md for CLI commands and detailed workflows.
This project is organized as a pnpm workspace with the following packages:
packages/web - React frontend applicationpackages/worker - Cloudflare Worker backend for WebSocket syncpackages/server - Node.js server for LLM processingpackages/auth-worker - JWT authentication servicepackages/shared - Shared schemas and utilitiesInstall dependencies:
pnpm install
Set up environment variables: Copy the environment files:
cp packages/web/.env.example packages/web/.env
cp packages/worker/.dev.vars.example packages/worker/.dev.vars
cp packages/auth-worker/.dev.vars.example packages/auth-worker/.dev.vars
cp packages/server/.env.example packages/server/.env
Update the environment files with your specific values:
packages/web/.env - Frontend configurationpackages/worker/.dev.vars - Main worker with Braintrust API credentialspackages/auth-worker/.dev.vars - Authentication servicepackages/server/.env - Server configurationUpdate packages/worker/.dev.vars with:
ENVIRONMENT=development
REQUIRE_AUTH=false
JWT_SECRET=dev-jwt-secret-change-me-in-production
GRACE_PERIOD_SECONDS=86400
SERVER_BYPASS_TOKEN=dev-server-bypass-token-change-me
BRAINTRUST_API_KEY="your-braintrust-api-key-here"
BRAINTRUST_PROJECT_ID="your-braintrust-project-id-here"
Update packages/auth-worker/.dev.vars with:
ENVIRONMENT=development
JWT_SECRET=dev-jwt-secret-change-me-in-production
(Get Braintrust credentials from https://www.braintrust.dev/)
Run the development server: This will start the Vite frontend and Cloudflare Worker concurrently.
pnpm dev
To run on a custom port:
PORT=3000 VITE_LIVESTORE_SYNC_URL='http://localhost:8787' pnpm dev
LifeBuild uses a separated deployment architecture with three services:
app.lifebuild.mesync.lifebuild.meauth.lifebuild.meAll services are automatically deployed upon every push to the main branch using GitHub Actions:
To deploy individual services manually (requires wrangler authentication):
# Deploy all services
pnpm --filter @lifebuild/auth-worker run deploy # Auth service
pnpm --filter @lifebuild/worker run deploy # Sync server
pnpm --filter @lifebuild/web run deploy # Frontend to Pages
# Or deploy specific service
pnpm --filter @lifebuild/web run deploy # Just the web app
Before the first deployment, you need to create the production D1 database and configure its ID.
Run the following command to create the database on Cloudflare:
pnpm --filter @lifebuild/worker wrangler d1 create lifebuild-prod
Copy the database_id from the command's output.
Open packages/worker/wrangler.jsonc and paste the copied ID into the database_id field within the d1_databases section.
A pre-push hook (via Husky) runs pnpm format:check before every push. If any files aren't formatted, the push is blocked. Run pnpm lint-all to fix formatting, then push again.
To skip the hook when needed:
git push --no-verify
# Development
pnpm dev # Start all services (web + worker + server)
pnpm dev:web # Start only frontend
pnpm dev:worker # Start only sync worker
pnpm dev:server # Start only Node.js server
pnpm dev:auth # Start only auth service
# Quality Checks (all packages)
pnpm lint-all # Run linting, formatting, and type checking
pnpm typecheck # Type check all packages
pnpm lint:fix # Auto-fix linting issues
pnpm format # Format code
# Testing
pnpm test # Run unit tests (web + auth)
pnpm test:watch # Run tests in watch mode
pnpm test:e2e # Run E2E tests
pnpm test:e2e:ui # Run E2E tests with UI
pnpm test:integration:auth # Run auth service integration tests
# Building & Deployment
pnpm build # Build all packages
pnpm deploy:worker # Deploy sync worker to Cloudflare
pnpm deploy:auth # Deploy auth service to Cloudflare
All packages support a consistent set of scripts where applicable:
# Quality checks (available in packages with source code)
pnpm --filter <package> lint-all # Complete quality check
pnpm --filter <package> typecheck # TypeScript type checking
pnpm --filter <package> lint # Run linter
pnpm --filter <package> lint:fix # Auto-fix linting issues
pnpm --filter <package> format # Format code
# Testing (available in packages with tests)
pnpm --filter <package> test # Run tests once
pnpm --filter <package> test:watch # Run tests in watch mode
# Development
pnpm --filter <package> dev # Start development server
pnpm --filter <package> build # Build for production
Each package follows consistent naming conventions:
| Script | Purpose | Available In |
|---|---|---|
dev | Development server | web, worker, server, auth-worker |
build | Production build | web, server |
test | Run tests once | web, auth-worker |
test:watch | Watch mode tests | web, auth-worker |
lint-all | All quality checks | All packages |
typecheck | TypeScript checking | All packages |
lint | Linting only | web, server |
lint:fix | Auto-fix linting | web, server |
format | Code formatting | web, server |
PORT environment variableThe project includes a comprehensive testing setup:
pnpm test # Run all tests
pnpm test:watch # Run tests in watch mode
pnpm test:coverage # Generate coverage report
pnpm storybook # Start Storybook dev server (port 6010)
pnpm build-storybook # Build static Storybook
pnpm test:storybook # Run Storybook tests
LifeBuild is built with a modern monorepo architecture featuring real-time collaboration and AI integration.
📖 For detailed technical architecture, see docs/architecture.md