The Velaris blog
How we're building an AI OS in public — product notes, engineering deep-dives, and playbooks.
Subscribe via RSSBuilding in public
The audit that measured nothing
I grepped a file to check for missing data, found the problem, and reported it. The strings I counted didn't exist. What I built instead was better.
Vithu ·
Building in public
We built a demo Google couldn't see
Eleven interactive apps, a guided tour, thousands of lines of React — and a crawler that received 76 words. One directive was the difference.
Vithu ·
Building in public
We built a redesign, then deleted all of it
Four phases of work, reverted in one message. Why that was the right call, what made it expensive, and the cheaper way to be wrong.
Vithu ·
Engineering
AI agent memory: what to keep and what to throw away
Context windows aren't memory. The four tiers a working agent needs, why summarising too early destroys runs, and how to stop context rot.
Vithu ·
Tutorial
AI agent security: scoping access before you grant it
The threat model isn't a rogue AI — it's an agent doing exactly what an attacker's email told it to. Practical controls, in the order they matter.
Vithu ·
Concepts
AI agent use cases: where they work and where they don't
A grounded map of what AI agents are genuinely good at today, the tasks they quietly fail, and the property that separates the two.
Vithu ·
Tutorial
How to automate inbox triage with an AI agent
A working triage setup: what to classify, what to automate, what must stay manual — and the archive-don't-delete rule that makes it safe.
Vithu ·
Tutorial
How to automate meeting scheduling with an AI agent
Booking links solve the easy half. What an agent adds, the timezone and buffer rules that decide quality, and why sending the invite needs a human.
Vithu ·
Engineering
client:only vs client:load — the directive that cost us a page
One Astro directive made an interactive page invisible to search engines. How to tell which you need, and how to check what crawlers actually see.
Vithu ·
Tutorial
How to design tools an AI agent can actually use
Most agent failures are tool design failures. Naming, arguments, error messages, and why wrapping your REST API one-to-one produces a bad agent.
Vithu ·
Tutorial
How to monitor AI agents in production
Uptime and error rates tell you almost nothing about an agent. What to trace, which four metrics actually matter, and how to alert without noise.
Vithu ·
Tutorial
How to reduce LLM API costs without making it worse
Seven levers, ordered by how much they save per hour of work. Start with the requests you shouldn't send at all, not with a cheaper model.
Vithu ·
Tutorial
How to test AI agents when output isn't deterministic
Assert on behaviour, not strings. Golden traces, tool-call assertions, and the adversarial cases most agent test suites never cover.
Vithu ·
Comparison
MCP vs function calling: a protocol, not a replacement
They operate at different layers and people compare them as rivals. What MCP actually standardises, what it doesn't, and when a direct integration wins.
Vithu ·
Tutorial
How to migrate from Zapier to AI agents
Not a rip-and-replace. Which Zaps to keep forever, which ones an agent handles better, and a five-step migration that never leaves you without a fallback.
Vithu ·
Engineering
OAuth token storage: encrypting what you can't afford to leak
Refresh tokens are long-lived credentials to someone else's account. Envelope encryption, scoping per run, and the refresh race that corrupts them.
Vithu ·
Comparison
Open-source vs proprietary LLMs: the cost math nobody shows
Self-hosting looks cheaper per token and usually isn't. Where the crossover actually is, and the three reasons that beat cost either way.
Vithu ·
Engineering
Prompt injection: why you can't prompt your way out of it
Every mitigation people reach for is probabilistic. The only controls that hold are architectural — and they assume the injection already succeeded.
Vithu ·
Comparison
RAG vs fine-tuning: which problem are you actually solving?
RAG adds knowledge. Fine-tuning changes behaviour. They fix different failures, and the wrong choice is expensive in a way that isn't obvious for months.
Vithu ·
Engineering
Rate limiting when you're the client, not the server
Most guides teach you to protect your API. Agents mostly consume other people's. Token buckets, jitter, and respecting Retry-After properly.
Vithu ·
Engineering
Multi-tenant isolation in Postgres: deny by default
Row-level security only helps if the policies are right. The failure modes that look secure in review — and the assertions that catch them.
Vithu ·
Comparison
Single agent vs multi-agent: when splitting actually helps
Multi-agent architectures are fashionable and often worse. The three conditions that justify a split, and the coordination costs nobody budgets for.
Vithu ·
Engineering
Streaming LLM responses: the parts that break in production
Streaming is easy until a connection drops mid-token. Backpressure, resumability, buffering proxies, and why tool calls change the whole problem.
Vithu ·
Building in public
The mascot that kept flying backwards
A 3D robot flies through our homepage. Getting it to face the right way took three failed fixes and taught me to stop debugging by eye.
Vithu ·
Concepts
Types of AI agents: a taxonomy that actually helps
Textbook agent categories don't map to anything you'd build. A more useful split by autonomy, scope, and how many steps an agent plans ahead.
Vithu ·
Building in public
We built a demo you can break instead of a product video
Videos show the happy path at the vendor's pace. We shipped the real interface with fake data, and the constraint made the product better.
Vithu ·
Engineering
Webhook idempotency: handling the same event twice
Providers deliver at least once, so your handler will see duplicates. Verify the signature, key on the event id, and do the work in one transaction.
Vithu ·
Concepts
What is an AI operating system? A definitive guide
The full definition: the five properties, the architecture underneath, what it isn't, the hard problems nobody solved yet, and how to evaluate one.
Vithu ·
Concepts
What is an AI workflow?
The middle ground between a rigid automation and a free-roaming agent: fixed steps with model calls inside them. Often the right answer, and underrated.
Vithu ·
Building in public
We deleted our best marketing stats because they weren't true
2.1M kg of CO₂ saved. $12M in compute costs. 200+ apps. Every one of those numbers came out of our site, and the pages got better.
Vithu ·
Concepts
What is retrieval-augmented generation (RAG)?
RAG lets a model answer from documents it was never trained on. How the pipeline works, where it breaks, and why agents lean on it constantly.
Vithu ·
Concepts
AI agent orchestration: coordinating more than one agent
Multi-agent systems fail in ways single agents don't. The patterns that hold up, the ones that don't, and when one agent is the right answer.
Vithu ·
Concepts
AI agents vs workflow automation: when each one wins
Zapier-style rules are deterministic and cheap. Agents handle judgement. An honest comparison of where each belongs, from people building both.
Vithu ·
Comparison
AI copilot vs AI agent: who is holding the controls
A copilot works beside you in one app. An agent works instead of you across many. The distinction is about initiative, not intelligence.
Vithu ·
Comparison
Build vs buy AI agents: an honest decision framework
The demo takes a weekend. The 20% that follows takes a year. What actually costs time when you build agents in-house — and when it's still right.
Vithu ·
Comparison
Chatbot vs AI agent: the difference that matters
Both take a message and reply. Only one changes the state of your systems. Where the line actually falls, and why most 'agents' are chatbots.
Vithu ·
Engineering
LLM model routing: the cheapest model that can do the job
Sending every prompt to a frontier model is the default and it's wasteful. How to classify a request first, then route it — including the fallback chain.
Vithu ·
Engineering
Programmatic SEO without shipping doorway pages
We generated 600 integration pages. The difference between a page set that ranks and one that gets demoted is what varies between the pages.
Vithu ·
Comparison
RPA vs AI agents: what changes when the bot can read
RPA automates the clicks. Agents work at the API layer and handle judgement. Why brittleness, not intelligence, is the real difference.
Vithu ·
Tutorial
Transactional email that actually arrives: SPF, DKIM, DMARC
Your sign-in codes are worthless in spam. The DNS records that authenticate your domain, and why one suppression list will lock users out.
Vithu ·
Concepts
What is agentic AI? The term, minus the hype
Agentic AI describes a spectrum, not a switch. The five levels from autocomplete to autonomy, and an honest account of where the technology actually is.
Vithu ·
Concepts
What is an AI agent? A working definition
An agent isn't a chatbot with plugins. The four properties that separate an agent from a very good autocomplete — and the one most products are missing.
Vithu ·
Engineering
Email enumeration: how your login form leaks your user list
Identical error messages aren't enough — response timing leaks the same secret. How to make a signup endpoint that reveals nothing about who has an account.
Vithu ·
Engineering
How to store OTP codes securely (not as plain hashes)
A 6-digit code is only a million possibilities. Why SHA-256 isn't enough, what a server-side pepper buys you, and how to make verification atomic.
Vithu ·
Engineering
Human-in-the-loop: shipping agents that don't scare people
Nobody wants an agent with root access. The three-tier approval model behind Velaris, why per-run scoped credentials matter, and what we refuse to automate at all.
Vithu ·
Engineering
How Velaris picks 1 tool from 1,000: the capability mesh
Tool schemas don't fit in a context window. How we treat connectors as data an agent searches at runtime, instead of stuffing 1,000 definitions into a prompt.
Vithu ·