Files
papers/hanzo-base-runtime/sections/08-comparison-to-existing-systems.tex

55 lines
2.6 KiB
TeX

\section{Comparison to Existing Systems}
\label{sec:comparison}
% ============================================================================
\begin{table}[H]
\centering
\small
\begin{tabular}{lccccc}
\toprule
\textbf{Feature} & \textbf{Base} & \textbf{Firebase} & \textbf{Supabase} &
\textbf{PocketBase} & \textbf{Convex} \\
\midrule
Single binary & \checkmark & $\times$ & $\times$ & \checkmark & $\times$ \\
Offline-first & \checkmark & $\times$ & $\times$ & $\times$ & $\times$ \\
Encrypted at rest & \checkmark & $\times$ & \checkmark & $\times$ & $\times$ \\
Field-level encryption & \checkmark & $\times$ & $\times$ & $\times$ & $\times$ \\
CRDT sync & \checkmark & $\times$ & $\times$ & $\times$ & $\times$ \\
Plugin runtime & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\
Chain anchoring & \checkmark & $\times$ & $\times$ & $\times$ & $\times$ \\
Self-hostable & \checkmark & $\times$ & \checkmark & \checkmark & $\times$ \\
Federated auth & \checkmark & \checkmark & \checkmark & $\times$ & \checkmark \\
User-controlled keys & \checkmark & $\times$ & $\times$ & $\times$ & $\times$ \\
\bottomrule
\end{tabular}
\caption{Feature comparison. Base is the only system that combines offline-first
operation, encrypted local storage, CRDT sync, and chain anchoring.}
\label{tab:comparison}
\end{table}
\paragraph{Firebase.} Google's BaaS. No self-hosting. No offline-first for
arbitrary data (Firestore offline mode is a cache, not a source of truth). No
user-controlled encryption keys. Data belongs to Google's infrastructure.
Firebase is a tenancy agreement, not a runtime.
\paragraph{Supabase.} PostgreSQL-based BaaS. Self-hostable in theory, but
requires PostgreSQL, PostgREST, GoTrue, Kong, and a storage service---five
processes minimum. No offline-first. No CRDT sync. Encryption at rest is
PostgreSQL's, not field-level. Supabase is a cloud-first system with a
self-hosting escape hatch.
\paragraph{PocketBase.} The closest ancestor to Base. Single Go binary with
embedded SQLite. Base began as a PocketBase fork in December 2022 and has since
diverged substantially. PocketBase lacks: encrypted storage (sqlcipher),
field-level encryption, CRDT sync, federated auth, KMS integration, chain
anchoring, and cluster mode (PostgreSQL backend). PocketBase is a prototyping
tool. Base is a production runtime.
\paragraph{Convex.} Reactive TypeScript backend. Cloud-only, no self-hosting.
Strong developer experience for realtime applications, but no offline support,
no encryption, no user-controlled keys. Convex is a better Firebase, not a
sovereign runtime.
% ============================================================================