
Stack tecnologico software AI custom 2026

Stack tecnologico software AI custom 2026
Lo stack standard per un software AI custom nel 2026 è Next.js 15 + TypeScript per il frontend, Postgres (Supabase o self-hosted) per i dati, un layer model-agnostic che instrada Claude 4.x, GPT-5 o Gemini Pro in base al task, un vector DB (pgvector o Qdrant) per RAG, MCP per esporre i tool, e Vercel o Hetzner EU per l'hosting. Latenze tipiche 200-800ms per request, costi API 50-500€/mese in early stage.
Sono Davide Cocozza, co-founder di Datazen. Questo articolo è la versione "stack tecnico decisionale" della guida software AI personalizzato 2026. L'ho scritto per CTO, lead developer e tech founder che devono decidere oggi su quali tecnologie costruire un software AI custom, e per CTO meno tecnici che vogliono capire le scelte che il loro team o partner sta facendo.
Non è una rassegna esaustiva di tutto quello che esiste. È lo stack che usiamo in produzione su 30+ progetti, con le alternative reali, i costi veri, e gli errori che ho visto pagare in produzione.
Cos'è uno stack AI custom e perché conta
Uno stack AI custom è la combinazione di frontend, backend, AI layer e infrastruttura che costituisce un software dove l'intelligenza artificiale è strutturalmente parte del prodotto (non un add-on bolted-on). La scelta dello stack determina velocità di sviluppo, costi operativi a 3 anni, e capacità di evolvere il prodotto senza rewrite.
Un errore frequente: trattare lo stack come dettaglio implementativo. In realtà ogni decisione di stack ha conseguenze a 3 anni. Scegliere un framework proprietario significa lock-in. Scegliere un singolo LLM provider significa esporsi a cambi di prezzo o policy. Scegliere hosting US per un'azienda italiana significa rischio GDPR. Lo stack è una decisione strategica che richiede la stessa attenzione del modello di business.
I 4 layer dello stack AI moderno 2026
Un software AI custom moderno si organizza in 4 layer ortogonali. Ogni layer ha decisioni indipendenti, ma le scelte si combinano: usare Next.js al frontend influenza la scelta del backend, usare Postgres apre la porta a pgvector, e così via.
Frontend layer
Next.js 15 + React 19 + TypeScript + Tailwind CSS. Server Components per ridurre il client bundle, Server Actions per le mutazioni, TanStack Query per data fetching client-side complesso. Alternativa minoritaria: Remix per app con pattern di routing molto specifici.
Backend layer
Postgres (Supabase managed o self-hosted Hetzner) + tRPC o Hono per le API + Drizzle o Prisma come ORM + NextAuth/Clerk per auth. Per workload batch o long-running: BullMQ su Redis. Per real-time: Supabase Realtime o Pusher.
AI layer
Layer di routing model-agnostic + Vercel AI SDK o LangChain.js + provider Claude (Anthropic SDK) + GPT (OpenAI SDK) + Gemini + vector DB (pgvector default, Qdrant per scale) + Langfuse per observability LLM.
Infrastructure layer
Vercel per Next.js (deploy automatico, edge network, regioni EU) o Hetzner Helsinki per data residency stretta + Sentry per error tracking + Plausible/PostHog per analytics + GitHub Actions per CI/CD + IndexNow per SEO immediato.
La cosa importante: ogni layer si può sostituire senza riscrivere gli altri. Se domani Vercel raddoppia i prezzi, sposti su Hetzner senza toccare il codice applicativo. Se Anthropic cambia policy, il layer di routing instrada a GPT o Gemini senza modifiche al business logic. Questa modularità è il vero valore di uno stack moderno.
Frontend Next.js + React + TypeScript
Next.js è il framework standard de facto per software AI custom nel 2026. Le ragioni sono concrete, non religiose.
- Server Components riducono il JavaScript bundle del 40-60% rispetto a React puro, traducendosi in TTI (Time to Interactive) sotto i 2 secondi anche su mobile 4G.
- Server Actions eliminano l'80% del boilerplate per form e mutazioni — niente più API routes manuali per ogni endpoint.
- Streaming nativo per LLM responses: l'utente vede i token apparire token-by-token come in ChatGPT, senza polling custom.
- Edge runtime su Vercel con latenze sotto 50ms in EU, critico per UX di chat AI.
- Static + dynamic rendering ibrido: marketing pages SEO-friendly (statiche) + app autenticata (dinamica) nello stesso codebase.
- Type-safety end-to-end con TypeScript + tRPC: errori di API contract emergono a compile time, non a runtime.
- Ecosistema enorme: ogni libreria React moderna ha integrazione first-class con Next.
L'alternativa seria è Remix, che ha pattern di nested routing eleganti per app con UI molto stratificate (es. dashboard multi-pannello). Per il 90% dei casi però Next.js wins per ecosistema, deploy semplificato su Vercel, e React Server Components che Remix sta ancora rincorrendo.
Tailwind CSS è la scelta default per styling. Componenti UI: shadcn/ui (copy-paste customizzabile) o Radix UI (primitives accessibili). Per design system enterprise consolidati, Mantine o Chakra restano valide.
Backend API e database scelte 2026
Il backend di un software AI custom ha 3 sottosistemi: database, API layer, autenticazione. Le scelte qui dipendono molto dalla scala e dal tipo di carico.
| Componente | Default Datazen | Alternative valide | Quando NON usarlo |
|---|---|---|---|
| Database | Postgres 16 + pgvector | Supabase Postgres, MySQL, MongoDB | MongoDB se hai schema fisso (Postgres vince), Supabase se serve isolamento on-prem |
| API layer | Next.js API Routes + tRPC | Hono (Cloudflare Workers), FastAPI (Python ML) | tRPC se il client non è TypeScript, Next routes se serve un backend separato da scalare indipendentemente |
| ORM | Drizzle ORM | Prisma, raw SQL con node-postgres | Drizzle se vuoi i comfort di Prisma (è più low-level) |
| Auth | Clerk o NextAuth v5 | Supabase Auth, custom JWT | Clerk se vuoi user management self-managed, NextAuth se serve UI auth premium |
| Hosting DB managed | Supabase EU | Neon, PlanetScale, AWS RDS | Supabase se serve performance multi-tenant estrema, Neon se non vuoi serverless |
| Hosting DB self-managed | Hetzner Helsinki | OVH Roubaix, AWS EC2 Frankfurt | Hetzner se serve compliance USA, AWS se cerchi solo costo |
Supabase merita un commento dedicato. Per startup, MVP e progetti early-stage è quasi imbattibile: Postgres managed con auth, storage, realtime, edge functions, e dashboard amministrativa, tutto integrato. Il pricing 25-599€/mese copre la stragrande maggioranza dei casi. Limiti: a scala molto alta (>100 GB DB, >10M righe in tabella) Postgres self-hosted su Hetzner diventa più economico e più controllabile.
FastAPI in Python resta una scelta sensata quando il backend deve fare ML training serio (non solo chiamate LLM) o quando hai un team Python-heavy. Per la maggior parte dei software AI custom moderni — dove l'AI vive nelle chiamate LLM e il backend è "solo" CRUD + orchestrazione — Next.js API Routes + tRPC eliminano il bisogno di un servizio Python separato. Meno componenti = meno fragilità.
Per workload asincroni (batch processing, generazione report PDF, scraping schedulato) BullMQ su Redis è lo standard. Per real-time multi-utente (collaborative editing, live dashboard) Supabase Realtime o Pusher gestiscono websocket senza far reinventare la ruota.
AI layer LLM scelta orchestrazione e vector DB
L'AI layer è dove uno stack ben progettato si distingue. Il principio guida: mai legarsi a un singolo provider LLM. Costruisci un layer di astrazione interno che instrada le chiamate al modello giusto per il task.
| Dimensione | Claude Sonnet 4.6 / Opus 4.8 | GPT-5 / GPT-5-mini | Gemini 2.5 Pro |
|---|---|---|---|
| Costo input ($/1M token) | 3-15 | 1,25-12 | 1,25-7 |
| Costo output ($/1M token) | 15-75 | 10-30 | 5-21 |
| Context window | 200K (1M Opus extended) | 400K | 1M (2M sperimentale) |
| Latency media (p50) | 1,2s (Sonnet), 2,5s (Opus) | 0,8s (mini), 2,0s (full) | 1,5s |
| Forza principale | Ragionamento, scrittura, code | Velocità, multimodale, volume | Context lungo, Google grounding |
| Italiano nativo | Ottimo | Ottimo | Buono |
| Tool calling reliability | 9/10 | 9/10 | 8/10 |
| EU data residency | Bedrock Frankfurt, GCP Belgio | Azure OpenAI Italy (Milano) | Vertex AI Belgio |
Lo stack Datazen di default per le scelte LLM: Claude come daily driver (ragionamento, scrittura, code), GPT-5-mini per volume (task ad alto volume con buon rapporto qualità/prezzo), Gemini per ricerche live (Google Search grounding). Approfondimento su scelte e benchmark in Claude Opus 4.8 cosa cambia.
Vector database — qui le opzioni sono 3:
- pgvector (estensione Postgres): default, costo zero aggiuntivo, fino a circa 1M di embedding restano performanti su hardware modesto. È quello che usiamo nell'80% dei casi.
- Qdrant self-hosted: per volumi 1M-100M embedding, filtri avanzati su metadata, performance prevedibili. Open source, costo solo di hosting.
- Pinecone managed: per chi non vuole gestire infrastruttura vector. Pricing 70-700€/mese a seconda della scala.
Embedding model: text-embedding-3-large di OpenAI (3072 dimensioni, costo trascurabile) per la maggior parte dei casi. Per scenari air-gapped: jina-embeddings-v3 o bge-m3 self-hosted.
Orchestrazione: per agenti multi-step usiamo LangGraph.js (più solido del competitor Mastra in produzione) o codice custom quando il flusso è specifico. Il Model Context Protocol di Anthropic è ormai lo standard per esporre tool aziendali agli LLM: vale la pena adottarlo in qualsiasi progetto che usa più di 3-4 tool callable.
Lo stack descritto qui è quello che usiamo nei progetti di sviluppo software AI e sviluppo web AI. Se vuoi vedere come si è tradotto in un prodotto reale, il caso studio preventivi automatici Zenisbit mostra l'architettura end-to-end con i numeri di produzione.
Infrastructure hosting EU observability deployment
L'infrastruttura definisce se il software regge in produzione o crolla al primo picco. 5 step concreti per uno stack production-ready nel 2026.
Hosting: Vercel EU di default, Hetzner Helsinki se serve self-managed
Vercel deploya Next.js in 60 secondi, ha edge network globale e regioni EU (Frankfurt FRA1, Dublin DUB1). Pricing Pro 20$/utente/mese, Enterprise da 3.000$/mese. Per progetti che superano i 1.000-2.000€/mese di Vercel, valutare migrazione a Hetzner CCX33 (8 vCPU, 32 GB RAM, 60€/mese) con deploy via Docker + Coolify. Railway è alternativa interessante per backend non-Next.js.
Observability LLM: Langfuse self-hosted o cloud
Langfuse traccia ogni chiamata LLM con prompt, response, latency, cost, e user feedback. Self-hosted è gratis (Docker Compose su Hetzner), cloud parte da 29$/mese. Helicone è alternativa SaaS-only. Senza un tool come questi, non sai quanto spendi né perché un agent si comporta male.
Error tracking e analytics: Sentry + PostHog
Sentry per errori client+server (free tier generoso, Team 29$/mese). PostHog per product analytics + feature flags + session replay (free fino a 1M eventi/mese). Plausible per analytics website-level GDPR-friendly (9$/mese). Questi 3 strumenti coprono il 95% dei bisogni di monitoring di un software AI custom.
CI/CD: GitHub Actions + Vercel preview deployments
Ogni pull request genera automaticamente un preview deployment con URL univoco. Test automatici (Vitest per unit, Playwright per e2e) girano in pipeline. Branch protection su main richiede review + green CI. Setup completo in 2-3 ore, paga in mesi di stabilità.
SEO immediato: IndexNow + sitemap dinamica
Per software AI custom con contenuti SEO-rilevanti (blog, listings, marketplace), submit automatico a IndexNow (Bing/Yandex) e sitemap.xml dinamica generata in Next route. Datazen blog è passato da indicizzazione di 10 a 79 pagine in 3 settimane grazie a questa pipeline. Costo: zero. Tempo dev: 1 ora.
Cloudflare Workers + R2 storage + D1 database sono un'alternativa "all-in-one" interessante per chi vuole edge-everywhere. Limiti: D1 è ancora immaturo per workload complessi, R2 ha latenze accettabili ma non eccezionali, e il workflow di dev è meno fluido di Vercel + Postgres. Per progetti dove la latenza edge è critica (chat AI globale, IoT) vale la pena. Per il caso italiano standard, Vercel + Supabase resta più semplice.
Limiti stack standard quando NON usarlo
Lo stack che ho descritto copre l'80-90% dei casi reali di software AI custom italiani. Resta un 10-20% dove serve qualcosa di diverso. Vediamo onestamente quando.
Quando NON usare Next.js: progetti che richiedono fine-tuning custom di modelli open-source (Llama, Mistral) con training su GPU dedicate. In questi casi il backend deve essere Python (PyTorch, Transformers, vLLM per serving) e Next.js può essere usato solo come frontend separato, con FastAPI o Modal.com come backend ML.
Quando NON usare Postgres + Supabase: enterprise con vincoli legacy stretti che impongono Oracle, SQL Server, o DB2 come database obbligatorio. In questi casi il software AI custom diventa un layer sopra il DB legacy via API/CDC (Change Data Capture), non sostituisce il DB principale. Lo stack frontend resta Next.js, il backend cambia (spesso .NET o Java per integrazione SAP/Oracle).
Quando NON usare Claude/GPT/Gemini via API: settori con vincoli di air-gap totale (difesa, intelligence, infrastrutture critiche). Qui serve modello self-hosted (Llama 3.3 70B su H100 dedicata) con guardrail aggiuntivi e zero comunicazione esterna. Costi: 5-15K€/mese di GPU, ma necessario per la compliance.
Quando NON usare Vercel: workload con compute intensivo non-LLM (video processing, ML training, simulazioni numeriche). Vercel ha timeout di 60 secondi per request edge (300 secondi pro). Per task lunghi serve Railway, Fly.io, o Hetzner con worker dedicato.
Quando NON usare TypeScript: praticamente mai. L'unico caso reale è team Python-only che fa principalmente data science e usa Next.js come UI minimale. Anche in quel caso, il frontend in TypeScript paga in stabilità.
Per un'analisi più ampia di build vs buy e quando custom non è la risposta giusta, vedi build vs buy AI aziende come decidere.
Errori di stack che pagano in produzione
Gli errori di stack che ho visto pagare di più nei progetti che mi arrivano in second-opinion. Ognuno è documentato da casi reali, non astratto.
Vendor lock-in su un singolo LLM provider
Pattern: tutto il codice fa anthropic.messages.create(...) direttamente, senza astrazione. Costo: quando Anthropic ha cambiato i prezzi di Opus 4.x del 25% nel 2026, alcuni clienti hanno dovuto riscrivere mezzo codebase per migrare. Soluzione: layer di routing che astrae il provider dietro un'interfaccia comune (input, output, tool calling normalizzati).
No fallback strategy quando l'LLM va giù
Pattern: una chiamata Claude fallisce con 503, l'app crasha o restituisce errore generico. Costo: nei 4 outage Anthropic del 2026, app senza fallback hanno avuto downtime totale. Soluzione: retry esponenziale + fallback automatico su provider secondario + degraded mode (es. risposta cached o regola deterministica).
Zero observability sull'AI layer
Pattern: chiamate LLM senza logging strutturato, nessun tracking di costi, prompt versioning manuale. Costo: cliente arriva a fine mese con bolletta API 8x del previsto, e nessuno sa quale feature ha causato il picco. Soluzione: Langfuse o Helicone dal giorno 1, prompt versioning in repo, dashboard costi per feature.
Framework proprietari del fornitore
Pattern: il fornitore costruisce su un "framework custom" che solo lui conosce. Codice non documentato, dipendenze opache. Costo: quando il cliente vuole cambiare fornitore, deve riscrivere da zero. Stack reale custom = stack standard pubblico (Next.js, Postgres, librerie open source con community attiva).
Hosting US senza valutazione GDPR
Pattern: deploy su AWS US-East perché "è veloce". Costo: cliente farmaceutico chiede certificazione GDPR per audit, il fornitore non può fornirla, contratto a rischio. Soluzione: hosting EU di default per clienti italiani, sempre. Vercel EU + Supabase EU + Claude via Bedrock Frankfurt copre tutto.
Skipare i guardrail deterministici
Pattern: tutto delegato all'LLM, anche cose deterministiche (validazione email, calcolo IVA, controllo data). Costo: hallucination che genera dati invalidi in produzione, debugging incubo. Soluzione: LLM solo dove serve flessibilità, regole deterministiche dove la risposta è prevedibile. Mix 70% logica + 30% AI nei casi maturi.
Per approfondire i costi reali di queste scelte, vedi quanto costa software AI personalizzato 2026. Per il framework di scelta build vs buy con la lente dello stack, vedi build vs buy AI aziende come decidere. Per le implicazioni compliance, AI Act e GDPR software AI custom guida entra nel dettaglio normativo.
Conclusione: lo stack è una scelta strategica
Lo stack tecnologico di un software AI custom non è un dettaglio implementativo da delegare ciecamente al fornitore. Le scelte fatte oggi su Next.js vs alternative, Claude vs GPT, Vercel vs Hetzner, pgvector vs Pinecone determinano il TCO a 3 anni, la velocità di iterazione, e la portabilità del prodotto.
Lo stack Datazen — Next.js + Postgres + multi-LLM model-agnostic + Vercel/Hetzner EU — non è l'unica scelta giusta, ma è quella che ho visto reggere in 30+ progetti senza rewrite, senza lock-in, senza brutte sorprese in produzione. Se stai pensando di costruire un software AI custom e vuoi confrontare lo stack con un esperto, l'audit gratuito è il modo più veloce per partire con la testa giusta.
Vuoi confrontare il tuo stack AI custom con un esperto?
Prenota una call conoscitiva gratuita: in 30 minuti analizziamo lo stack del tuo progetto, identifichiamo i rischi a 3 anni, e ti diamo 3 raccomandazioni concrete su componenti da consolidare o sostituire.
Richiedi ConsulenzaDomande frequenti
Sì, con Llama 3.3 70B, Mistral Large o Gemma 3 27B su una GPU H100 o A100 a 1.500-3.000€/mese di hosting Hetzner GPU o RunPod. Il break-even rispetto alle API arriva intorno a 30-50 milioni di token/mese di volume costante. Sotto quel volume le API restano più convenienti, sopra il self-host paga in costo unitario. Considera anche il tempo dev: gestire un modello on-prem aggiunge 5-10 ore/mese di lavoro DevOps (aggiornamenti, monitoring GPU, gestione context window, ottimizzazioni vLLM o TGI).
No, solo quando fai retrieval-augmented generation (RAG) su un corpus documentale. Per chatbot conversazionali semplici, classificatori, o generatori di contenuti basati solo sul prompt utente, basta lo schema relazionale Postgres senza embedding. Il vector DB diventa essenziale quando hai centinaia o migliaia di documenti su cui l'LLM deve cercare in modo semantico (knowledge base, archivi legali, manuali tecnici). Pgvector (estensione Postgres) copre l'80% dei casi a costo zero aggiuntivo; Qdrant o Pinecone servono solo a volumi molto alti (10M+ embedding) o per filtri metadata complessi.
Layer di routing interno (una funzione TypeScript o un servizio che astrae il provider) con retry logic: prova Claude, se risponde 429 (rate limit) o timeout dopo 30 secondi passa a GPT, se anche quello fallisce passa a Gemini, se anche Gemini fallisce torna un degraded response (cached o regola deterministica). Librerie come Vercel AI SDK o LangChain.js gestiscono questo pattern out-of-the-box con poco codice custom. Critico: normalizzare il formato di input/output tra provider (tool calling, system prompt, streaming), e loggare quale modello ha effettivamente risposto per ogni request. Senza logging il fallback diventa invisibile e non puoi debuggare comportamenti anomali in produzione.
Per dati personali sensibili (sanitari, finanziari, legali, dati biometrici, minori) sì, è una richiesta de facto sotto GDPR e AI Act, e i clienti enterprise lo chiederanno in fase di audit. Per altri casi non è obbligatorio ma è raccomandato per tre ragioni concrete: latenza più bassa per utenti italiani (20-50ms da Frankfurt o Milano vs 100-200ms da US-East), data residency dimostrabile in caso di audit o data subject request, e jurisdiction europea per eventuali richieste legali. Vercel offre regioni EU (FRA1 Frankfurt, DUB1 Dublin), Supabase ha datacenter EU, Hetzner Helsinki è opzione self-managed competitiva, Claude via AWS Bedrock Frankfurt o Azure OpenAI Italy (Milano) coprono il lato LLM.
Model Context Protocol è uno standard aperto creato da Anthropic nel 2024 per esporre tool e fonti dati agli LLM in modo modulare e riusabile. In pratica: scrivi un server MCP che dichiara funzioni callable (es. "cerca cliente per ID", "leggi file Drive", "esegui query SQL"), e qualsiasi LLM compatibile (Claude di default, sempre più anche GPT e Gemini via adapter) può usarle senza re-integrazione custom per ogni progetto. Lo usi quando hai più agenti che condividono gli stessi tool aziendali, quando vuoi disaccoppiare la logica tool dalla logica agent, o quando vuoi rendere i tuoi tool riusabili da team diversi. Per approfondire vedi Model Context Protocol 97 milioni installazioni.
Costi operativi mensili tipici per un software AI custom di medie dimensioni nel 2026: hosting Vercel Pro 20-150€, database Supabase Pro 25-75€, API LLM 50-500€ (early stage) fino a 2.000-5.000€ a volumi maturi, observability Sentry + Langfuse 30-100€, monitoring Plausible/PostHog 10-50€, dominio + email transactional 5-20€. Totale realistico: 150-900€/mese per progetto in produzione attiva, scalabile in base a traffico e volume LLM. Maintenance dev opzionale: 300-1.500€/mese per bug fix, security updates, e piccole feature.
Dipende dal livello di complessità. Vercel AI SDK è la scelta migliore per la maggior parte dei casi: API pulita, streaming nativo, tool calling normalizzato tra provider, ottima integrazione Next.js, learning curve di 1-2 ore. LangChain.js diventa la scelta giusta quando costruisci agenti multi-step con grafi di stati complessi (loop, branching, human-in-the-loop), specialmente combinato con LangGraph.js. Per un chatbot semplice o un generatore di contenuti, Vercel AI SDK è più che sufficiente e ha meno overhead concettuale. Per un sistema multi-agent con tool calling avanzato, LangGraph paga.



