Skip to content
Velaris

The Velaris blog

How we're building an AI OS in public — product notes, engineering deep-dives, and playbooks.

Subscribe via RSS

Building 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 ·