Project

Roadmap

Where SeeKi is, where it is going, and what is parked for later. Short horizons only — anything past the next version is an intention, not a promise.

Shipped — v0.1

The MVP. A single Rust binary that opens a PostgreSQL database and renders it as a spreadsheet, with no SQL surfaced to the user.

  • Backend API & config (#27) — TOML config, PostgreSQL pool, /api/tables, /api/columns, /api/rows.
  • Frontend scaffold & integration (#28) — Svelte 5, embedded into the binary at build time.
  • Data grid & table navigation (#29) — RevoGrid, paginated rows, hatched NULL cells, Yes/No badges.
  • Toolbar, column management & export (#30) — sort, search, hide/show, CSV export.
  • First-run setup wizard (#31) — no-TOML-required onboarding for non-technical users.
  • End-to-end QA (#32) — Playwright suite plus the QA-CHECKLIST.md gate, with numeric-precision and Safari-date fixes.
  • Logo, favicon, and brand mark refresh (#54).

In flight

Work that is actively being carved up and merged on top of v0.1.

  • Documentation site. The page you are reading. Get Started, Features, Operate, Develop, API, and Project sections, all built against /assets/css/site.css.
  • Release packaging. Version-bump workflow is stabilising after the last run of CI fixes. Goal: one tagged artefact per main push without hand-editing VERSION.
  • Post-QA polish. Small, targeted fixes raised during the end-to-end pass — column dropdown focus, export error surface, setup-wizard keyboard flow.

Next up — v0.2

A single headline item and the pieces that fall out of it.

  • SQLite engine. Second database backend, matching the PostgreSQL contract: list_tables, get_columns, query_rows. Unlocks local-file workflows (Chinook, bundled reports, Airtable exports) without a running server.
  • New DatabaseKind::Sqlite variant and DatabasePool arm — see Adding a database engine.
  • Setup-wizard path for Open a SQLite file — a file picker, not a connection string.
  • Connection-test parity with the PostgreSQL flow: a table preview, row estimates, system-table flagging.

Ideas pile

Parked. None of these are committed to a version — they exist so the next conversation can start from something written down instead of from scratch.

  • MySQL / MariaDB engine. Third backend. Mostly a mechanical follow to SQLite.
  • Saved views. Remember a table's sort + hidden columns + search between runs, per connection.
  • Row detail drawer. A single-row side panel that wraps long text and pretty-prints JSON columns.
  • Foreign-key hop. Click a key to open the parent row in a new tab of the grid, still read-only.
  • Export formats. JSON and Parquet alongside CSV, driven from the same column-aware export pipeline.
  • Auth module. The src/auth/ placeholder exists for a reason — bearer-token or OIDC in front of the HTTP server for shared deployments.
  • Column width persistence. Survive a page reload without re-dragging.
  • Query history (still no SQL surface). A read-only log of which table + sort + search a user visited, for their own reference.