The foundations I'm working through
I'm building out the groundwork every product needs and sharing the thinking as I go. Follow along, take what helps, and tell me what you'd do differently.
01
Platform
The ground it all runs on.Infrastructure
As codeEnvironmentsEdge & DNSSecrets
Security
Identity & authAccess controlEncryptionAudit logs
Observability
LogsMetricsTracesAlerts
Delivery & quality
CITestsLintingReleases
02
Services
The typed API core on top.Schema & contracts
ProtobufGraphQLOpenAPIVersioning
Generated SDKs
Go SDKTypeScript SDKTyped clientsIn sync
Gateways
API gatewayMCP gatewayRoutingRate limits
Workers
QueuesConsumersSchedulesRetries
03
Data & AI
Memory and intelligence.Data layer
Relational storeTyped queriesMigrationsSoft deletes
Search
Full-textFiltersVector searchRanking
Analytics
EventsMetricsDashboardsReports
AI foundations
Model gatewayRetrievalAgentsEvaluations
04
Product
The surfaces people use.Client apps
WebMobileAuth flowsOffline
Design system
Tokens & themingComponentsIconsDark mode
Notifications
EmailIn-appPushPreferences
Billing
PlansProduct bundlesUsageInvoices
A few principles I keep coming back to
The specific tools are the easy part, and the first to change. What holds steady underneath matters more. These principles come from my own context, so if you'd approach something differently, I'd genuinely like to hear it.
Stack-agnostic
Good foundations translate to any language or framework.
Vendor-agnostic
Choose the providers that fit your context; the foundation holds.
A working prototype
Each foundation becomes a lightweight, working prototype, real code that shows the concept in action.
Transparent decisions
I share the trade-offs, the calls I make, and the ones I would revisit.