A comprehensive member-managed governance and finance hub for multi-adult families and LLCs. Features voting portal, dividend tracking, document vault, and fair cost sharing with unit-based calculations.
- User Registration/Login: Secure password hashing with bcrypt
- Roles: Admin (full access), Member (standard), Youth (read-only)
- Session Management: Persistent sessions with role-based permissions
- Household Assignment: Users linked to specific households
- Proposal Creation: Title, description, multiple choice options
- Quorum Enforcement: Configurable percentage (e.g., 50%)
- Approval Thresholds: 51% for transfers, 75% for dissolution
- Auditable Vote Log: Who voted what, with timestamps
- Real-time Results: Live vote counting and status updates
- Member Profiles: Ownership percentage, contribution history
- Distribution Records: Per-member dividend breakdowns
- Reinvestment Tracking: Revested vs. distributed amounts
- Automatic Calculations: Based on ownership and contributions
- Historical Ledger: Complete dividend history
- Secure Storage: Upload/download governance documents
- Core Documents: Operating Agreement, Voting Guide, Dividend Policy
- Version Control: Track document changes over time
- Access Control: Role-based document permissions
- File Types: Support for PDF, DOCX, and other formats
- Fair Cost Sharing: Unit-based method with adult/child units
- Income Caps: Maximum percentage of income for contributions
- Care Work Compensation: Credit or stipend models
- Emergency Funds: Target-based planning
- Expense Tracking: Category-based expense logging
- Monthly Councils: Structured meeting agendas
- Decision Tracking: Log all governance decisions
- Large Purchase Policy: Threshold-based approvals
- Audit Trails: Complete history of all actions
- Node.js 18.0.0 or higher
- npm package manager
- SQLite (automatically handled)
-
Clone the repository
git clone https://github.com/VF-AdminOver/llc-governance-dashboard.git cd llc-governance-dashboard -
Install dependencies
npm install
-
Start the application
npm run dev
-
Access the app
- Desktop: Electron window opens automatically
- Web: Navigate to
http://localhost:3000
- Register: Create admin account first
- Create Household: Set up your LLC/family structure
- Add Members: Register all members with roles
- Configure Rules: Set quorum, thresholds, dividend policies
npm run start # Start backend server only
npm run electron # Start Electron app only
npm run dev # Start both concurrentlyThe app includes Docker support for easy containerized deployment.
# Build and run with Docker Compose
docker-compose up --build
# Run in background
docker-compose up -d --build
# Stop the container
docker-compose down# Build the image
docker build -t family-llc-dashboard .
# Run the container
docker run -p 3000:3000 -v $(pwd)/data:/app/data family-llc-dashboardThe app can be built into a native macOS application using Electron Builder.
npm run distThis creates .dmg and .zip files in the dist/ folder.
- Download the appropriate
.dmgfile from the Releases page - Open the
.dmgfile - Drag the app to your Applications folder
The built app is not code-signed (requires Apple Developer Program membership). To run it:
macOS 13 (Ventura) and later:
- Go to System Settings > Privacy & Security
- Scroll down and click "Open Anyway" next to the blocked app
- Confirm you want to open the app
Alternative:
# Right-click the app and select "Open"
# In the dialog, click "Open" againFor production use, the app would need proper code signing through Apple's Developer Program.
The Docker setup includes:
- Node.js 18 Alpine image
- Persistent SQLite database storage
- Automatic restart on failure
- Production environment configuration
- Register new users with username, password, and role
- Login to access the dashboard
- Roles determine feature access
- Create or join households
- Add members with ownership percentages
- Configure governance rules (quorum, thresholds)
- Create proposals with multiple options
- Members vote on active proposals
- Automatic quorum and threshold enforcement
- View voting history and results
- Track member ownership and contributions
- Create dividend distributions
- Monitor reinvestment history
- Generate reports
- Upload governance documents
- Organize by category
- Access control based on roles
- Download documents securely
- Unit-based cost sharing calculations
- Expense tracking and categorization
- Care work compensation
- Emergency fund planning
POST /api/register- Register new userPOST /api/login- User loginPOST /api/logout- User logoutGET /api/me- Get current user info
GET /api/households- Get user's householdsPOST /api/households- Create household (admin)GET /api/households/:id- Get household detailsPOST /api/households/:id/members- Add member (admin)
GET /api/proposals- Get proposalsPOST /api/proposals- Create proposalGET /api/proposals/:id- Get proposal detailsPOST /api/proposals/:id/vote- Cast vote
GET /api/dividends- Get dividendsPOST /api/dividends- Create dividend (admin)
GET /api/documents- List documentsPOST /api/documents- Upload document (admin)GET /api/documents/:id/download- Download document
GET /api/households/:id/expenses- Get expensesPOST /api/households/:id/expenses- Add expenseGET /api/households/:id/calculate- Calculate unit costs
- Name: Your household identifier
- Currency: Primary currency for all calculations
- Adults: 3-5 adult members with names and net incomes
- Children: Count and unit weight for cost sharing
- Income Cap: Maximum percentage of income for Core (5%-60%)
- Care Model: Choose between credit or stipend approach
- Care Rate: Hourly compensation for care work
- Vision Allocation: Percentage for long-term goals (0%-50%)
- Emergency Months: Target months of Core expenses
- Sinking Funds: JSON array of annual targets and accounts
- Quorum Requirements: For routine and major decisions
- Purchase Thresholds: Automatic approval levels
totalUnits = numberAdults Γ 1.0 + totalChildUnits
unitCost = coreTotal / totalUnits
prelimShare[i] = unitCost Γ (1.0 + assignedChildUnits[i])
capAmount[i] = capPercent Γ netIncome[i]
finalShare[i] = MIN(prelimShare[i], capAmount[i])
When caps create imbalances, the system automatically rebalances across uncapped adults proportionally until the difference from Core total is within $0.01.
- 3 adults, 4 children with childUnitWeight = 0.6
- Total units: 3 + (4 Γ 0.6) = 5.4
- Core total: $6,000
- Unit cost: $6,000 Γ· 5.4 = $1,111.11
- Each adult gets: 1.0 + 1.2 = 2.2 units
- Preliminary share: $1,111.11 Γ 2.2 = $2,444.44
- Set Core total for the month
- Assign child units (must balance to zero)
- Set optional overrides
- Run unit method with caps and rebalancing
- Apply care ledger (credits or stipends)
- Plan vision and buffer allocations
- Review all calculations and warnings
- Adjust parameters if needed
- Validate child unit assignments
- Lock period to prevent changes
- Generate council agenda
- Export all documents and data
- Care work hours Γ hourly rate = credit amount
- Credit reduces next month's Core contribution
- Example: 10 hours Γ $20/hour = $200 credit
- Care work hours Γ hourly rate = stipend payment
- Stipend paid from Core budget
- Increases next month's Core total
- Target:
emergencyMonths Γ monthlyCore - Status tracking: building, maintaining, fully funded
- Priority: Highest
- Priority 1: Emergency-related (medical, deductibles)
- Priority 2: Home and vehicle maintenance
- Priority 3: Other goals and expenses
- Calculated as
annualTarget Γ· 12 - Automatic prioritization
- Balance checking against vision allocation
- Duration: 60 minutes monthly
- Agenda: 7 structured sections
- Minutes: Template with action items
- Calendar: ICS file for scheduling
- Routine: Simple majority with routine quorum
- Major: Higher quorum requirements
- Large Purchases: Threshold-based approval
- Unanimous: Required for high-value items
- All listed adults are voting members
- Quorum requirements are configurable
- Decision logging with timestamps
- Charter Document: DOCX with styling
- Calculator Sheet: Excel with formulas
- Council Calendar: ICS file
- CSV Files: Decisions, amendments, minutes
- JSON Export: Complete household data
- Onboarding: Initial charter and calculator
- Monthly Close: All period documents
- On Demand: Current household configuration
- Node.js/Express: RESTful API server
- SQLite Database: Persistent data storage
- bcrypt: Secure password hashing
- express-session: Session management
- CORS: Cross-origin support
- HTML/CSS/JavaScript: Bootstrap responsive UI
- Electron: Cross-platform desktop app
- Fetch API: Client-server communication
- Real-time Updates: Dynamic content loading
- users: Authentication and roles
- households: Family/LLC configurations
- members: Household members with ownership
- proposals: Voting proposals and options
- votes: Auditable voting records
- dividends: Distribution records
- dividend_distributions: Per-member breakdowns
- documents: Secure file storage
- expenses: Financial tracking
- Password hashing with bcrypt
- Role-based access control
- Session-based authentication
- Input validation and sanitization
- File upload security
The system includes a built-in test case:
- 3 adults with incomes [$4,500, $3,200, $2,800]
- 4 children with childUnitWeight = 0.6
- Core total: $6,000
- Cap percent: 30%
- Total units: 5.4
- Unit cost: $1,111.11
- Preliminary shares: $2,444.44 each
- Cap amounts: [$1,350, $960, $840]
- Result: All adults capped, deficit warning
- Input validation with clear error messages
- Child unit balance checking
- Income and percentage range validation
- Required field enforcement
- Deficit after caps: When income caps prevent reaching Core total
- Rebalancing limits: Maximum iteration warnings
- Vision allocation: Insufficient funds for sinking funds
- Adjust Core total or reclassify items
- Temporarily increase cap percentage
- Set manual overrides
- Revise sinking fund targets
- Input sanitization and validation
- No external data transmission
- Local storage only (development)
- Secure headers with Helmet
- Admin: Full household management
- Adult: Income, care, voting access
- ReadOnly: Reports and documents only
PORT=3000
NODE_ENV=productionReplace in-memory storage with:
- PostgreSQL for relational data
- Redis for caching
- File storage for documents
- HTTPS enforcement
- Rate limiting
- Authentication system
- Audit logging
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/llc-governance-dashboard.git - Install dependencies:
npm install - Start development:
npm run dev
- ES6+ JavaScript with modules
- Consistent error handling
- RESTful API design
- SQLite for data persistence
- Role-based security
MIT License - see LICENSE file for details
- Login fails: Check username/password, ensure user is registered
- Permission denied: Verify your role has access to the feature
- Voting not working: Ensure proposal has quorum settings
- File upload fails: Check file size and format restrictions
- Check browser console for errors
- Verify API responses in Network tab
- Ensure database is properly initialized
- Check server logs for backend errors
- Routine decisions: 50% of members
- Major decisions: 75% supermajority
- Share transfers: 51% approval
- Dissolution: 75% supermajority
- Based on ownership percentages
- Reinvestment tracking
- Historical ledger maintenance
- Operating Agreement
- Voting System Guide
- Dividend Distribution Policy
- Youth Onboarding Plan
Built with β€οΈ for families and LLCs seeking transparent governance and fair financial management.