Everything runs in the web app

Gmail OAuth, scheduled sync, OpenRouter models, subscriptions

BizStruct mirrors the Python backend: mail is ingested on an interval, classified by AI, and stored in your account. You manage integrations, plans, and reports from the browser—no separate messenger client.

Dashboard & workspace

Log in to create tasks, projects, clients, and finance signals, review the unified inbox, and change statuses from the same UI your backend writes to.

Task & project lists
Priorities, due dates, and owners stay visible next to Gmail-sourced items.
Client & finance records
AI-extracted counterparties and amounts land in structured rows you can audit.
Integrations & billing
Connect Gmail, set AI provider keys (OpenRouter), and manage plans or upgrades without leaving the site.
Admin-style controls
Operator accounts can trigger sync windows, inspect health, and monitor throughput when you expose those routes.
Secure session
OAuth tokens and API keys stay server-side; the web tier only sees the outcomes you authorize.
No context switch to another chat product—everything stays in the browser.
Same AI classification pipeline the worker processes use
Records are yours in the BizStruct datastore, not a third-party notes app
Works from desktop and mobile browsers

Gmail sync & processing

Authorize Google once. The backend pulls new mail on a schedule, deduplicates it, and hands each message to the classifier before it surfaces in your inbox view.

OAuth 2.0 connection to Gmail
Interval-based sync (configurable on the server)
AI classification per message via OpenRouter-compatible APIs
Links back to original threads for traceability
Manual / on-demand sync hooks for power users

After OAuth, set OPENROUTER_MODEL and related keys in your deployment; the web app reflects live status once workers report healthy.

Daily report in the browser

Scheduled jobs (for example 09:00 server time) compile summaries—tasks due today, overdue work, inbox velocity, subscription reminders—surfaced in the dashboard feed.

Includes:
Today’s tasks and priorities
Overdue items that need attention
New projects and updates
Key business metrics and stats
Recent client activity
Aligned with your server cron / scheduler configuration

Structured entities in BizStruct

Captured data is normalized into first-class objects stored in your SQL database—not pasted into external wikis.

Tasks
Statuses, due dates, assignees, and provenance (web vs Gmail).
Projects
Milestones and linkage to tasks and clients.
Clients
Contact graph, history, and communication signals.
Finances
Invoices, payments, and categorized cashflow.
Inbox
Unified queue for mail and manual captures awaiting review.
Relational integrity enforced by SQLAlchemy models
Clear relations between tasks, projects, and clients
Export-friendly structured data
You control retention and deletion from the account settings

OpenRouter & model policy

Configure AI_PROVIDER and OpenRouter keys; the worker calls the same OpenAI-compatible API your docs describe, with retries and timeouts tuned for production.

Intent and urgency from natural language in email and manual notes
Routing to task, project, client, or finance schemas
Extraction of deadlines, amounts, counterparties, and follow-ups
Consistent tagging and relations before persisting rows
Continuous processing as new mail arrives from sync

Ship the web-first experience

Sign in, connect Gmail, drop in your OpenRouter key, and watch classification populate the workspace.

Open the app
BizStruct
Gmail · OpenRouter · Web control center