RSSAmplifier

Blog

intrepidkarthi

Karthikeyan NG — Engineer, Author, Speaker. CTO & CISO building stablecoin settlement infrastructure. Quant trading in public at feaws.xyz. Crypto + AI infrastructure since 2008.

intrepidkarthi.comRSS feed ↗181 posts

Latest posts

a limit order book and matching engine in go

Three weeks, 21 releases, 20,299 lines of Go and 19,906 lines of tests. An embeddable central limit order book with integer-exact pricing, a lock-free single-writer core and machine-checked crash recovery. What it does, what it deliberately refuses to do, and the three things that found bugs the test suite couldn't.

my voice journal will not speak tamil

Apple's Speech framework handles 34 languages. DailyVox ships its interface in five. The binding constraint on an on-device multilingual app is sentence embeddings, not speech recognition, and Apple ships those for five languages and no more. Tamil is unreachable, and I stopped calling it deferred.

8 out of 8: the blind test that closed my voice cloning feature

I spent two weeks on runtime engineering for on-device voice cloning, then ran a one-hour forced-choice blind test against real recordings and scored 8/8 identifying the fake. p = 0.0039. Every ear test before it had compared two synthetic clips to each other, which tells you which is less bad and never whether either is good.

building topical authority from zero traffic

Three months. Five posts in a single narrow niche. The trajectory you can actually hit, and the mistakes that compound badly if you skip them.

a twin that refuses to predict your future — where DailyVox is, and where it's going

DailyVox builds a model of one person from their own journal, on their phone. It measurably fails at forecasting their mood — and that failure is the product boundary, not a bug. Where the build is, and where it's headed.

RSS in 2026 — the best distribution channel nobody uses

RSS subscribers read 10x more posts per delivery than email, churn at 1/8th the rate, and require zero infrastructure to support. Almost no creator uses it. Here is why that is a mistake.

llms.txt in practice — what it is, what to put in it

A plaintext file at the website root that tells LLM crawlers what they should index. The new robots.txt, except this one matters.

The machine learning career path in India nobody draws honestly

Every machine learning career path guide for India draws the same neat ladder of certifications and job titles. The real ladder is about what you own and what you can be trusted to decide, not what you have completed. Here is the honest version of the rungs, with what actually moves you up each one, from someone who hired at every level.

Machine learning projects for final year: how to pick one that actually helps you

Your final-year machine learning project is the first real portfolio piece most Indian students will have, and almost everyone treats it as a checkbox to clear instead. I have judged these at hackathons and screened them on resumes. Here is how to choose one that works for you afterward, instead of one that blends into the pile.

Spec-driven development is the verification bottleneck with a name

Spec-driven development is being sold as a new methodology for the agent era: write a precise spec, let the agent build to it. It is a good idea. It is also not new. It is the thing I have been arguing for years, that generation got cheap and verification became the work, finally given a name and a workflow. The spec is not documentation. It is the oracle.

Independent quality gates for coding agents: stop letting the agent grade its own homework

The agent that wrote the code should not be the one that decides it is correct. Same model, same context, same blind spots, now also marking its own homework. The fix is an independent verifier the agent does not control. Here is the gate stack I actually enforce, and why the order matters.

The privacy-first on-device AI app architecture behind DailyVox

DailyVox runs the AI on your phone, not on my server. That one constraint decides the entire architecture. Every component that is normally a cloud call has to have an on-device answer, or it does not ship. Here is the actual stack, layer by layer, and what each layer costs.

Why my backtest works but live trading loses money

I took a clean backtest live and the equity curve inverted inside a week. Same code, same market. After watching it happen from both sides of an exchange, I stopped calling it luck. The backtest and the live book are different games, and the gap has a fixed set of causes. Here they are in the order they cost me money.

The bottleneck is me

Three and a half years of following one cost curve, and it has landed in my own chair with a physical symptom. I keep six to eight terminals open at once, agents generating in parallel, and the one thing everything queues behind is me deciding what is true. Generation went ambient. The bottleneck walked up the bench and sat down on me.

what I learned from running a public PnL

Three years of a public trade log, now a live PnL dashboard on feaws. The good months were teaching moments. The bad months were better. Five lessons that do not show up in any trading book.

Verifiable Delivery: what comes after Continuous Delivery when the machine writes the code

For twenty-five years the bottleneck in software was writing the code. That cost is now near zero, and the gauges we used to measure engineering work broke with it: in one controlled trial, developers using AI felt about 20% faster and were measured about 19% slower. What replaces the old discipline is verification. I call it Verifiable Delivery, and it is the work that survives when the machine…

the OG image generation pipeline I wish someone had given me

Fourteen SVG motifs, one template, build-time PNG render. Open Graph images that cost zero ongoing and look right for every post. Here is the pipeline.

the economics of on-device AI — zero API cost is not the same as free

On-device AI eliminates the per-request API cost. It does not eliminate the engineering cost, the device cost, or the capability cost. Here is the actual unit economics.

minecrAft — building a voxel game for my son

My son asked for Minecraft. I built him one — a custom WebGL voxel engine, no game libraries, an Electron desktop app, and a web version at intrepidkarthi.com/minecraft.

migrating without losing SEO juice — the actual checklist

Eighteen years of accumulated backlinks. One migration. The wrong move kills 80% of it in a week. The checklist that did not.

the TwinEngine — building a personality model entirely on-device

The TwinEngine reads a year of your journal entries and builds a model of how you think, what you care about, and what triggers your worst weeks. Everything runs on your phone. Here is how.

what the 2022 webshell compromise taught me about owning my archive

On September 4, 2022, someone dropped seven zero-byte PHP files at the root of my WordPress install. The site survived. The trust did not. Here is what I rebuilt around the lesson.

The machine learning interview questions I actually asked as a hiring CTO

Every list of machine learning interview questions gives you the textbook answer to 'what is overfitting.' None of them tell you the follow-up I asked after you gave it, which is where most candidates fell apart. I hired ML engineers. Here are the questions I actually used and, more importantly, what I was really testing with each one.

the case for publishing your strategy — transparency as edge

Why making your trading strategy public almost never destroys it, and why the edge from publishing usually exceeds the edge you lose. Five claims, one falsifiable test.

On-device AI memory, privacy-first: how DailyVox remembers without a server

An assistant that forgets you every session is a toy. So it needs memory. The easy way to give it memory is to ship your history to a vector database in someone's cloud. DailyVox does not have that option, because nothing leaves the phone. Here is what on-device memory actually takes, and why the data path is different, not just smaller.

18 Years of WordPress. I'm Done.

After 18 years on WordPress — through plugin rot, database corruption, spam floods, and one too many 'critical update' emails — I rebuilt intrepidkarthi.com from scratch on Astro, Markdown, and Vercel. Here is the full architecture, the migration story, and why I should have done this a decade ago.

AI projects for students: the ones that are already obsolete, and the ones we actually ask about

Most AI projects students put on a resume were good signals in 2020 and are dead ones now. I have screened these as a CTO and I co-wrote a book of them, so I can tell you exactly which projects make a hiring manager's eyes glaze and which ones make them ask a follow-up question. The list changed. Most students are building the old one.

Survivorship and look-ahead bias: the two ways your crypto backtest data lies

Before slippage or fees or psychology gets its turn, the data itself lies. Survivorship and look-ahead bias make a crypto backtest look brilliant using information a trader on that date never actually had. Here is how both work, and why point-in-time data is the only real fix.

DailyVox: Why I Built a Voice Journal That Stays on Your Phone

I have been writing a diary for 20 years. When the habit started slipping, I switched to voice notes. That experiment turned into DailyVox.

feaws — the quant lab is public, and so is the math

A walkthrough of the feaws.xyz whitepaper in plain English. Five hypotheses, one engine, every trade public. The content IS the product. The trading IS the proof.

I like the way I am — what this blog used to be called

Going through the old WordPress wp_options table during the archive migration, I found the original name of this blog. It wasn't intrepidkarthi. It was 'I like the way I am' with the tagline 'Earth is a nice place to enjoy our life.' Notes on the slow drift from one identity to another.

The Lost Archive — 58 posts that didn't survive the WordPress reinstall

When I rebuilt this blog in 2026 from a cPanel SQL dump, 27 posts came back clean. 58 did not. Here is the memorial — the slugs, the years, the topics — for posts I wrote between 2010 and 2013 that exist now only in Google's sitemap and the Wayback Machine.

Books I Have Read

A complete list of books I've read over the years — from fiction to business strategy, self-help to thrillers.

why 'Data Not Collected' is a moat in 2026

Apple's strictest privacy label. What it actually requires, why almost no app gets it, and why the gap will widen every quarter.

I’ve Been Writing a Diary for 20 Years. Then I Couldn’t Anymore.

I’ve Been Writing a Diary for 20 Years. Then I Couldn’t Anymore.

WidgetKit + AppIntents for habit-forming journaling

The home screen widget is the highest-leverage retention surface on iOS. AppIntents make it interactive. Combined correctly, they convert reminders into recordings without opening the app.

CryptoKit AES-256-GCM in iOS apps — what is easy, what is not

Apple's CryptoKit makes authenticated encryption look like a three-line API. In production it is more nuanced. Here is the practical guide for shipping it correctly.

Apple Intelligence vs sending it to OpenAI — the actual tradeoffs

Same prompt, same audio, two providers. Latency, cost, capability, privacy — what each one actually gets you, with numbers.

I wrote an ML book. Here are the ones I'd actually recommend, and why I'd tell you to close most of them

I co-authored a machine learning book, so this will sound strange coming from me: most people trying to learn ML should read fewer books, not more. Book-buying is the most comfortable form of procrastination in this field. Here is the short list worth your time, and the point at which you should stop reading and start building.

CoreData + CloudKit encrypted sync without trusting Apple

Syncing user data through Apple's CloudKit while ensuring Apple itself cannot read it. The architecture, the choices, and the one constraint that makes the whole thing honest.

how to run a personal post-mortem on a losing week

Most retail traders end a losing week by closing the broker screen. The professionals open a different one. The template, the rules, and the 30-minute constraint that makes it work.

from insurance fraud detection (2018) to crypto fraud signals (2026)

Eight years apart, two fraud-detection problems. Same shape, different data, different stakes. What transfers, what does not, and what I would do differently the second time.

Verifying AI-generated pull requests at scale: we stopped reading the diff

When agents open pull requests faster than any human can read them, reading every diff stops being a strategy. It is a queue that grows without bound. Verifying AI-generated PRs at scale is a different job from reviewing them, and the teams that do not make that switch are quietly approving code nobody understood.

SFSpeechRecognizer deep dive — what requiresOnDeviceRecognition really gets you

Six characters in a single property flip the entire trust model of a speech-recognition app. What you gain, what you lose, and what the API will not tell you.

Feaws: How I Built a Bitcoin Forecasting Engine from Scratch

I started working on Feaws in late 2025, not because I thought I could beat the market, but because the existing tools frustrated me. Here's the technical breakdown of what I built.

I hired ML engineers with no ML experience. Here's what substituted for it

The fresher's trap: no ML job without ML experience, no ML experience without a job. I have hired people straight out of that loop. Not on potential, and not on certificates. On three specific things that stood in for experience, and that anyone can produce in a few weekends without a job.

from writing to speaking — the mechanics of switching journal modes

Twenty years of writing a daily diary, then six weeks of silence, then voice notes. What you gain and what you lose when you switch from typing to talking.

INR stablecoins — when, how, who, and what could block them

USD stablecoins moved $11 trillion in 2024. An INR-denominated equivalent does not exist at scale. The mechanism, the candidate issuers, and the three things that could prevent it from happening.

NLTagger for sentiment + NER + POS — gotchas nobody warned me about

Apple's NaturalLanguage framework looks clean in the WWDC slides. In production it has six specific gotchas that cost me hours each. Here is the list.

LLM non-determinism in production: temperature zero still lies

Set temperature to zero and the model is supposed to be deterministic. Same input, same output, every time. It is not, and the reason is not the sampler. It is the hardware. If your production system assumes a fixed prompt gives a fixed answer, you have built on a foundation that moves, and the place it tends to move is the place that costs you money.