dhaga.blog

dhaga. blog

The Dhaga blog

Deep engineering dives on the hardest problems we solved, and practical guides to how Dhaga fits real estate, finance, sales, recruiting and more.

Browse by category

Latest writing

Engineering

Shipping Pages: the deadlock we almost deployed

Two weeks, many parallel AI agents, one merge. Which layer of verification caught which bug, the boot deadlock our own tests could not see, and what we changed.

engineeringpostgresrow-level-securitytesting
General

Pages: the page behind every person you meet

Notion- and Obsidian-style pages, databases, a daily Journal and a canvas, next to your people, meetings and follow-ups. Private by default, yours to export.

productreleasedhagapages
Engineering

DPDP consent on a signup form: what the law asks, what we built

What India's DPDP Act asks of a signup checkbox, how GDPR and LGPD compare, and how we built a separate, recorded consent box, including what it cannot prove.

engineeringprivacydpdpgdpr
Engineering

The nudge we could already send twice

Delivering every minute didn't add a double-send; it made an old one routine. Why the queue is materialised, and why the claim must happen in the database.

engineeringpostgresconcurrencyserverless
General

Dhaga speaks first

Your daily summary now arrives at a time you choose, and nudges land before the meeting. Plus search on every table and notes while you add a person.

productreleasedhagapersonal-crm
Engineering

The CI that waited on itself

Twenty-nine minutes of CI cut to about ten by splitting the job and sharding the suite — but the changes that mattered most stopped a green tick lying.

engineeringcigithub-actionsvitest
Engineering

Your login page is a signup form

A captcha on the signup form guards one door of five: in most auth libraries, magic links, email OTP, One Tap and OAuth all create accounts by default.

engineeringsecurityauthenticationbetter-auth
Engineering

Don't build sharing with row-level security

Widening row-level security with an OR so colleagues can share records exposes every column and costs your hottest index. Publish a projection instead.

engineeringpostgresrlssecurity
Engineering

One token cannot be both

On a light ground, a colour's fill and text contrast multiply to a constant — ours is 16.78 — so no one value clears 4.5:1 at both. Hence accent pairs.

engineeringdesign-systemsaccessibilitycss
Engineering

The matcher that meant something else

Duplicate detection merged strangers via a tag suggester that groups by surname on purpose. Why types couldn't catch it, nor a smarter helper fix it.

engineeringcorrectnessapi-designwar-story
Engineering

The model that could not read a card

Card scans came back confident, well-formed and wrong. The same 408px image read perfectly on a stronger model — the fix was the model, not more pixels.

engineeringaillmvision
Engineering

The summariser didn't fabricate. It overclaimed.

We summarised 847 commits with LLMs and audited every line. No invented features — but true-when-written claims, and a 'shipped' path no user could reach.

engineeringaillmdocumentation
General

Where did you get that?

An AI that tells you things about your friends is worthless unless you can check it. Every fact Dhaga derives carries a receipt, and dies with its note.

producttrustprivacyai
Guides

Dhaga vs Covve: A Context Graph vs a Contact Scanner

Covve vs Dhaga — a world-class card scanner built for trade-show teams, versus an AI-native personal CRM that turns your notes into a private graph.

personal-crmcovvecomparisonguide
Guides

Dhaga vs folk: Team Relationship Intelligence vs Your Own Memory

folk vs Dhaga, honestly: folk shows which teammate knows a prospect; Dhaga shows what you know about them. Pricing, export and graph depth compared.

personal-crmfolkcomparisonguide
Guides

Dhaga vs Mesh: Network Mapping at Scale vs Memory With Receipts

Mesh (formerly Clay) vs Dhaga: Mesh maps who is in your network; Dhaga records what you know and what you promised. Pricing, capture and provenance.

personal-crmmeshcomparisonguide
Guides

Dhaga vs Orvo: A Derived Graph vs a Drawn Map

Orvo vs Dhaga — career relationship intelligence with a hand-drawn Network Map, versus a personal CRM whose graph is derived from the notes you write.

personal-crmorvocomparisonguide
Guides

Personal CRM Comparison 2026: Dhaga vs Dex, folk & more

A personal CRM comparison for 2026 — Dhaga, Dex, folk, Mesh, Covve, Orvo and Monica on capture, AI, relationship graphs, platforms, privacy and price.

personal-crmcomparisonguideroundup
Engineering

One message, two notes

One message, one place — a rule that lived only in the prompt, checked by no code. Why a Zod refinement was the wrong lever, and why we repair bad plans.

engineeringaillmzod
Engineering

The LLM didn't truncate. It edited.

A capture came back four fifths shorter, silently. Not a token limit, not summarisation — the model filtered to fit the schema. A schema is a filter too.

engineeringaillmstructured-outputs
Guides

Dhaga vs Twenty: Personal CRM vs Team CRM

Twenty and Dhaga look alike on a checklist but solve different jobs. Compare capture, pipelines, AI, privacy, teams, and what feature parity would take.

personal-crmtwentyopen-sourcecomparison
Engineering

The fan-out that killed the search

Six sources under one Promise.all, a pool of three: HTTP 500 with one user. Why Promise.all multiplies concurrency when every read takes a connection.

engineeringpostgresperformancemulti-tenant
Guides

AI Contact Manager: Networking on Autopilot (2026)

Turns notes and cards into a searchable network — the best AI networking tools in India for 2026.

aipersonal-crmnetworkingindia
Guides

Best Personal CRM Apps in India (2026): Top Picks

The best personal CRM apps in India for 2026 — privacy-first, AI, and free options compared so you can choose in five minutes.

personal-crmindiacomparisonguide