Thought
Seeing inside the database: a data visualizer, an ER diagram, and a live trace of the RAG pipeline
Right now the only way to see what KaryoSpace actually stores in MongoDB is a third-party tool. I want to fix that with a native data browser, a schema map, and a live view of how a question becomes an answer.
28 July 2026
6 min read
Suman Akkisetty
Read thought
Thought
A feature board where you write the ask and AI ships it
What if there was just a backlog where you type the feature you want, a loop builds, tests, and ships it, and you reply on the same line if it's not right yet? The parts that already work, and the parts I haven't solved.
16 July 2026
5 min read
Suman Akkisetty
Read thought
AI Security
Why I built my guardrails before the model, not after
The standard advice is to filter LLM outputs. I filter inputs instead, intercepting before the model is ever invoked. Here's the design, the reasoning, and what the adversarial tests revealed.
6 July 2026
10 min read
Suman Akkisetty
Read article
AI Safety
What building observability into a production AI product taught me about LLM failure modes
Most AI products are black boxes twice over. The model is a black box to the developer, and the product is a black box to the user. AIO changed that, and what it surfaced was not what I expected.
24 June 2026
12 min read
Suman Akkisetty
Read article
AI Systems
KRE: building a knowledge refinement engine that surfaces what your AI doesn't know
The queries that return no sources are the most valuable signals in any AI assistant. Here is how KaryoSpace turns retrieval failures into a structured gap-closure loop.
10 June 2026
10 min read
Suman Akkisetty
Read article
AI Systems
Building the AI home assistant: parallel fetch, smart ranking, and 5-minute cache
Every time a user opens KaryoSpace, a background pipeline assembles a personalized feed from incidents, emails, calendar, and messages. Here is how the synthesis layer works and why the cache TTL matters.
27 May 2026
9 min read
Suman Akkisetty
Read article
AI Systems
Wiring MCP servers into a Go application: stdio transport, JSON-RPC, and the notification problem
Model Context Protocol promised plug-and-play tool use. Reality involved subprocess lifecycle management, interleaved JSON-RPC notifications, and a concurrency model nobody documents. Here is what I found.
20 May 2026
11 min read
Suman Akkisetty
Read article
Infrastructure
Containerising a Go + MongoDB app with zero-downtime deploys and a hardened runtime
Multi-stage Dockerfile, non-root user, read-only filesystem, cap_drop ALL, and an install.sh that generates secrets on first run and never overwrites them. What it took to make the image safe enough for prod.
13 May 2026
10 min read
Suman Akkisetty
Read article
ML Systems
Vector search without a vector database: nomic-embed-text, cosine similarity, and Ollama in production
768-dimensional embeddings from a local Ollama model, stored as float64 slices in MongoDB, queried with a two-pass hybrid retrieval that combines text search and cosine similarity. No Pinecone, no Weaviate.
6 May 2026
10 min read
Suman Akkisetty
Read article
Infrastructure
Visitor analytics from scratch: GeoIP, bot filtering, and a global map without third-party scripts
No Google Analytics. No Mixpanel. I built the full pipeline in Go: SHA-256 IP hashing, MaxMind GeoLite2, 30-signal bot detection, and an admin dashboard that renders a live world map from raw coordinates.
30 April 2026
10 min read
Suman Akkisetty
Read article
Infrastructure
Slash commands as a knowledge pipeline: how /jira, /email, and /meet feed the RAG engine
Every slash command in KaryoSpace is a structured query. After execution, the intent and result pass through storeUserQuery and into the KRE pipeline. Here is the 4-step flow and why commands are better RAG inputs than free text.
27 April 2026
8 min read
Suman Akkisetty
Read article
Infrastructure
Writing an SMTP + IMAP server from scratch in Go: the decisions I regret and the ones I don't
No Postfix. No Dovecot. I wrote the full email stack in Go. DKIM signing, SPF verification, STARTTLS, outbound queue with exponential backoff. Here is what broke and what I learned.
25 April 2026
14 min read
Suman Akkisetty
Read article
Infrastructure
Building WebRTC video calls from scratch: TURN relay, mesh topology, and the three bugs that almost shipped
coturn TURN server with HMAC-SHA256 short-lived credentials, mesh peer connections for small groups, replaceTrack screen share, and a sync.Once race that only appeared when two participants ended the call simultaneously.
22 April 2026
11 min read
Suman Akkisetty
Read article
AI Systems
Publishing KaryoSpace as an MCP server: five tools, two transports, and one isatty check
workspace-mcp exposes search, email send, calendar query, task create, and knowledge lookup over both stdio and HTTP+SSE. The transport is detected at startup with isatty, so the same binary works in Claude Desktop and HTTP clients.
19 April 2026
10 min read
Suman Akkisetty
Read article
AI Security
Auth without a provider: OIDC discovery, bcrypt, TOTP, and the dev login double-guard
Generic OIDC via RFC 8414 discovery, local auth with bcrypt cost 12, RFC 6238 TOTP, org isolation from email domain, 8-hour idle timeout, and a dev login that is triple-gated against production exposure.
16 April 2026
11 min read
Suman Akkisetty
Read article
Infrastructure
Sprint lifecycle, Fibonacci story points, and AI task creation: building the PM layer
A startSprint function that enforces one-active-sprint per project, a validStoryPoints map that rejects non-Fibonacci inputs, a burndown endpoint, and an AI task creator that extracts structured tasks from freeform text via LLM JSON.
14 April 2026
10 min read
Suman Akkisetty
Read article
Infrastructure
Unified search across 6 modules: goroutine fan-out, textScore ranking, and the 150ms debounce fix
Six goroutines query emails, messages, incidents, tasks, knowledge, and notes concurrently. Results merge through a rankResults function that combines MongoDB textScore, recency decay, and per-module priority into a single ranked list.
11 April 2026
9 min read
Suman Akkisetty
Read article
Infrastructure
Stripe webhooks, idempotency, and the billing guard that prevents plan bypass
Signature verification before body parse, idempotency via a billing_processed_events collection, requirePlan middleware with a planCovers order map, and a canAddUser check that enforces free-tier seat limits at the API boundary.
8 April 2026
10 min read
Suman Akkisetty
Read article
Infrastructure
Real-time notifications with WebSocket push and a 60-second poll fallback
createNotification writes to MongoDB and pushes immediately over WebSocket. Clients that miss the push catch up on the next 60-second poll. VAPID web push handles 410 Gone cleanup. Mark-read filters on user_id to prevent cross-user manipulation.
5 April 2026
9 min read
Suman Akkisetty
Read article
Infrastructure
Demo seeding at scale: five verticals, 400 employees, and a social graph built department-first
A standalone seed CLI generates a realistic org: emails, messages, incidents, tasks, and calendar events for five industry verticals. The _seeded safety flag prevents double-seeding. Embedding generation is throttled to one request per second.
2 April 2026
8 min read
Suman Akkisetty
Read article
Infrastructure
Building enterprise integrations in Go: Slack, Jira, Confluence, ServiceNow, Gmail, and Outlook
Six external systems, one DataSource interface, and a sync worker that handles OAuth refresh, chunked vectorization, and 15-minute polling. Here is the architecture that keeps KaryoSpace's knowledge graph current.
3 March 2026
12 min read
Suman Akkisetty
Read article
ML Systems
How I chunk documents for RAG: word-count windows, overlap, and the PDF extraction problem
Character-count chunking breaks sentences mid-word. Token-count chunking requires a tokenizer dependency. Word-count with 50-word overlap hits the right balance for a Go RAG pipeline with no ML framework.
10 March 2026
9 min read
Suman Akkisetty
Read article
ML Systems
Building a RAG pipeline without frameworks: what I learned
No LangChain. No LlamaIndex. No abstraction layer. Just Go, MongoDB, and a pipeline I understand completely. This is what the decision cost me, and what it taught me.
17 March 2026
11 min read
Suman Akkisetty
Read article
AI Safety
Multi-LLM routing in production: when local inference is good enough and when it isn't
KaryoSpace runs Groq, Gemini, and Ollama behind a single interface. Here is how the routing layer works, what the latency numbers actually are, and when local inference breaks down.
24 March 2026
12 min read
Suman Akkisetty
Read article
Story
438 commits in one month: what solo building at AI speed actually looks like
53 commits in November, 438 in March. A $0 infrastructure breakdown, a systemd service that runs Claude as a persistent coding partner, and what happens to institutional memory when the velocity is this high.
30 March 2026
12 min read
Suman Akkisetty
Read article
Infrastructure
WebSocket messaging at scale: hub architecture, @mentions, and the concurrency bugs I shipped
Building a real-time messaging system means confronting Go's concurrency model head-on. Here is the Hub design that handles fan-out, the @mention token format, and the three race conditions I did not catch in code review.
25 February 2026
10 min read
Suman Akkisetty
Read article
Infrastructure
Calendar sync without polling: OAuth callbacks, token refresh, and the push guard that saved us
Syncing Google Calendar and Outlook without creating duplicate events requires a push guard, read-at-call-time credentials, and careful handling of the invalid_grant error that only appears in production.
18 February 2026
9 min read
Suman Akkisetty
Read article
Incident Mgmt
SLA enforcement in Go: a 5-minute ticker, system audit trails, and dual-write to ServiceNow
The SLA worker runs on startup, not on first breach. Here is the priority matrix, the StartSLAWorker design with a cancellable context, and why fan-out notification to both assignee and reporter matters.
11 February 2026
8 min read
Suman Akkisetty
Read article
ML Systems
JWZ email threading in Go: building the RFC-correct conversation tree your inbox actually shows
Message-ID, In-Reply-To, and References parsed into a ThreadContainer graph, dummy nodes for missing parents, wouldCycle guards, subject-line normalisation for broken clients, and thread_id stored at ingest so rendering is a single lookup.
4 February 2026
9 min read
Suman Akkisetty
Read article
AI Systems
AI-powered notes with scoped search: keeping personal context out of the org knowledge graph
Personal notes must never leak into org-wide RAG queries. The NoteStore uses user-scoped MongoDB text indexes, and a nil-to-empty-slice fix that took one production bug to discover and five minutes to fix.
12 January 2026
8 min read
Suman Akkisetty
Read article
Vision
The problem I couldn't stop thinking about: why enterprise SaaS is broken and what I'm building instead
Twenty years in enterprise IT. Twelve tools that do not talk to each other. One AI that could fix it — but only if the data fragmentation problem was solved first. This is the idea behind KaryoSpace and why the market is ready for it now.
18 November 2025
13 min read
Suman Akkisetty
Read article