惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
罗磊的独立博客
博客园 - 聂微东
博客园_首页
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
量子位
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
Google DeepMind News
Google DeepMind News
H
Help Net Security
O
OpenAI News
Blog — PlanetScale
Blog — PlanetScale
S
Security Affairs
S
Security @ Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
AI
AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
Cloudbric
Cloudbric
H
Heimdal Security Blog
J
Java Code Geeks
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
I
Intezer
GbyAI
GbyAI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
What’s the best tech stack for AI app development?
Oyedele Temi · 2026-05-22 · via DEV Community

When you begin building an AI application, you rarely pause to consider which stack you should use. The familiar tools come first to your mind. You reach for the frameworks you already know, add a managed database, wire in a model API, and you have something working. This pattern feels natural for a prototype, so it is easy to assume it will also support the rest of the journey.

The question of how to design your stack becomes unavoidable only when you move into environments that modern LLMs do not understand well. If you try to build an AI feature inside Flutter, Swift, Kotlin or other “non-AI-friendly stacks,” friction appears in places you did not expect. The model struggles to produce reliable code, workflow becomes harder to maintain and simple changes require more effort than they should.

These moments reveal that AI applications place demands on their stack that traditional apps never had to consider.

Your choice of stack shapes the cost of running the system, the latency of every request, the clarity of your debugging signals and the model’s ability to follow your instructions. Some ecosystems align naturally with the way LLMs were trained and give you smoother development paths. Others introduce overhead you only discover when the system grows.

This guide breaks down those differences and shows what a real AI stack includes. It walks through how popular stacks behave in practice and gives you a structure you can rely on when choosing the setup that matches your goals, rather than working against them.

TL;DR

  • AI stacks behave differently from traditional web stacks because LLMs produce non-deterministic outputs that require orchestration, retrieval and evaluation layers.

  • Python, JavaScript and TypeScript align best with the patterns models learned during training, which makes them more predictable for AI workflows.

  • Stacks built on less common ecosystems like Flutter, Swift or Kotlin introduce structural errors because models do not understand their project layouts or build systems.

  • If you must use a non-AI-friendly stack, contain the AI workflow. Keep orchestration, retrieval and model logic in a Python or TypeScript backend.

  • The simplest decision rule: Put AI logic where the model is strongest, and let the rest of the product follow from your requirements.

What exactly is an AI tech stack?

An AI stack is an orchestration system built to manage non-deterministic behavior. In a normal web stack, each layer solves a predictable problem. AI systems do not. When a user provides natural language input, whether a question, instruction or query, the model can return different results even when the input is identical. As a result, the system must coordinate intent, context and generation instead of relying on fixed, deterministic code paths.

This non-deterministic behavior changes what the stack needs to include. Traditional systems assume stable results. AI systems assume variability. This forces you to introduce layers that typical backends never required, including orchestration, retrieval and evaluation. These layers become structural the moment you move beyond a single model call.

1. Application layer (UI and UX)

This is where users interact with the system. It collects input, displays responses and manages streaming or incremental updates. Frameworks like Next.js, React, SwiftUI and Flutter fit here. The goal is to keep the interaction loop fast and simple.

2. Backend layer (APIs and logic)

The backend prepares requests for the AI workflow. It handles validation, authentication, routing and any logic that shapes the input before the model sees it. Python and TypeScript are common choices because they align well with AI tooling.

3. Orchestration layer

This is the core of an AI stack. It decides how a request should be processed, including planning, tool usage, retrieval, retries and guardrails. It provides the structure that keeps model behavior predictable. Tools like LangChain, LlamaIndex, DSPy and the Assistants API belong here.

4. Retrieval and memory layer

This layer supplies the model with external knowledge. It indexes documents, stores embeddings and retrieves the most relevant information for each query. Vector stores like Pinecone, Weaviate, Supabase Vector and pgvector are common options.

5. Model layer

The model generates text, embeddings or structured output. It is responsible for inference and reasoning. Hosted models like GPT and Claude offer strong performance, while local models such as those run through Ollama provide control at lower cost.

6. Data layer

The data layer stores user records, documents, logs and domain-specific content. It provides the source of truth for retrieval and application logic. Postgres, MongoDB, Redis, S3 and BigQuery are typical choices.

7. Evaluation and monitoring layer

This layer tracks output quality, drift, errors and latency. It helps teams understand how model behavior changes over time. Tools like HumanLoop, Phoenix and internal dashboards support this work.

8. Deployment and infrastructure layer

This layer runs the system in production. It manages hosting, compute, scaling and networking. Platforms like Kubernetes, AWS, GCP, Vercel, Docker, Modal and Fly.io are commonly used to deploy AI workloads.

seven key layers in AI stack

How different stacks perform when building an AI-powered app

Different tech stacks handle retrieval, embeddings and model calls differently, and the patterns become clearer once you evaluate them against the layers described earlier. To make the comparison fair, the same small retrieval-based assistant was built in a few common stacks used for AI development.

Each stack was evaluated using the following criteria:

  • Time to reach a working prototype
  • Errors or fixes needed during development
  • Average response latency
  • Cost per one thousand queries
  • Ongoing maintenance complexity

Stack 1: Next.js + Supabase + Vercel AI SDK + Gemini

  • Time to prototype: Fast (3.5 to 6 hours)
  • Main friction point: Message formatting mismatches and streaming differences
  • Latency: Low, around 3 seconds end to end
  • Cost: Moderate, mostly from serverless usage
  • Maintenance: Medium, with occasional updates to RAG components

Stack 2: Python FastAPI + MongoDB Atlas + LangChain + Ollama

  • Time to prototype: Medium (5 to 8 hours)
  • Main friction point: Dependency and version mismatches
  • Latency: Moderate, about 3 to 5 seconds with local generation
  • Cost: Low, since model usage is free
  • Maintenance: High, due to fast-moving Python libraries and LangChain updates

Stack 3: React Router + PocketBase + Ollama

  • Time to prototype: Slowest of all stacks
  • Main friction point: Type generation issues, ACL quirks and configuration overhead
  • Latency: High, often 30 seconds or more on CPU
  • Cost: Very low, ideal for local-first workflows
  • Maintenance: High, with manual responsibility for storage, routing and model management

Stack 4: React Native + Python API + LangChain + Ollama

  • Time to prototype: Medium to slow (6 to 9 hours)
  • Main friction point: Bridging mobile request formats and handling CORS
  • Latency: Moderate to high, about 6 to 10 seconds
  • Cost: Low, similar to the FastAPI setup
  • Maintenance: High, because you maintain both mobile and backend layers

The table below gives a quick summary of how they compare at a glance.

Stack Time to prototype Main friction Latency Cost Maintenance
Next.js + Supabase + Gemini Fast Streaming and message formatting Low Moderate Medium
FastAPI + Atlas + Ollama Medium Dependency and version shifts Moderate Low High
React Router + PocketBase Slow ACL and configuration issues High Very Low High
React Native + Python API Medium-Slow Mobile request formatting and CORS Moderate-High Low High

These differences show how closely each ecosystem matches the environments modern LLMs were trained in. Stacks based on Python, JavaScript and TypeScript tend to behave more predictably because they align with the tooling and patterns most models were exposed to during training.

Why some stacks perform better than others

Some stacks perform better because they align with how models were trained and how today’s AI ecosystems evolved. Modern LLMs were exposed to far more Python, JavaScript and TypeScript than other languages, and they learned these ecosystems through predictable module layouts, simple build rules and consistent project structures.

Several evaluations confirm this pattern:

  • HumanEval-X and MultiPL-E show higher correctness in Python and JavaScript, with accuracy dropping in languages such as Go, Java, Rust, Swift and Kotlin.

  • SWE-PolyBench links these drops to structural mistakes in ecosystems with strict directory rules, platform-specific build steps or deeply nested configuration files.

Developers often see these structural differences. In Python and TypeScript, the model often produces valid imports, correct file placement and workable function signatures because these conventions appear throughout its training data. In Dart, Swift or Kotlin, the model frequently guesses project structure, which leads to broken Xcode setups, invalid Gradle modules or misplaced Flutter widgets.

The takeaway is straightforward. Stacks that match the model’s training distribution, such as Python, JavaScript and TypeScript, tend to produce more stable AI workflows. Other languages can work, but they require more human oversight to keep the system predictable.

How to choose based on your goal

Choosing an AI stack becomes simpler once you anchor your decision to a single rule:

Put your AI logic in the environment the model understands best, and let everything else follow from the product’s requirements.

From this rule, four practical paths emerge:

  • If speed is the priority, choose a JS/TS-first workflow.
  • If reliability and control matter, put your backend in Python.
  • If cost must stay low, use local inference with a lightweight database.
  • If you are shipping mobile apps, keep AI logic in the backend, not the client.

The table below summarizes the most common goals and the stack that matches each one.

Goal Recommended stack Why it fits
Speed to MVP Next.js + TypeScript + Vercel AI SDK + MongoDB Atlas Minimal setup, fast iteration, built-in streaming and vector storage
Production-grade API Python (FastAPI) + TS frontend + MongoDB or Postgres Strong orchestration, clean routing, predictable scaling
Low-cost / self-hosted Python + Ollama + SQLite or Postgres + simple frontend Local models remove API cost, minimal infrastructure
Cross-platform apps Flutter or React Native + Python/TS backend Mobile handles UI, backend handles retrieval and inference
Enterprise integration Python + TypeScript + cloud-managed services Best fit for IAM, compliance, queues and monitored pipelines

Best practices when you cannot use “AI-friendly” stacks

Some teams must work inside Flutter, Swift, Kotlin or other environments that LLMs do not understand well. If you are forced into a non-AI-friendly ecosystem, the goal is containment. You want to limit how much of your AI workflow touches the parts of the stack where the model is most likely to make structural mistakes.

Below are some of the best practices you can follow:

  • Keep AI involvement limited to small, well-scoped pieces of implementation. Broader architectural or module-level code should remain developer-controlled.

  • Define architecture, project layout and build rules yourself. These ecosystems depend on strict structure, and LLMs cannot reliably create it.

  • Send all retrieval, embeddings and orchestration to a Python or TypeScript backend. Keep AI-heavy logic in environments the model understands.

  • Avoid mixing languages or layers in a single instruction. Handle one layer at a time to prevent structural guessing.

  • Validate everything with tests, type checks and linters. Strict toolchains require strict verification.

Bit Cloud focuses on JavaScript and TypeScript precisely because these environments produce the most stable AI-generated components. Modern models understand their patterns, module layouts and build systems far more reliably than less common languages.

Wrapping up

Choosing an AI tech stack comes down to how well your tools align with the environments modern models understand. Python, JavaScript and TypeScript consistently offer the most predictable behavior, which is why stacks built around them tend to support faster iteration, clearer debugging signals and more stable AI workflows.

As AI workloads grow, teams that succeed are the ones who treat their stack as an orchestration system rather than a collection of tools. Modular components, clean boundaries and dependable infrastructure make retrieval, routing and model behavior easier to manage at scale. Other ecosystems like Flutter, Swift or Kotlin can support AI features, but they work best when the heavier logic lives in a Python or TypeScript backend.

If you want to see how this modular, component-driven approach works in practice, you can explore how teams use Bit Cloud to structure JavaScript and TypeScript applications for production. It provides a practical example of how composability and clear boundaries help teams ship AI features that remain stable as models evolve.