Skip to content

Goals and Non Goals

Karthik P edited this page Oct 14, 2026 · 3 revisions

Goals & Non-Goals

Product goals

# Goal In practice
G1 Speed you can feel Queries never freeze the UI, million-row results scroll smoothly, and the app is usable within seconds of opening. Targets are in Performance budgets.
G2 Private by architecture No backend, no accounts, no data leaving the device.
G3 Zero setup One URL, any modern desktop browser, nothing to install.
G4 Approachable Schema browser, autocomplete, one-click profiling and charts, and templates for common operational analyses.
G5 Handles real-world files Messy CSVs (delimiters, encodings, header rows), large Parquet, nested JSON, remote files.
G6 Accessible Keyboard-first workflows and WCAG 2.2 AA on core flows.

Engineering goals

# Goal In practice
E1 Measured performance A reproducible benchmark suite; every performance change ships with before/after numbers.
E2 Correctness and safety nets Strict TypeScript, unit and end-to-end tests, CI on every pull request.
E3 Regression protection Bundle-size budgets and benchmark checks in CI catch regressions before merge.
E4 Documented decisions Significant choices recorded as ADRs.
E5 Contributor-friendly One-command setup, well-scoped issues, fast review feedback.

Success metrics for v1.0

Initial targets, to be revised once baselines are measured:

  • All performance budgets met on the reference machine
  • A 1-million-row result scrolls at a sustained 60 fps
  • No main-thread task longer than 50 ms while a query runs
  • At least 8 published optimization write-ups with before/after data
  • Core user flows covered by end-to-end tests in Chromium, Firefox and WebKit
  • Core flows pass automated accessibility checks (axe) and a manual keyboard-only review
  • First external contributions merged

Non-goals

Deliberately out of scope, to keep Blinkql focused:

  • A backend or user accounts. Core functionality will always work without either.
  • Governed, multi-user BI. Scheduled refreshes, row-level permissions and alerting belong in BI platforms.
  • Direct database connections (PostgreSQL, MySQL, SQL Server). Browsers can't open raw database connections; export to CSV or Parquet instead.
  • Real-time streaming dashboards. Blinkql analyzes files and snapshots, not live feeds.
  • Data entry or cell editing. Blinkql reads and analyzes; it doesn't replace a spreadsheet for editing.
  • Datasets far beyond browser memory. See Browser Support & Limitations.
  • Mobile-first design. Phones and tablets should work for small files, but the experience is designed for desktop.

Clone this wiki locally