Our AI Stack, Honestly: What We Use, What We Dropped, and Why
A practical framework for choosing AI tools that improve productivity without adding unnecessary complexity.
JULY 07, 2026 • TEAM NFN
So here's the honest version from inside NFN Labs - not what's trending, but what survives contact with real client deadlines. And just as importantly, what we've walked away from.

The center of gravity: Claude
Claude is where our engineering actually happens. Claude Code and Claude Code Co-worker run across feature development, documentation, and code review — the daily work, not the demos. When a tool earns its way into the core of how you write and ship software, it stops being "a tool we use" and becomes the gravity everything else orbits. That's where Claude sits for us, and increasingly we're consolidating more of the stack toward it.
The specialists
Each remaining tool earns its place by doing one or two things better than the alternatives.
OpenAI handles OCR, the embeddings behind our vector search, and a small but real detail — powers the AI assistant inside TablePlus, our SQL client. Not glamorous, genuinely useful.
Gemini runs Nano Banana 2 for image generation, plus File Search — Google's managed RAG — on newer projects where we'd rather not stand up and babysit our own embedding pipeline. Managed infrastructure is a feature when your time is the scarce resource.
Replicate is our Swiss Army platform: OCR, image models, pose detection, and NSFW detection. One integration, four very different jobs. The value isn't any single model — it's not having to negotiate four separate vendors.
Mistral does one thing for us and does it well: bulk OCR at scale.
Qdrant is our vector database for existing projects, paired with OpenAI embeddings.
Windsurf (now Devin) is our coding environment, routing across Kimi K2.5, Claude Sonnet 4.6, Kimi K2.7, Claude Opus 4.6, and GPT-5.5. Its role is quietly shrinking as we consolidate under Claude — not because it's failing, but because managing one account beats managing five. That's a real cost people forget to price in: operational overhead is a tax you pay every month.
What we dropped, and why
This is the part most teams leave out, and it's the most useful part.
Cursor : the pricing stopped making sense once we scaled usage. Tools already in our stack covered the same ground for less. Nothing wrong with Cursor; the math just changed as we grew.
Pinecone : usage limits started shaping how we built, instead of the other way around. When your infrastructure begins dictating your architecture, that's the signal. Qdrant took over.
Neither was a bad tool. They were the right tool for an earlier version of us and the wrong tool for where we are now. That distinction matters, because it's the whole thing.
The actual principle
Here's what all of this adds up to. We don't adopt AI tools because they're having a moment. We adopt them because they hold up under real client deadlines — and we retire them the instant they stop pulling their weight.
That means the decision is never "is this good?" It's "is this the right tool for where we are, at the scale we're at, given what everything else in the stack already does?" A tool can be excellent and still be wrong for you. Pricing that works at small scale breaks at large scale. Managed services that felt like a crutch become the smart call once your team's time gets expensive. Consolidation that looked like lock-in becomes sanity once you're juggling five logins.
The teams that get the most out of AI aren't the ones with the longest tool list. They're the ones willing to keep re-running the math — and to drop something that's still perfectly good the moment it stops fitting.
Ask us again in six months and this list will look different. That's not instability. That's the system working exactly as intended.
What's on your team's "dropped" list? We're genuinely curious what everyone else has walked away from and why.


