06 May 2026

AI-native vs AI-adjacent — the architecture distinction

most "AI-powered" software is just software with an API call bolted on. that's not AI-native. that's AI-adjacent.

there's a distinction that took me a while to fully internalise — and once I did, it changed how I design everything.

AI as a feature means: here's a product, we added AI to make it smarter. autocomplete. a summary button. a chatbot widget in the corner. the system still fundamentally assumes a human is in the loop making decisions.

AI as the architecture means: the AI is the decision-making layer. remove the human and the system keeps running. the logic lives in the model, not in a switch statement.

I started noticing this distinction when I built the job scout agent: it doesn't surface jobs for me to look at. it scores them, filters them, and writes the day's briefing. if I never opened it, it would still run. the decision about what's worth my attention has already been made. that's a fundamentally different mental model than "AI that helps me do X."

the question that changed how I think about system design: what would this system do if a human never touched it again? if the answer is "nothing useful" — it's AI-adjacent. the AI is decoration. if the answer is "it keeps operating, adapting, and producing value" — you've built something AI-native.

I've seen this play out across the agents I've built: outreach dispatchers, pre-hiring signal monitors, content pipelines. the ones that actually freed up my time weren't the ones that gave me better information. they were the ones that made the decision for me and only escalated when something broke the pattern.

that's the shift. not using AI — designing systems where AI holds the wheel. what are you building that would still run without you?

AIEngineeringAgentDesignAIArchitectureBuildingInPublicSoftwareEngineering

Originally on LinkedIn

newer Hand-coding is the slow path — agentic orchestration workflowolder Local RAG system on Ollama — interrogating classic literature with ChromaDB + Mistral