Back to Projects
Next.jsTypeScriptEdgeMulti-tenant

OuterSignal

Feature flag management platform that decouples deployment from release.

View Live
The Problem

Every feature release required a full rebuild and redeployment.

The engineering team was managing feature visibility through environment variables — meaning every toggle, every A/B test, every gradual rollout required a code change, a new build, and a full redeployment. Features were coupled to deployments. Testing in production meant shipping to everyone. Rolling back meant another deploy cycle. The process was slow, fragile, and created constant deployment pressure on the team.

Context

Built solo to solve a real pain point observed at my current company. The team was doing manual feature flag management through env vars and rebuilds. I built OuterSignal independently, then integrated it via API into the company dashboard — proving the concept worked in a real production environment.

Tech Stack
Next.jsFull-stack framework — App Router, API routes for flag evaluation endpoint
TypeScriptEnd-to-end type safety — critical for SDK contracts
Edge RuntimeSub-millisecond flag evaluation — deployed at the edge for global low latency
Multi-tenantStrict environment isolation — separate keys per Dev/Staging/Production
Architecture

Click any node to see details

Key Decisions
01

Edge runtime for flag evaluation

Feature flags sit on the critical path of every request — if flag evaluation is slow, everything is slow. Deploying the evaluation engine at the edge means flags resolve in under 10ms globally, regardless of where the user is. This was a non-negotiable architectural requirement: a feature flag system that adds latency defeats its own purpose.

02

Framework-agnostic SDK design

Locking the SDK to a specific framework would limit adoption. The evaluation API is a simple HTTP endpoint — any stack that can make an HTTP request can use OuterSignal. This decision made the company dashboard integration trivial: one API call, no SDK dependency, works with whatever stack the consuming service runs.

03

Strict environment isolation by design

A flag accidentally enabled in production when it was only meant for staging is a serious incident. OuterSignal enforces separate API keys per environment at the platform level — it is architecturally impossible to use a staging key against production data. This is not a setting or a convention. It is a hard constraint.

Lessons Learned
  • The best products come from real pain — building for a problem you live with every day produces better judgment than building for a hypothetical user.
  • Edge-first design is not premature optimization when latency is a core product requirement. Constraints should shape architecture from day one.
  • Integrating your own tool into a production system is the fastest way to discover where your assumptions were wrong.
Back to Projects
AI · Trained on Dimas's profile