History

Changelog

Every improvement to InsightStack, documented version by version.

v2.2.0June 2026

Financial Health Score, spending forecast with 95% CI, Explainable AI panel, and z-score display on anomaly cards.

  • NewFinancial Health Score (0–100) — composite of savings rate (45%), HHI concentration (20%), trend (15%), anomaly count (10%), deficit/surplus (10%); rendered as SVG ring on insight cards
  • NewSpending forecast — OLS extrapolation to next month with RMSE-based 95% confidence interval (requires ≥3 months of data)
  • NewExplainable AI panel — collapsible section on each insight showing every expert rule that fired, its severity, and confidence score
  • NewZ-score badges on anomaly cards — surfaces the statistical deviation value (e.g. 3.2σ) for each flagged transaction
  • NewEngine confidence displayed as a badge next to the model identifier on each insight card
  • ChangedInsightPayload now stores forecast, healthScore, confidence, and findings in the DB alongside summary, categories, and recommendations
v2.1.0June 2026

Replaced OpenAI with a custom-built FinanceAI engine — BM25 retrieval, linear regression, expert rules, and intent-based chat. Zero external AI dependency.

  • NewFinanceAI engine (src/lib/ai/) — multi-strategy AI built from scratch, no external API
  • NewBM25 probabilistic retrieval — Elasticsearch-class algorithm over a 38-document financial knowledge base
  • NewLinear regression trend detection — OLS slope over monthly expense data (increasing / decreasing / stable)
  • NewHerfindahl-Hirschman Index — DOJ antitrust metric adapted for spending concentration
  • NewExpert rule engine — 10 typed financial rules with confidence scores (deficit, savings rate, concentration, anomaly, trend)
  • NewNLG composer — 3 summary templates selected by financial health profile; context-aware category and anomaly reasons
  • NewIntent-based chat engine — keyword-scored intent detection with referential pronoun resolution
  • Changedinsights/route.ts — swapped OpenAI fetch for generateInsights()
  • Changedinsights/stream/route.ts — swapped OpenAI streaming for streamInsightSummary()
  • Changedchat/route.ts — swapped OpenAI streaming chat for streamChatAnswer()
  • ChangedRemoved OPENAI_API_KEY from env.ts and .env.example
  • ChangedModel identifier in DB insight records changed from gpt-4o-mini to finance-ai-v1
v2.0.0June 2026

Major UX overhaul — toast notifications, FAQ accordion, pricing toggle, drag-and-drop uploads, demo dataset, keyboard shortcuts, and full SEO setup.

  • NewToast notification system with success/error/warning/info types, auto-dismiss, and stacking
  • NewFAQ accordion on landing page and /pricing — CSS grid-template-rows animation, no max-height snapping
  • NewAnnual / monthly billing toggle on landing and /pricing — Pro plan $9/mo or $7/mo (billed $84/yr) with Save 20% badge
  • NewDrag-and-drop CSV upload zone on every dashboard dataset card with live visual feedback
  • NewOne-click demo dataset loader in empty dashboard state — 47 transactions, built-in anomaly spike
  • NewKeyboard shortcuts panel (press ?) — N focuses new dataset input, arrow keys paginate, Esc closes
  • NewSample CSV download button in landing page hero
  • Newrobots.txt and sitemap.xml via Next.js Metadata API
  • NewDataset search — server-side name filtering with 300ms debounce
  • NewDataset sort — Newest, Oldest, A→Z, Z→A via API query params
  • NewCreated timestamps on each dashboard dataset card
  • NewPassword strength meter on registration form (Weak / Good / Strong)
  • NewQuick-stats pills on insight cards — top category, anomaly count, recommendation count
  • NewJSON-LD structured data (schema.org/SoftwareApplication) in root layout
  • NewPublic /changelog page
  • FixedHSTS header — Strict-Transport-Security was claimed in the About page but missing from next.config.ts
  • FixedTiltCard relative positioning — production-grade feature cards had absolute overlays escaping card boundaries
  • Fixed/pricing 'Coming soon' badge replaced with 'Most popular' to match landing page CTAs
v1.5.0May 2026

Daily insight quota API, paginated activity log, and quota progress bar on dataset detail.

  • NewGET /api/auth/me/quota — returns insightsToday, quota, remaining for today's insight usage
  • NewGET /api/activity with pagination (page + pageSize query params, Zod-validated)
  • New/dashboard/activity page — per-action icons/colors, relative timestamps, load-more pagination
  • NewQuota progress bar on dataset detail — color transitions at 20+ and 30/30 usage
  • FixedReact Compiler purity violation — Date.now() moved to module-level constant in RelativeTime
v1.4.0May 2026

Error boundaries, account settings with password change and account deletion.

  • NewGlobal error boundary (error.tsx) — branded 500 page with Try again + error digest
  • NewDashboard error boundary — inline compact error card
  • New/dashboard/settings — change password and delete account with confirmation phrase
  • NewPATCH /api/auth/me — change password (validates current password, writes audit log)
  • NewDELETE /api/auth/me — delete account (cascades all data, clears cookie)
  • Fixed2 ESLint errors — <a href='/#pricing'> replaced with Next.js <Link>
v1.3.0May 2026

Playwright E2E suite, structured logging, SECURITY.md, Dependabot, and CI lint step.

  • New8-test Playwright E2E suite — landing, auth, CSV upload, dataset detail navigation
  • NewStructured JSON logger — JSON in production, human-readable in dev; replaces all console.*
  • NewSECURITY.md — vulnerability reporting policy and security design overview
  • NewDependabot config — weekly npm + monthly GitHub Actions updates
  • NewArchitecture Mermaid diagram + Design Tradeoffs section in README
  • NewCONTRIBUTING.md — local setup, test instructions, code style, PR process
  • NewLint step added to CI pipeline
v1.2.0May 2026

Stripe billing, pricing page, budget tracker, data chat, shareable insights, and weekly digest.

  • NewStripe subscription integration — checkout, billing portal, and webhook handler
  • New/pricing standalone page with Free and Pro plan comparison
  • NewBudget tracker — set monthly limits per category, over-budget alerts
  • NewChat with your data — SSE streaming AI conversation grounded in your transactions
  • NewShareable insight links — public /share/[insightId] pages with CTA
  • NewWeekly email digest via SendGrid (Vercel cron, Mondays 8am UTC)
  • NewDataset comparison page — side-by-side metrics and bar chart diff
  • NewStreaming AI insight generation (SSE) with step-by-step progress panel
v1.1.0April 2026

Production hardening — 29 integration tests, admin panel, rate limiting, audit logging, PII redaction.

  • New29 integration tests with zero mocks — auth, datasets, upload, metrics, insights, rename, delete
  • NewAdmin panel — view all users and datasets; admin-scoped dataset deletion
  • NewDB-backed rate limiting via RateLimitBucket table (no Redis)
  • NewImmutable AuditLog — every sensitive action appended; quota enforced by counting rows
  • NewPII redaction — strips email, phone, NRIC, long digit strings before AI processing
  • NewMetricSnapshot caching — 1-hour TTL on dashboard analytics
  • NewData hash cache — identical transaction sets skip recomputation entirely
  • SecurityCSRF protection on all cookie-authenticated mutations
  • SecurityCSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy headers
v1.0.0March 2026

Initial production-ready release. Full auth pipeline, CSV ingestion, metrics, and AI insights.

  • NewJWT auth — register, login, logout, forgot password, reset password
  • NewDual auth transport — Bearer token + HttpOnly cookie simultaneously
  • NewDataset CRUD — create, list, rename, delete with Prisma cascade
  • NewCSV upload and parsing via PapaParse — row-level validation, atomic insertion
  • NewServer-side metrics computation — income, expenses, savings rate, top categories, monthly breakdown
  • NewAI insights — structured output, Zod-typed, with data-hash caching
  • NewDashboard with Recharts — category pie, monthly bar, savings line chart
  • NewRole-based access control — USER and ADMIN roles
  • NewDeployment to Vercel + Neon PostgreSQL

Built in public. Source available on GitHub.