03 — Developer Features

Make BitVault something developers build on. The S3 API and FUSE mount are the two highest-leverage moves; both reuse the storage subsystem and meet developers where they already are.


D1 — S3-Compatible API ⭐ flagship

Full treatment in 01 §5. In short: SigV4 + bucket/object/multipart mapped onto the storage layer → every S3 tool (aws-cli, boto3, rclone, Terraform, Spark) works unchanged, governed by the policy engine. Complexity M · Resume High · the top adoption lever.


D2 — FUSE Virtual Filesystem ⭐ near-flagship

Mount a BitVault space as a local drive with on-demand hydration: files appear instantly as placeholders; bytes are fetched (and cached) only when read.

flowchart LR
    classDef o fill:#dbeafe,stroke:#1e40af,color:#111827;
    classDef f fill:#fde68a,stroke:#b45309,color:#111827;
    classDef s fill:#bbf7d0,stroke:#15803d,color:#111827;
    app["any app (open/read/write)"]:::o --> fuse["FUSE mount (placeholders)"]:::f
    fuse -->|"read → hydrate"| chunks["fetch missing chunks (storage/06)"]:::s
    fuse -->|"write → stage + commit"| sync["sync engine commit (sync/05)"]:::s
    fuse --> cache["local chunk cache (sync/03)"]:::s
   
Why it matters “Your whole vault as a drive without filling the disk” is a delightful, sticky UX and a serious systems feat.
Complexity L — FUSE semantics (open/read/write/rename/truncate), placeholder/hydration state, write-back through sync, cross-OS quirks (macFUSE/WinFSP).
Dependencies Sync engine (sync/), storage range reads (storage/06).
Resume impact Very high. Filesystem-level engineering (FUSE) + on-demand hydration is rare and impressive.

D3 — SDKs, Terraform provider, first-class CLI

Generated, typed SDKs (Go/TS/Python) from the protobuf contract (ADR-0003), a Terraform/OpenTofu provider (manage spaces/shares/policies as code), and a CLI that dogfoods the public API (ADR-0015).

   
Why it matters Lowers integration friction; the Terraform provider makes BitVault part of customers’ IaC — sticky and on-brand for a platform.
Complexity S–M — SDKs are largely generated; the Terraform provider (CRUD + state) is the meatier piece.
Dependencies Proto/codegen (ADR-0003), stable public API (ADR-0015).
Resume impact Medium. A Terraform provider is a nice, recognizable artifact; SDKs less so.

D4 — BitVault as a Backend (BaaS)

Position the API as a storage backend for other apps: scoped API tokens, direct-to-storage presigned uploads (ADR-0011), per-app spaces, usage metering — “Supabase/Firebase Storage, self-hostable.”

   
Why it matters Expands the market from “end users” to “developers building products” — a multiplier on adoption.
Complexity M — mostly packaging existing capabilities (tokens, presign, metering) into a coherent developer product + quotas.
Dependencies Auth/tokens (ADR-0010), presign (ADR-0011), metering (04 billing context).
Resume impact Medium. Product/platform framing more than novel engineering.

D5 — Webhooks & Functions (developer-facing)

The event/automation surface as a developer feature: subscribe to events (08), or run code on them (Functions §2). Covered in 06/08.


Priorities within developer

D1 (S3 API) first — highest adoption-per-effort. D2 (FUSE) for the systems wow. D3 is cheap polish. D4 is positioning that the rest enables.