← Posts

TaxInsights: Engineering the Scenario-First Tax Platform

July 30, 2026 · Engineering · Architecture · Maigha × Upsilon partnership
Upsilon Tax Pro home — entry into Template Studio
Figure 1. Product home (Upsilon Tax Pro): Tax Planner, Template Studio, and Admin Portal as first-class apps.

Partnership context

TaxInsights is a Maigha–Upsilon partnership project: Maigha builds and operates the engineering platform (monorepo, APIs, formula engine, Template Studio, infra); Upsilon brings domain ownership and go-to-market for the tax vertical. The repo and internal materials still say TaxInsights—that name is a placeholder. A market brand lands before serious marketing; the engineering surface stays under the codename until cutover.

Soft launch: November

We plan a soft launch in November: limited firm cohort, production-shaped traffic, and ops hardening—not a marketing blast.

Serious marketing follows once the product name is locked.

The technical problem

CPA workflows need one coherent system for prep, what-if comparison, prior-year PDF import, firm templates, and advisory. The pre-cutover model encoded that incorrectly in storage and API shape.

Domain mismatch

RequirementPre-cutover behavior
First-class ScenarioNo TaxScenario row; scenario identity lived in worksheet columnsData
One scenario = one tax yearOne “scenario” spanned multiple years via previewYears[] / numberOfYears
Comparison unitYear sub-columns under a scenario group, not one column per plan
Form storageShared global Worksheet / WorksheetRow for all form kinds
Create semanticsCombinable options; partial multi-form state possible on failure

CPAs compare plans (“2025 Base” vs “2025 Amended”). The schema compared years inside a fake scenario.

Adjacent hard problems

The technical solution

Stack (production surface)

LayerChoice
Monoreponpm workspaces (apps/api, apps/web, packages/*)
APINode ≥22 · Express 5 · TypeScript · Prisma 6 · PostgreSQL 17
WebReact 19 · Vite 7 · MUI 7
AuthFirebase JWT on /v1/*; firm RBAC at route, service, and query
JobsBullMQ + Redis
Shared calc@taxpro/formula-engine
PDFSchema-driven extraction + split-view preview
AIOpenAI behind Tax Insights (triggers → recommendations → copilot)

Desktop/mobile shells exist in-tree; web + API are the production path for November.

Correct hierarchy

Firm
 └── FirmClient
      └── TaxFile          (filing container; FTR release pinned)
           └── TaxScenario (1..10 per file; scalar taxYear)
                └── Scenario worksheet values (per form kind)
                     rowsData: { rowId → cell record }

Formula engine + Firm Template Releases

Template Studio authors bundles; sandboxes exercise them; publishing produces a Firm Template Release (FTR) per tax year. Scenario create provisions from active FTR defaults, then calculates.

Template Studio — published bundles by tax year
Figure 2. Template Studio: per-year published baselines, Tax Constants Workbook, Formula Reference, and Sandbox.
Template Studio — draft bundle grid editor and release workflow
Figure 3. Bundle editor: Draft → Sandbox → Review → Ready → Published lifecycle and schema grid.
Template Studio — typed cells in the authoring grid
Figure 4. Authoring grid with typed cells (descriptor / user-defined / formula / constant).

PDF import pipeline

Tax Insights AI module (layered)

LayerResponsibilityLLM?
1 Trigger detectionRule anomalies (balance due, refund, tax increase, withholding drop)No
2 RecommendationsContextual tips per trigger; token meteringYes
3 CopilotMulti-turn sessions bound to file; 30-day expiryYes

Controls that ship with the feature: PII stripped before model calls; rate limits per firm tier; immutable audit logs; FREE / PRO / ENTERPRISE quotas.

Cutover decisions

RejectedShipped
Scenario-as-columns in worksheet JSONBTaxScenario + values-per-form
Multi-year scenario createScalar taxYear + N scenarios per file
Shared Worksheet for all formsKind-scoped values; FTR provision
LLM-first advisoryTriggers first; then recommendations/copilot
Raw PII to OpenAIAnonymize → call → meter → audit
Partial multi-form createsSingle DB transaction per create mode

What’s next

Summary

Problem: Scenario and year were presentation artifacts; templates, PDF, and AI sat outside a coherent multi-tenant model.

Solution: Scenario-first schema and APIs, FTR-driven provision, verifiable PDF import, and a gated AI stack—on a Maigha-built monorepo for the Maigha × Upsilon partnership.

Name: TaxInsights is internal-only until the launch brand ships. Date: soft launch targeted for November.

← Back to Posts