Engineering / control plane
A small, explicit core.
Deliberate boundaries.
The C-first decision is about controlled dependencies, explicit ownership and understandable execution and failure behaviour.
The important backend control plane is intended to stay small and auditable. Memory behaviour and responsibility remain visible, instead of being spread across unnecessary wrapper layers.
C17Selected C23ClangGCCCMakelibeventlibpqPostgreSQLNGINX
Repository evidence
The current scaffold uses a C17 ABI baseline, optional selected C23 features, Clang/GCC compiler policy, CMake, libevent for event-driven I/O and libpq for PostgreSQL access. PostgreSQL is the authoritative-state direction; NGINX is the public-edge design.
C increases memory-safety responsibility. Predictable behaviour requires explicit ownership and stronger engineering controls; choosing C does not remove risk.
Interface contracts
Strong boundaries
above the core.
Stable contracts let the customer experience and financial core evolve independently.
The web uses TypeScript, semantic HTML and CSS. OpenAPI and JSON Schema define the external contract direction. Interfaces should consume those contracts without inheriting the C core’s internal assumptions.
TypeScriptHTMLCSSOpenAPIJSON Schema
Native clients are roadmap direction: Swift / SwiftUI for iOS and Kotlin / Jetpack Compose for Android. This coming-soon deployment is a static website and runs none of the backend systems described here.
Verification over magic
Verification is
part of the design.
The C decision raises the obligation to verify the system. Testing alone cannot make C memory safe.
Implemented in the scaffold
Controls that can be inspected.
Strict compiler warnings, sanitizer build options for ASan and UBSan, explicit modules and ownership boundaries, PostgreSQL migrations and transactional state handling are present in the repository. Their presence is not a production assurance claim.
Engineering direction
A wider verification discipline.
Static analysis, fuzzing, bounded inputs, defensive parsing, least privilege, auditability and reproducible behaviour should be enforced and expanded as the system develops. Use mature libraries for cryptography, TLS and networking rather than inventing replacements.
This describes a developing architecture. It does not claim a deployed financial platform, completed security audit or regulatory approval.