The Problem I Was Solving
As a developer, I was frustrated with existing feature flag tools. For small teams the costs were over the roof, and open-source solutions require self-hosting and complex setup.
I wanted something that:
- Takes 30 seconds to set up (literally)
- Costs $0 to start
- Works with React and Node.js out of the box
- Doesn't require reading 50 pages of documentation
So I built FlagSwift.
What Makes FlagSwift Different?
1. 30-Second Setup (Literally)
Most feature flag tools require config files, complex SDKs, and reading docs for hours.
FlagSwift is literally:
npm install @flagswift/react-client
import { FlagProvider, FlagClient, useFlag } from '@flagswift/react-client'
const client = new FlagClient({
apiKey: process.env.NEXT_PUBLIC_FLAGSWIFT_API_KEY,
environment: 'production'
})
function App() {
return (
<FlagProvider client={client}>
<YourApp />
</FlagProvider>
)
}
function Feature() {
const enabled = useFlag('my-new-feature')
return enabled ? <NewUI /> : <OldUI />
}
That's it. Feature flags working in production or any environment you set it to.
2. 2-Second Rollbacks (No Deployment)
When something breaks at 3 AM, you don't want to:
- Revert git commits
- Wait for CI/CD (10-15 minutes)
- Hope the deployment doesn't fail
With FlagSwift:
- Open dashboard
- Click toggle
- Feature disabled globally immediately
No deployment. No waiting. Just instant control.
3. User Targeting That Actually Makes Sense
Want to enable a feature for specific users?
// Client-side
const client = new FlagClient({
apiKey: 'your-key',
userIdentifier: currentUser.email
})
// Server-side
const enabled = client.isEnabled('beta-feature', {
identifier: req.user.email
})
Add the email to your target list in the dashboard. Done.
No complicated segment rules. No user attribute schemas. Just email addresses or whatever you want to track your specific user.
Mistakes I Made Building This
1. Setup Time Is Everything
The #1 question was: "How long does setup take?"
If the answer is more than 5 minutes, developers, teams or orgs won't even try it.
I obsessed over this:
- No config files
- No environment variables required (optional)
- Works out of the box with Next.js, Vite, CRA
Result: FlagSwift's setup became our biggest advantage.
Lesson: Developer tools live or die on time-to-first-value.
2. Pricing Kills Adoption
I made FlagSwift free to start:
- Unlimited flags
- Unlimited environments
You only pay when you scale to high request volumes.
Result: 10x more signups vs. my initial paid-only model.
Lesson: For developer tools, free tier = trust. Let people try before they buy.
Why FlagSwift Won't Slow Down Your App
Fast by Design
- Dashboard changes propagate in ~2 seconds globally
- No CDN delays, no cache invalidation issues
- Environment isolation built-in
Client Performance
Your app checks flags instantly with zero network overhead per check. Flags are fetched once on load and cached.
Server Performance
Aggressive caching means your server makes ~99% fewer API calls while staying up-to-date.
The result? Your app stays fast even with 50+ feature flags running.
Current Status
- React SDK: ✅ Live on npm
- Node.js SDK: ✅ Live on npm
- Dashboard: ✅ Live at flagswift.com
- Pricing: Free to start, scales with usage
What's Next?
I'm actively building other SDK:
- Python SDK (for Django/Flask apps)
- Go SDK (for backend services)
- Analytics dashboard (see which flags are actually used)
- Slack notifications for flag changes
Try It Out
If you're tired of complex feature flag tools, give FlagSwift a shot:
- Free to start
- 30-second setup
- Rollback any feature immediately
Questions? Feedback? Drop a comment!.
Top comments (0)