← Back to Projects

Operations Portal

Company governance and document management

Development

What Operations Portal Does

The Operations Portal is BENED's internal command center — the place where the LLC and nonprofit sides of the business manage finances, governance docs, and company operations. If you're not a BENED employee or board member, you won't see this app.

The core purpose: Keep the LLC (profit-seeking) and nonprofit (educational mission) completely separate. Different bank accounts, different books, different decision-making bodies — all managed through one portal with strict access controls.

Why This Exists

Running a hybrid LLC + nonprofit is legally complex:

Before this portal, we were tracking finances in Google Sheets and storing governance docs in Dropbox folders. It was a disaster waiting to happen (and it did — we nearly missed a nonprofit filing deadline in 2024).

The Architecture

Three-Pillar Breakdown

🗄️ DATABASE: PostgreSQL (planned)
│
├─ llc_transactions      Payments IN (revenue), payments OUT (expenses)
├─ nonprofit_transactions Donations IN, program expenses OUT
├─ documents             Board minutes, bylaws, financial reports
├─ users                 Employees, board members, contractors
└─ access_logs           Who accessed what, when

🖥️ INTERFACE: (Under Development)
│
├─ /dashboard            Financial overview (LLC vs nonprofit separation)
├─ /documents            Upload/view governance docs
├─ /financials           Transaction logs, P&L, balance sheet
├─ /team                 User management, role assignments
└─ /compliance           Filing deadlines, status tracking

⚡ API LOGIC: (To Be Determined)
│
└─ Options being considered: Python (FastAPI), Node.js (Express), or PHP

The Vision (From VISION.md)

Operations Portal aims to be:

The single source of truth for BENED's operational infrastructure.

Every financial transaction, every governance decision, every compliance deadline — all in one place, auditable, with clear separation between LLC and nonprofit activities.

Financial Separation (Critical Design Constraint)

The portal enforces a hard boundary:

LLC FINANCES (Profit-Seeking)
│
├─ Revenue Sources:
│   ├─ TradeCraft subscriptions
│   ├─ Rental platform fees
│   └─ Consulting contracts
│
├─ Expense Categories:
│   ├─ Server hosting costs
│   ├─ Developer salaries
│   └─ Marketing & ads
│
└─ Tax Treatment: Corporate income tax (21%)

────────────── FIREWALL (NO TRANSFERS) ──────────────

NONPROFIT FINANCES (501(c)(3) Educational Mission)
│
├─ Revenue Sources:
│   ├─ Tax-deductible donations
│   ├─ Foundation grants
│   └─ Fundraising events
│
├─ Expense Categories:
│   ├─ Free educational content production
│   ├─ Scholarship program
│   └─ Research projects
│
└─ Tax Treatment: Tax-exempt (but strict reporting required)

Why this matters: One misclassified transaction can jeopardize the nonprofit's tax-exempt status. The portal makes it IMPOSSIBLE to accidentally record LLC revenue as nonprofit income (or vice versa).

Document Management

Governance documents need to be:

Storage will likely use Backblaze B2 (same as Platform API video uploads) with metadata in PostgreSQL.

Planned Features

Feature Purpose Status
Transaction Log Record every financial movement with category tagging 🟡 In Design
Document Upload Versioned storage of governance docs (board minutes, bylaws) 🟡 In Design
Compliance Calendar Track filing deadlines (IRS 990, state registrations) 🔴 Not Started
Role-Based Access Board members see financials, employees don't 🟡 In Design
Financial Reports Auto-generate P&L, balance sheet, cash flow 🔴 Not Started
Grant Tracking Nonprofit grant applications, awards, reporting 🔴 Not Started

Why It's Not Built Yet

Honest answer: We prioritized revenue-generating apps first.

TradeCraft and Rental Platform bring in money. Operations Portal costs money (developer time). But the 2024 near-miss on the nonprofit filing deadline was a wake-up call — we need this infrastructure before the company grows larger.

Current workaround: Google Sheets + Dropbox + calendar reminders. It works... barely.

Tech Stack (Proposed)

Layer Technology (Options) Why This Choice
Frontend React + Next.js OR Vue Team knows React from Rental Platform, but Vue might be cleaner for forms.
Backend Python (FastAPI) OR Node.js (Express) Python for financial libs (pandas, accounting). Node.js for consistency with Platform API.
Database PostgreSQL ACID guarantees for financial data. JSON columns for flexible document metadata.
Auth Keycloak (same SSO as other apps) One login, all apps. But stricter role checks (board vs employee vs contractor).
Storage Backblaze B2 Document storage with versioning. S3-compatible API.
Deployment Docker + Nginx Same pattern as other BENED apps. Nginx at operations.bened.works (planned).

Security Considerations

This app handles SENSITIVE data:

Planned security measures:

1. NO public access (intranet-only OR VPN-gated)
2. Role-based access control (RBAC):
   ├─ Board: Full access to all financials + governance docs
   ├─ Employees: Access to own employment docs only
   └─ Contractors: No access (unless specific docs shared)
3. Audit logs for every document view/download
4. Two-factor authentication (2FA) required
5. Encrypted document storage (Backblaze B2 with encryption at rest)

The Honest Assessment

Operations Portal is the least glamorous BENED project. It doesn't have AI bots, it doesn't process payments from strangers, it doesn't have a public-facing UI.

But it's the most existentially important one. Without proper financial separation and governance documentation, BENED can't:

So it's coming. Just... later than it should have.

How This Connects to Other Apps

Even though it's internal-only, Operations Portal needs to integrate:

TradeCraft → Operations Portal
  └─ Monthly revenue totals (subscriptions collected)
  └─ Used for LLC P&L generation

Rental Platform → Operations Portal
  └─ Platform fee earnings (our 10% cut)
  └─ Also LLC revenue

Platform API → Operations Portal
  └─ User count metrics (for pricing tier decisions)
  
Finance Tracker → Operations Portal
  └─ Expense categorization (what we're spending on)
  └─ Used for both LLC and nonprofit books

The goal: One-click financial close at end of month. Click "Generate Reports" → see LLC P&L, nonprofit P&L, combined cash flow, compliance status.

We're not there yet. But that's the vision.