Changelog
What shipped each week — the features and fixes you would actually notice, newest first.
This is what shipped, week by week — the features and fixes someone using Dhaga would actually notice. It is derived from the project's own build history, so every entry below traces to work that really landed.
Work that isn't user-visible — internal plumbing, refactors, tests, infrastructure — lives in the build timeline instead. For where a feature stands today, shipped or otherwise, read the roadmap and the build checklist. Newest week first.
You can stop reading whenever you like: the most recent weeks describe the product as it stands today, and the weeks below them are history.
31 Aug 2026
The week is still underway. So far: sending DONE the moment you finish a voice note works.
Fixed
- DONE no longer beats your voice note to the server. Record a voice note on WhatsApp or Telegram, type
DONEstraight after, and it used to answer "Nothing to save yet" — so you had to sendDONEa second time, every time. Your phone only delivers a voice note or a photo once it has finished uploading it, while a typedDONEleaves instantly, so the command really did arrive first.DONEnow waits a few seconds for anything still on its way and saves it in the same batch, including when a card and a voice note are uploading together. It still tells you there is nothing to save when there genuinely isn't — and it now stays quiet, instead of contradicting itself, if you sendDONEtwice while a batch is already being saved.
24 Aug 2026
Dhaga groups the people who meet together under one shared note, asks how much access you want to grant before you connect an account, shows every way of adding someone in one list you see first, takes "not a duplicate" for an answer, and keeps every forwarded message — including the ones that are about nobody at all.
New
- A forwarded message that isn't about a person is finally kept. Forward a reminder to yourself — "remind me to send the revised quote on Friday" — and it lands straight on your plan under General, with no question to answer. Forward something about a company you already have, and the note is filed on that company with its reminders. Both used to produce nothing at all: the reply said "I couldn't place that message" and the words were gone, because there was nowhere in the plan for a message that named no person. Nothing is discarded any more — anything that still can't be placed goes to your Inbox carrying its own text, so the worst case is a question rather than a loss.
- Voice notes keep their transcript. A forwarded voice note now shows what it was heard to say in the capture log, instead of "No text came with this one" — so when one ends up somewhere odd you can read what Dhaga actually worked from. It also means a batch that has to be re-run doesn't pay to transcribe the same clip twice.
- "It's about a company" saves the note now. Answering that question in your Inbox used to move the reminders and throw the note text away, and the card said so. A company can hold a note — it always could — so your words are filed on the company page with everything else.
- One list of every way to add someone. Capture now opens on a single question — "How do you want to add them?" — over all seven ways in: paste some text, scan a card, record a voice note, upload a photo, type a person in, log a relationship between two people you already have, or note a fact or a follow-up. It is the same list on a phone, on a desktop, and from the Capture button on Home. Scanning, voice and uploading used to sit behind a "Back to capture" link on the manual form, which read like an undo, so most people never found they were there. Every method now carries a link back to the list, so changing your mind costs one click, and a quiet line under the list points to bulk import for when you have a lot of people to bring in at once.
- Meeting groups and shared notes. Put the people who meet together into a private group — suggested from your recurring calendar meetings, or built by hand — and write one note about a meeting that appears on the group's page and on the page of everyone who was in the room. Facts and follow-ups drawn from a shared note land on the right person when the note names them, and ask you to confirm when it isn't clear.
- Telling a shared note from a personal one at a glance. Every note now carries a coloured spine and a labelled chip, so a note written about a group meeting is distinguishable at a glance from one written on a person's own page. Colour is never the only signal — the label always says it too.
- Choose how much access to grant before you connect. Connecting a calendar or a contacts account now opens a single dialog asking how much access you want, before it sends you to the provider's consent screen, with the useful option pre-selected. Contacts can be connected read-only, so a one-way sync no longer asks for permission to write to your address book.
- More to share, and a clearer contact page. A share link can now optionally include the facts you have recorded and your open follow-ups — two further disclosures on top of the three it already had, each off by default like the rest — and whoever opens it can save the person to their address book or contact them using only the methods you chose to disclose. On the contact page, each section has its own header, icon and colour, and Edit is promoted so there is an obvious first move.
- "Not a duplicate" is now an answer. A set of look-alikes that was never the same person came back every time you opened the duplicates page, and there was nothing to say back to it. Both duplicate finders — people and companies — now carry a "Not a duplicate" button next to the merge button, and pressing it takes that set off the list. Nothing is deleted or edited; only the suggestion is suppressed. It is reversible from the confirmation with Undo, or later from a Dismissed section at the bottom of the page, where every set you have suppressed can be restored. And if someone new later joins that set, it is a different set — so Dhaga offers it again, and an old answer can never quietly hide a duplicate that is genuinely new.
17–23 Aug 2026
Depth on every surface: receipts everywhere, sharing you control, and a card scanner that stopped guessing.
New
- An import front door, and a rebuilt setup checklist. Importing is now its own page offering the three ways to bring a lot of people in at once — connect Google or Outlook, upload a LinkedIn connections export with the steps shown inline, or drop in a .vcf or CSV file — instead of being hidden inside a settings tab. The new-account checklist was re-cut into six steps that start at import rather than a manual form, and stay open until you finish them.
- Contact pages built for a long history. Facts, follow-ups and notes now load a page at a time instead of everything at once, and long notes collapse behind Show more, so a contact with hundreds of notes opens quickly. The page also has its own Ask box that answers from that person's notes and facts alone, and says so when their history is too long to read in full.
- Turn a line of a note into a fact or a follow-up. Select any text inside a note and turn it straight into a fact, a follow-up or a relationship, prefilled word for word. Nothing is written until you confirm it, and the new item keeps a link back to the note it came from.
- Working through many people at once. Select several people and set their location, or add them all to an event, in one go. The duplicates page now groups suggestions by reason, strongest first, and puts a checkbox on every person — so if five look alike and only three are the same person, you merge those three and leave the rest alone.
- Receipts on relationships. Relationships now show the note they were drawn from, the way facts already did: in the graph, in the node panel, and on a contact's own relationship rows. Connections you made by hand, such as event attendance or tags, are left unlabelled rather than marked as having no source.
- Your day on Home. The people you are due to reach out to render on Home again under Next 7 days, each with an "I reached out" control that clears the row without opening the contact, and a "Find a time" action that suggests open slots. Opening a calendar event now shows its description, a Join control and the full guest list, and any guest can be saved as a new contact or matched to an existing one.
- A goal surface that explains itself. Your networking goal has its own page — Today, Already shown, All matches and Skipped — plus a Home tile, and every matched person says why they matched. Marking someone "not relevant" now records a reason, which feeds back into later matching, and the counter reads how many of your matches you have seen rather than a stuck zero.
- A page about you, and links you can share. A new page holds your own details and your company's, plus a library of reusable document templates and email drafts with variable substitution. From a contact or a company you can now share a read-only view with someone who has no account: every link takes a mandatory expiry, chosen from presets running from 24 hours up to 90 days, can be revoked at any time, and starts with all three content toggles off.
- Companies moved into the sidebar, and gained facts. Companies now sit in the main navigation directly after People, on desktop and mobile alike. A company can carry facts you add yourself and an Enrich from Public Web action whose findings arrive as unverified facts with a receipt, and it shows the same extraction progress and retry surface a person's page has, so a closed tab no longer strands a run.
- File attachments, and an export that takes them with you. Attach documents, text files and images — up to 4 MB each — to a contact or a company, then download or delete them; attachments follow a record through a merge and are removed with it. A new archive export takes those files out with you, not just the data that references them.
- A Trust page, a measurement opt-out, and self-serve deletion. A new Trust page names every subprocessor and region, lists every cookie and browser-storage key, states plainly who can reach your data, and carries an opt-out from product measurement that needs no account. Settings shows you the log of any administrative access to your own account, and gained a self-serve account deletion that removes your login and every part of your graph.
Fixed
- Forwarded messages, and the reminders inside them. Forwarding a single WhatsApp or Telegram message could raise two "who is this about?" cards and save two notes; a message is now claimed exactly once, and the note is labelled with the channel it actually arrived on instead of being called a voice note. Separately, "call them at 12pm tomorrow" created a reminder on the right day with no time and never reached the connected calendar — the time is now kept in your own time zone and mirrored to your calendar as soon as it is captured.
- Business card scanning stopped inventing values. Scanned cards came back with a fabricated web address, a phone number with rewritten digits, and in one case the wrong name — none of it malformed enough to look wrong. Cards are now read by a stronger model, read twice, and any email, phone, link, name or company the two reads disagree on is flagged for you to check against the photo.
- Contact pickers that fought you. Clicking a result in the graph's warm-path search often did nothing, and the list could be painted over by the graph canvas. Adding an email to an existing contact, adding someone to an event, and the bulk company picker all wiped your selection the moment you made it, leaving the submit button dead. All of them now use the same searchable picker, with keyboard navigation and real loading and failure states, and the pick sticks.
- Home's calendar told the truth. Meetings that had already finished stayed on Home's moments card all day; straight after connecting a calendar, Home could show suggested people instead of your day for a full minute; and a calendar Dhaga failed to read was recorded as a genuinely free week, so Home reported "no meetings" for a calendar it never reached. Timed events now drop off once they end, later ones move up, and a failed read is no longer reported as an empty one.
- The plan board keeps your place, and opens faster. Marking a follow-up done on page 3 of the List view threw you back to page 1, and an idle tab could lose your place having touched nothing; your view, filters, sort and page now live in the page address and survive a refresh. External calendar reads are reused for a few minutes at a time, so repeat visits are immediate, and on a phone the board opens on Day rather than an unreadable seven-column Week.
- A shared surname is not a duplicate. Duplicate detection grouped people by surname, so forty contacts who share one were offered as a single person to merge. Matching now compares the whole name, refuses single-word names outright, and reports a pair once under its strongest signal.
- Job dates read as dates. A role on a contact's profile could render a raw machine timestamp instead of a date. Periods are now formatted, and a year-only entry stays a year rather than gaining an invented day and month.
- Home fits a phone screen again. A control on Home's moment rows was laid out past the edge of its container, drawing over the setup panel on wide screens and pushing the page wider than a phone screen. Rows now fit, and a due check-in gives the person's name its own line instead of squeezing it into a few characters.
- Changing plan could show one thing and charge another. An existing subscriber moving to a different tier could be quoted one figure and billed a different one. Superseded plan records are now honoured when a subscription renews, which also closes a second hazard: a later repricing would have silently dropped still-paying subscribers to an unpaid state on their next renewal.
- Purchases and renewals that left you locked out. A first purchase could land in an incomplete state and switch off paid features on an account that had paid for them, and someone whose renewal failed could reach a state with no way to cancel and no readable error. Both faults are repaired, and the incomplete state can no longer be reached by an ordinary purchase — though the purchase path has not yet been proven end to end against a live payment provider, so we are not calling it finished.
10–16 Aug 2026
A calendar and planning overhaul, plus capture from any page in your browser.
New
- Screenshot capture from the browser. The browser extension now opens as a side panel and can capture a person by screenshotting the page, not only by selecting text — up to six shots, filed as a new contact or onto an existing one, with anything you type leading the note and the capture returning as soon as it is saved rather than waiting on the AI. On a phone, the centre capture button now asks which of five methods you want — manual, pasted text, card scan, file upload or voice — instead of assuming a manual entry.
- Notes that say where they came from. A note now records whether it was captured in the browser extension, over WhatsApp or Telegram, or typed in the app, and says so on the timeline. Every note has a link you can copy that reopens the profile with that note selected, clicking a fact or a follow-up highlights the note behind it, and a captured screenshot is shown inside the note it belongs to.
- Company profiles. Companies now have a detail page like a person's: the people there split into current and past roles, plus relationships, follow-ups, facts, notes and a timeline. Notes and facts can belong to a company outright, and deleting a company takes them with it.
- Tag management. A tags page lists every tag with how many people carry it, and supports merging, deleting and aliasing. A merged-away spelling now resolves through its alias instead of being re-created by the next extraction, and a tag chip links straight to the filtered people list.
- One plan board, with calendars of your own. Tasks, calendar and follow-ups became a single planning page with Day, Week, Month and List views, opening on the week, with sorting by date added as well as due date, filtering to one person, an inline date picker on every row, and a read-only dialog for imported events that used to be inert. You can also create events with no external calendar connected, choose which calendar reminders are written into, show, hide or recolour each connected one, and give a follow-up a time of day rather than only a date — which is what makes a 3pm reminder actually alert you — and Dhaga checks once a session that your browser's time zone still matches your settings.
- A readable calendar, linked to the people in it. Calendar chips are filled with their calendar's colour instead of a near-invisible dashed outline, the grid opens at the current time rather than 8am, overlapping meetings no longer cover each other's text, an empty slot can be tapped to create an event, your own events can be resized, and you can jump to any date. Attendees are matched to your contacts by exact email address so a person's page shows the meetings you have with them — matching never creates a contact and unmatched addresses are not stored — and a colleague's leave or a public holiday can be hidden from Home's moments, with undo, while your availability still knows you are busy.
- Search reaches more of your graph. Search now covers every job and education entry rather than only a current title, plus nicknames, people reachable through a relationship, notes written on a linked record, company notes and facts, calendar events and contact-less tasks. The command palette also opens on Ask Dhaga rather than plain search, falling back to search where AI is unavailable.
- Reminders survive an unclear note. When a captured message cannot be attributed to a person, its deadlines are now written as general tasks straight away instead of sitting unread in the inbox, so a date does not go past silently. The inbox card can also be answered with "not about a person" or "about a company", and dismissing it clears the tasks too.
- Rebuilt Home. Home is now a responsive single-screen dashboard: moments for today, an upcoming follow-ups list, stat tiles that link through to their full view, and an interactive globe with city labels showing where your network sits. It fits without scrolling on a normal laptop, where the follow-ups section was previously far below the fold.
- Back to your system theme. New visitors now land in whichever mode their device is already set to, rather than always in dark. The toggle still overrides it whenever you want, and your choice is remembered.
- Theme Studio. Settings gained a colour studio: presets, mix-and-match palettes, a picker for each role with an explanation of what that colour actually drives, and a reset. The same accents now resolve identically across the app, so light mode is a first-class path rather than an afterthought.
- Connected address books stay current. Google and Outlook contacts now connect once and keep themselves up to date on a schedule, instead of re-enumerating the whole address book and dropping you back on a full review table every visit. The old one-off import path was removed, so an account connected before this needs reconnecting once; a second account on the same provider is reachable for the first time, and a connection that has stopped working says so and offers a reconnect instead of reporting success.
- When a plan ends, you are told. An end-of-plan email now goes out once when paid access lapses, alongside a dismissible in-app notice, and your current plan is visible in the profile menu. A short grace period means a delayed payment confirmation cannot strip your features moments after you have paid.
- Clearer privacy commitments and sign-up consent. The privacy page now states plainly who can reach data held for you, that a calendar connection reads free/busy by default and real events are a separate consent, and why end-to-end encryption is not offered alongside cloud AI. Signing up now takes a deliberate acceptance of the terms, and every password field gained a show/hide toggle.
Fixed
- Questions returned the wrong people. Asking a question in plain English surfaced contacts whose names coincidentally shared letters with your question words, while the people who actually matched never reached the answer — so Dhaga replied that it had no records on the subject. Questions are now scored on content words only, and the command palette no longer hangs on a loading skeleton when the check for AI availability never answers.
- Captured messages lost the sender's own words, or landed on the wrong person. A long forwarded message came back as a two-sentence account of it with the sender's own thinking dropped; a note mentioning only a first name could attach silently to someone who merely shared that name; and a message written entirely in lower case yielded no candidate names, so everyone in it was treated as new and duplicated. A note is now made of the messages' own text in send order, a bare first name against a partial match asks you instead of attaching, and names are recognised regardless of capitalisation.
- Connecting Google contacts failed. Connecting Google for contact import was refused outright with an error about an invalid address, and every other failure showed the same bare "try again in a moment". The connection works again, returning you to Contacts & sync, and the real causes now say what they are. The Google button on sign-up also no longer sits greyed out with no explanation until the terms box is ticked.
- A demo calendar was corrupting real advice. A demo calendar could be connected in production, and its invented 09:30 stand-ups fed genuine availability tiles, the daily brief, and a ticked "calendar connected" setup step, for people who had never connected one. It is now opt-in and ignored on every read path, with nothing deleted.
- Notes captured in the extension could not be deleted. A note added by the browser extension was filed as an automatic receipt rather than as something you wrote, so it could not be deleted, did not count towards your notes total, and could not have a failed extraction retried. Those notes are now treated as your own, with the extension recorded as where they came from, and the ones already saved were converted.
- Told to renew, then unable to pay. A stale subscription record could make checkout refuse a fresh purchase, so someone asked to renew had no way to actually do it. The record is now brought back in line before checkout decides anything.
- Follow-ups that lost themselves. A dismissed follow-up disappeared with no way back, though the app described dismissal as recoverable; a monthly item starting on the 31st moved permanently to the 28th after one short month; and a newly created follow-up stayed invisible on the plan board until a reload. Dismissed items now show under All and can be restored, recurrence anchors on the series start and always advances to the next occurrence still ahead of you, and new items appear immediately.
- Home's calendar, and the times it offered. Home reported zero events for the next seven days on a first load, a tab left open overnight kept showing yesterday's date, working hours were computed against a second, stale clock so someone outside UTC was offered meeting slots at 9pm, and a follow-up due tomorrow offered you open slots today. There is now one time zone, suggestions are filtered per item, and an open tab checks once a minute while visible and refreshes only when something has actually changed.
- Person and company pages scrolled sideways on a phone. At phone width both pages scrolled horizontally and clipped cards on both edges, and a pasted link inside a note ran off the screen instead of wrapping. Both are fixed at every width, and the header search is now a proper touch target on small screens.
- A saved theme could break the whole app. An account with a non-default theme could hit an error page across the entire app after a release, because a theme saved before the new colour fields existed was read as-is. A stored theme is now rebuilt field by field, keeping the choices it does carry.
- Confirmations were invisible, then a dead end. A pending confirmation blocks a write to your graph, but Home said nothing about it and the only badge sat on a row inside a closed menu. Home now shows a count strip and the collapsed navigation carries the badge; resolving an ambiguous entity no longer offers a create option gated on categories that nothing ever seeds, and an ambiguous object can be resolved to a company, reusing an existing one where the name matches.
- Extraction under-reported what it did. A job could report five things added when only two appeared, because it counted what was proposed rather than what was written. A duplicate role was dropped with no explanation at all, and a contact's own enrichment resolved to nobody whenever anyone else in the graph shared their first name.
- Captures could not be attached to an event. The capture dialog's event picker was always empty, so a capture could never be filed against an event. The list is now fetched when the dialog opens.
3–9 Aug 2026
Goal-driven curation, chat capture repaired end to end, and five daily emails cut to one.
New
- Goals on Home. Write what you are trying to do in plain words — "reach out to VCs", "reconnect with people from the Delhi trip" — and Dhaga resolves it into a finite group of people from your own graph, surfacing a few each morning and burning the list down as you reach out. Writing a note about someone, or scanning them at an event, retires them from the list exactly like tapping Reached out, and a Request now button matches on demand instead of waiting for the overnight pass.
- Address-book noise suppression. Rows dragged in from a phone address book that are services rather than people — a vendor, a support line — are no longer suggested as someone to reconnect with. Nothing is hidden: they stay in People, search, merge and every export, the count of suppressed rows is a link, each carries a chip showing Dhaga's guess against your ruling, and one tap overrules it permanently. Anyone you have already starred, watched, noted or reached out to is never classified at all.
- Feedback button in the app. A feedback control now sits in the app navigation beside the notification bell: one box, one Send. It attaches the page you were on with any ids replaced by a placeholder, plus your screen size, browser and time zone — and anything you typed into that page's search or filters is stripped from the address before it is sent. Everything it attaches is printed under the field before you submit.
- Connect your AI assistant. Dhaga now publishes installable skills that teach a connected AI client how to use your graph properly — search before answering, quote the note a fact came from, and say "not in your network" rather than inventing someone. A card in Settings gives you the one-line install command to copy.
- Linking a chat, and a log of what you forwarded. Linking WhatsApp or Telegram used to mean carrying an eight-character code from Settings into a chat by hand; Settings now shows a tappable QR code per channel that opens the chat with the code already filled in, so a phone setup needs no second device, and typing the code still works. A capture log lists every batch you have forwarded and what happened to each message in it — a person created, a note attached, an unclear item sent to your inbox, an instruction, or something unreadable — recorded as the batch is written, so later edits cannot rewrite the history.
- Correcting what Dhaga derived. Every relationship row now has a pencil that reopens the same picker and direction preview and rewrites the link in place, keeping the note it came from, instead of forcing you to delete and re-add it. Notes can be moved to the right person and everything derived from them moves too — facts, follow-ups, jobs, tags, connections, card photos — by re-pointing rather than re-extracting, so it is instant and keeps any edits you made. Tags on a person's page are now chips with an x, and a tag added by extraction records which note it came from.
- Forwarded cards fill in someone you already have. Forwarding a card for a person already in your graph used to read their phone, email, links, job, location, addresses and important dates correctly and then throw them away — only brand-new people kept them. Those details are now added to the existing contact, never overwriting what is already there, and a job filled in this way becomes a real editable entry.
- General tasks and calendar-aware follow-ups. Follow-ups no longer have to belong to a person: you can keep general tasks alongside them, and the follow-up view takes account of what is already on your calendar.
- Controls that are not ready say so. Features with nothing behind them yet now appear greyed out with a "coming soon" note, instead of accepting a click and then failing. They light up on their own once the thing behind them is configured.
- A welcome email, and reminders on for new accounts. A new account used to have to go and find Settings before Dhaga ever reminded it of anything, because every email toggle defaulted to off. New accounts now start with all five reminders on and can turn any of them off; existing accounts are deliberately untouched, so nothing starts emailing anyone who never asked. Signing up also sends one welcome message with a link to the product guide.
- Rebuilt onboarding walkthrough. The first-run tour now starts in Settings — where you connect Dhaga to the places your people already are — covers WhatsApp, Telegram and calendars for the first time, then hands off to a short Home leg. It never points at a list that is empty on a new account, and skipping or abandoning it reliably stops it coming back on every visit.
- Browser extension settings. The extension now points at the app by default and has a gear in the popup, with an optional key for browsers that drop the shared session cookie. The key is kept local to that browser and never synced through a Google account.
Fixed
- Forwarded chat batches that saved nothing, or the wrong thing. Replying DONE to a batch of forwarded messages answered "Nothing to save yet" and saved nothing, for everyone; notes in a batch attached to whichever contact card arrived first, with no check of who the note actually named; and a second ambiguous message quietly created a duplicate person. A batch is now read as a whole, each message is filed on its own merits, anything genuinely ambiguous becomes a question in your confirmations inbox instead of a guess, a failed batch can be retried, and a DONE followed by a full stop or an emoji still closes it.
- Photos forwarded into a chat. A photo forwarded to Dhaga was used to read the card and then discarded, so a misread could never be checked against the original, and a capture that named no person — a noticeboard, an office directory — was saved with a blank name that no search could find again. Photos are now kept alongside the note they produced, unnamed captures fall back to what the capture was about, an instruction to the bot is treated as an instruction rather than stored as a note about someone, and a photo is filed against the note it actually arrived with.
- Checkout would not open at all. The checkout window was blocked outright on the settings page, so a purchase could not be completed from Settings. The page now lets it open.
- The graph quietly fell back to a slower layout. The graph's background layout step was blocked in the same way as checkout, so it silently dropped to a slower path that ran on the page itself. Both now run as intended.
- Search boxes that looked broken. Typing a company, school or person into a picker showed an empty dropdown whether the search was still running, had failed, or genuinely had no matches — so an existing company looked missing and offered to be created a second time, and a failed request stayed stuck on that word until you reloaded. Every picker now says which it is: Searching…, Couldn't search right now with a Retry, or No matches.
- "Couldn't update" after a release. If Dhaga was deployed while you had a page open, actions like Reached out failed with a generic error and a Retry that could never work. That case is now named, with a Refresh button, and resolving who a note is about no longer dead-ends when the person is not in your graph yet — you can create them from what you typed.
- Calendar and tasks made readable. Unscheduled follow-up chips were truncated and only readable through a hover tooltip — invisible on touch and unreachable by keyboard; they are now real buttons that open the same details dialog. Completed follow-ups render struck through instead of vanishing, so a month you worked through no longer looks like one you ignored. Both the calendar and the tray gained search and filters, and the tasks page gained search and pagination.
- Layout on Home and on mid-size screens. Home tiles padded hundreds of pixels of empty space because one long tile stretched every other one, and the "more due" counter sent you to the unfiltered directory instead of the people it was counting. On mid-size screens the app header was over-subscribed, with navigation clipping mid-label and the search control crushed to a sliver; thirteen defects were fixed across every page, screen size and theme, with no horizontal overflow left anywhere.
- A stuck navigation tab and an endless map spinner. Starting a navigation and then changing your mind left the greyed-out tab permanently unclickable until a reload. The map view had no way to tell a failed load from a slow one, so a broken map looked like a loading map forever; it now reports failure and fetches its assets alongside the data rather than behind it.
- Merging two people who attended the same event. Merging two contacts who had both attended one event into a third person failed outright and rolled the whole merge back, with no way through it from the interface. The merge now keeps a single attendance record with the earliest scan date.
- One scheduled email a day, not five. Five separate nightly jobs each decided on their own to email you, so three Dhaga messages could arrive inside the same minute. They are now sections of a single daily brief — follow-ups due, important dates, confirmations, reach-outs, totals and the LinkedIn export reminder — ordered most urgent first, with the subject naming the most urgent. Quiet days stay silent, every section keeps its own switch, and every notification email carries an opt-out link.
27 Jul–2 Aug 2026
Capture from everywhere, sync outward, and remember what matters.
The Dhaga mobile app is an in-development build that has not been released to the app stores, so the mobile work below is not yet something you can install.
New
- Capture from WhatsApp and Telegram. Forward a contact card, a photo or a note to a Dhaga bot and it creates the person and attaches what follows as notes. Reply DONE to close a batch, or let it close itself; when Dhaga is unsure who a note is about it asks in the chat and you answer by number or name. Voice notes are answered with a plain "not supported yet" rather than being silently swallowed.
- Capture from anywhere in the app. A quick-add button now sits in the app navigation wherever you are, with Manual as the default tab and sub-tabs for a person, a relationship, or a fact or follow-up, so you can enter things by hand with no AI involved — while typing "coffee with my old manager, she's moving to Berlin" is recognised as a note about someone already in your graph, and an ambiguous name asks who you meant. Scanning from the capture dock now takes the front, the back and any extra pages into one tray you can crop and reorder, in roughly half the time it used to take, and you can photograph a whiteboard, a poster or a handwritten page and have the text become a note, with the photos kept as receipts.
- Companies, duplicates and bulk actions. Select several people at once — the selection survives paging — and merge, tag, star, add to a company or delete them together, or file a hand-picked set under a tag, a company or a location in one step. Merging is field by field, a duplicates page surfaces likely matches by shared email, phone or similar name, and companies gained their own list with contact counts, inline create, rename, delete, merge and duplicate detection.
- Work and education history on a contact. A contact now carries a full Experience and Education history rather than one current employer, and past jobs and schools appear in the graph as their own connections, so former colleagues, alumni and classmates cluster on the institution they share. A note saying someone started a new role or finished a degree writes a real entry there, with a link back to the note; anything you entered yourself is never touched.
- A calendar for follow-ups, important dates and a bell. Follow-ups got a full-screen calendar with month and agenda views, drag to move one to another day, and a tray of undated items to drag in. Birthdays and anniversaries on a contact turn into reminders on that calendar, on the follow-ups page, in a new notification bell, and in an opt-in email whose lead time you choose — and the bell also tells you when background work such as extraction or enrichment has finished.
- Two-way sync with your address book and your calendar. Edits to a name, company or birthday now travel in both directions between Dhaga and your address book, merged field by field so a number added on one side never overwrites a rename on the other, with genuine conflicts held for you to resolve; you can connect a Google or Outlook account directly, sync runs only when you ask, pushing Dhaga-only people outward stays off until you turn it on, and notes, AI-derived facts and graph connections are never written out at all. Dhaga can also write your follow-ups into a dedicated "Dhaga" calendar in the app you already use and read events back, and the mobile build gained a calendar screen mixing device events with Dhaga follow-ups.
- A map of your network. A new Map view plots your contacts at city grain from the locations you already have, clustered and clickable, and says plainly how many contacts it could not place rather than implying it shows everyone.
- Home suggestions ranked by one score. The Today list is now ranked across every reason to reach out — a check-in coming due, a promised follow-up, an upcoming date, a signal, someone going quiet — instead of filling slots first-come-first-served, so the person you are most overdue with actually appears. Writing a note about someone or scanning them at an event resets their check-in clock, and the Recent people list is ordered by your last real touch rather than by when the contact was created.
- Themes and fonts, and dark as the starting point. Settings gained an Appearance card with seven colour themes, including a high-contrast one, and eight fonts, applied across the whole app and remembered per person; each theme ships a light and a dark version, so the toggle keeps working on top of your choice. At this point new visitors landed in dark mode, with light and system one click away — a default that changed again in August.
- Credits in Settings, and AI controls that grey out first. Settings gained a Credits section showing how much of the month's AI allowance is left, how much has been used and when it resets, with a breakdown of where it went, one row per kind of action. AI controls now grey out before you click them rather than refusing after, and the refusal message says whether waiting will help.
- Receipts beside every answer. On wider screens Ask Dhaga uses a two-pane layout: the answer on the left, the contacts it drew on in a rail on the right, each one a link straight to that person. From a keyword search you can hand the same query to Ask Dhaga for a reasoned answer with those receipts.
- Relationships you can shape. When you connect two people and the other person is not in your graph yet, you can create them inline — name, and optionally title and company — without abandoning the relationship you were adding. Custom relationship types can be renamed or deleted, with a guard when one is still in use, or renamed inline while you are picking one.
- Guided setup and LinkedIn import reminders. The first-run walkthrough now carries on past Home and hands you to the import screen, and a "Get contacts from LinkedIn" button opens LinkedIn's export page and follows up by email over the next week until you upload the file. The reminders stop the moment you do.
- Connect your AI assistant to your graph. Dhaga can be added as a connector in AI clients such as Claude, ChatGPT or Cursor, letting an assistant you already use search your network, look up a contact, trace a warm path, and add notes, contacts or follow-ups mid-conversation. It is read-and-add only: nothing an assistant does can delete, merge or export your data.
Fixed
- Card scanning was easy to lose faith in. Scanning from the Home dock read the card but never opened the review dialog, so the details had nowhere to land; a failed scan sent you back to Home with no contact and no message, most visibly on a phone; and pressing Scan appeared to do nothing until the contact suddenly appeared. The review step now opens every time, a failure offers Try again or Add manually, and a full-screen loader covers the app within a frame of the click.
- Home went down for accounts holding an older confirmation. A single confirmation record the app could no longer read threw the error boundary on Home and on the confirmations inbox, taking the whole app down for that account. Stored confirmations are now read tolerantly, and one that still cannot be read is skipped — costing you that one card, not the page.
- A confirmations badge you could never clear. An inline "who is this about?" question you walked away from kept counting towards the navigation badge, even though it never appeared in the inbox where you could have answered it. Those are no longer counted.
- Dialogs and navigation at the edges of the screen. Every dialog was pinned narrow on a wide screen no matter what it asked for, so capture, review and the manual person form were cramped and content could push past the edge; dialogs now open at the width they were designed for and keep their margin on a phone. On a phone the app's navigation row overflowed into a hidden sideways scroll, so the primary links now become icons with properly sized touch targets, keeping their labels for screen readers.
- Voice capture failed on iPhone Safari. On browsers without the hardware acceleration the speech model needs, tapping the microphone tried to load it anyway and failed with a technical error. Voice is now simply unavailable there, with a friendly prompt to type the note instead.
- Ask Dhaga answers were unreadable and missed real matches. Answers showed raw formatting marks instead of bold names and bullet lists, and a question naming an organisation or a school could return unrelated people while the genuine matches were dropped before the answer was written. Answers now render properly and search the literal question across the whole graph, so short names stop being buried by similar-sounding surnames.
- Light mode was hard to read, and the logo half-invisible. Secondary text, accents, focus rings, form borders and documentation links all sat below a readable contrast level in light mode, the graph's connections effectively disappeared on a light canvas, and two of the logo's dots were painted in a colour only visible on dark. All of it is corrected, and dark mode is unchanged.
- Follow-ups were ordered newest first. Anything actually due was buried under whatever you added most recently. Dated follow-ups now come first by soonest, overdue at the top, then undated oldest first, and each row is chipped with how overdue or how far off it is.
- Notes count included things you never wrote. The Notes figure and its trend on Home counted automatic receipts from imports, card scans and forwarded messages alongside notes you actually wrote. It now counts only your own notes, and those automatic receipts can no longer be edited away or reprocessed by accident.
- Suggested groups missed hyphenated names. People sharing a surname or a place joined by a hyphen or an underscore never clustered with the space-separated spelling of the same name, so obvious groups were missed. Names are now split on any punctuation and matched whole-word, so one name can never match inside a longer one.
20–26 Jul 2026
A big feature push alongside a week-long fight to stop the app timing out.
The Dhaga mobile app is an in-development build that has not been released to the app stores, so the mobile work below is not yet something you can install.
New
- Contact import from phones, files and accounts. Bring your existing contacts in three ways: upload a .vcf or CSV export from iPhone, iCloud, Android, Google or LinkedIn; connect a Google or Outlook account in one click; or pick contacts straight off your phone in the mobile build. Labels, birthdays, addresses and job titles survive the trip, and re-importing the same export won't create duplicates.
- Sharper capture: multi-photo cards, dictation that learns, and nothing lost. A single card scan can now take several photos at once — the front and back of a card, or every page of a leaflet — merged into one contact with each photo kept as its own receipt, shot from your webcam on desktop and confirmed in a review dialog before it saves. Dictation runs a fast speech model in the browser that streams words as you speak and remembers your correction to a misheard name phonetically, on web and in the mobile build, where a capture that fails to reach the server now waits in an ordered retry queue rather than being discarded.
- Confirmations inbox. When Dhaga isn't sure who a note is about, or which person a web result matches, it no longer guesses and quietly edits your graph — it asks. A Confirmations page collects every open question with the candidates it found, a Home tile and a navigation badge tell you when any are waiting, and an optional daily digest email can summarise them.
- Facts and follow-ups you can write yourself, and notes you can re-run. Facts and follow-ups no longer have to come out of the extraction pipeline — add either by hand on a contact, edit a follow-up in place, delete one, and pick a due date from a real calendar picker. Notes also gained a Re-process action that runs extraction again and replaces the note's previous derivations rather than piling up duplicates, so a note that was mis-read once can be fixed without retyping it.
- The app tells you what it is doing. Adding a note now shows real progress — searching, extracting, writing — and the facts section fills in as results land, while Ask Dhaga streams its reasoning steps, then the answer, then the receipts it used. Adding a relationship, follow-up or fact, and completing or dismissing a follow-up, appear immediately and reconcile in the background, rolling back with a Retry if the save fails.
- Home rebuilt around what needs attention. Home now opens with a strip of graph metrics — people, companies, notes, facts, relationships, events, open follow-ups — each with an eight-week sparkline, then a state-aware layout that puts Today first, packs the remaining tiles by height, hides tiles with no data and shows a proper first-run empty state. You can star anyone from a contact page or the People list, a Saved page lists Starred and Watching, the follow-ups tile leads to a page of every open follow-up, and an opt-in morning email nudges you when any are pending or overdue.
- Searchable pickers, and events from either side. The plain text boxes for referencing a company, a person or a group are now search-as-you-type dropdowns, "Add to group" lists your existing groups the moment you open it, and typing a company that doesn't exist yet offers to create it inline. You can also add existing people to an event and remove them from the event page, and add a person to another event from their contact page.
- Graph zoom controls and directional relationship labels. The knowledge graph gained zoom in and out, fit and reset controls in the corner. Introduction relationships now read correctly from both sides — a contact's page says "introduced by" rather than showing the same label to both people.
- Named placeholders for people mentioned without a name. A note that mentions "his son" now creates a clearly-labelled placeholder tied to the person the note is about, which you can rename and promote to a real contact later, instead of an anonymous stub. Existing bare-reference stubs were relabelled in place.
- Network Wrapped share card. A shareable card computed from your own graph — scoped to an event, week, month, quarter, year or all time — in post, square and story formats. It carries counts and cluster categories only; the names of people in your network are revealed in the app and never written into the shared image.
- Easier sign-in, and a profile in Settings. Signup now offers "email me a sign-in link" alongside a password, passkey prompts you dismiss no longer look like an error, and you can change or set your password from Settings, with a reset-link fallback if you signed in socially. Password fields gained a confirm box and a strength meter, and Settings gained a profile card for your display name and the email you sign in with.
- Sortable, linkable tables and faster search. Table columns can now be sorted by clicking a header, and the filter, sort and page you are looking at live in the page address — so a filtered list is a link you can bookmark or send to yourself. Search no longer waits on the slow semantic pass before showing anything: keyword results come back immediately and semantic matches fold in when ready.
Fixed
- Search and Ask Dhaga failed for almost every question. A normal search could fail outright, and Ask Dhaga was timing out after about thirty seconds and showing a generic "AI had trouble" notice for effectively every query. Search now runs as a single query rather than several competing ones, returning results reliably and bringing the wait for a result down from about a second and a half to about a second, and Ask Dhaga answers normally again — falling back to keyword results with a clear explanation when AI is unavailable.
- Notes that saved without their facts, and contacts that wouldn't save. Adding a note could save the note while silently failing to queue the extraction that produces its facts and follow-ups, so the contact page stayed empty. Saving a contact with three or more different employers failed every time, and a failed save unmounted the form so everything typed was lost. A saved note now always gets processed, saves succeed regardless of how many companies are attached, a transient failure keeps the form and its contents with an inline retry, and an empty job list can no longer silently delete a contact's saved employment.
- One failed action no longer takes down the page. Roughly thirty actions across contacts, events, signals, relationships and the graph used to throw you to a full-page error screen when a save hiccuped. They now show a dismissible inline error or a toast with Retry, and keep whatever you had typed.
- Placeholder people showed up as real contacts. People auto-created from a passing mention in a note were appearing in the People list and in Today's reach-out suggestions as if they were real contacts; they are now hidden from both. A vague phrase like "his son" also no longer links across different contacts and merges two unrelated people into one.
- The graph could come up blank. The knowledge graph failed to draw when its background layout step did not load. It now falls back to laying out in the foreground, so the graph always draws.
- Display defects across the app. The search box overlapped the navigation pills in the app header and the microphone and close buttons sat on top of each other in the search palette; dates and times on facts, notes, the timeline and card photos could briefly render in one format and then another; and a stray vertical scrollbar appeared on the Settings tab strip. All three are fixed.
- Some contacts could not be deleted. Forgetting a contact failed if that contact had ever produced a relationship suggestion. Deletion now clears those suggestions too, so any contact can be removed.
- Forms that lost what you typed. The inline company box in the jobs editor cleared what you had typed when you clicked Create or moved focus away, which could also cost you the job row; it now keeps the text. Dragging a crop corner on a card photo past the minimum size moved the wrong corner, and the exported crop could use a stale image size.
- Settings honoured, and AI use counted once. Setting your suggestion window to start at 12am was silently replaced with 9am; the setting is now taken as entered. An AI search also recorded two metered actions instead of one, overstating your recorded AI usage.
- Watchlist scans skipped people after a failure. If a nightly signal-detection batch failed to submit, the contacts in it were marked as scanned anyway and skipped for roughly the next six days. Contacts are only marked once the batch is genuinely submitted.
- Clearer messages when AI was unavailable. A note saved without automatic extraction available used to sit in a red failed state with a retry loop; it now saves cleanly and shows a calm explanatory notice. The "verify this" cards from web enrichment also show the actual claim being verified rather than a generic prompt, including for items raised before the change.
- Password reset blocked while signed in. Opening a password-reset link while already logged in bounced you into the app before the link could be used. A reset link now works whether or not you have a session.
13–19 Jul 2026
Voice capture, a graph you can explore, and a rebuilt home.
New
- Voice dictation in the browser. You can now dictate notes, quick captures and searches using a speech model that downloads once and then runs in your browser, streaming words into the box as you speak rather than only appearing when you stop. It needs a browser with WebGPU support, so it is unavailable on iPhone Safari and on most mobile browsers; the download happens quietly in the background, so the first recording isn't a dead wait.
- Light mode. The whole app and the public site now render in light as well as dark, with a mode toggle in the app navigation and the site header. Colours, recessed surfaces and accent text were retuned so everything stays legible in both.
- A knowledge graph you can actually explore. The graph browser now loads your entire network at once and stays smooth at tens of thousands of people, with isolate mode, per-type layers and filters, group circles, collapse and expand, in-graph search, edge labels, and a side panel listing what points in and out of any node with jump-to navigation. Layouts are computed once and cached, so returning to the graph paints almost instantly.
- Custom entity types beyond people and companies. Define your own kinds of thing to track — and your own relationship words, with their inverse labels — then create, edit and annotate them like contacts. Note extraction resolves mentions against the types you defined and never invents new ones on its own.
- Relationships between people, made visible. Relationships pulled out of your notes now show up as a section on each contact page, labelled from that person's own side, and are drawn in the graph when you focus someone. When a name in a note could mean more than one person it waits in a "To confirm" inbox on Home for you to pick the right contact — or add a new one — instead of being guessed, and a contact page can fetch the wider network around that person on request.
- Calendar connection and daily reach-out suggestions. Connect a Google or Microsoft calendar — at this point Dhaga read free/busy only and wrote nothing back, though it can write events now — and Home shows a short, curated list of people to reach out to today: daily check-ins first, then the week's due follow-ups spread across days, with fewer on your busy ones. You can propose an open meeting slot and hand it off to your calendar, and optionally get the whole thing as a morning email.
- Richer contacts you can edit. A contact can now hold several jobs over time, a nickname, labelled phone numbers, emails and links, addresses, important dates and your own custom fields — and can be edited after it is created, not only at capture. Employment history and labelled contact methods show on the detail page, and exports carry all of it.
- Work that carries on in the background. Adding a note or enriching a contact returns immediately instead of blocking on the AI, so you can fire off several notes in a row, and the contact page shows live status and fills in the note, then the facts, then the follow-ups as they land, with a Retry if something stalls. Buttons disable and show a spinner while working, navigation shows progress and ignores duplicate clicks, and toggles flip instantly and roll back with a message if the server refuses.
- Redesigned home dashboard. Home is now a grid that fills the screen instead of one tall column, led by a daily briefing — today's date, how many threads to pull, and a status strip of what's due — with Today as the hero tile and follow-ups, signals, going-quiet, recent people and recent events arranged around it. Empty states now explain what to do next rather than showing nothing.
- Colour, emoji and tags on events. Events can carry a colour, an emoji and freeform tags so they're recognisable at a glance, and the events list became a searchable, tag-filterable, paginated table.
- First-run guided tour. New accounts get a five-step walkthrough on their first visit covering capture, the updates feed, natural-language search and the graph. It shows once, and you can replay it any time from the More menu.
Fixed
- Sign-in was slow, and could land on a blank page. Signing in with a passkey or a two-factor code sometimes landed on an empty app screen until you refreshed, and signing in could take around fifteen seconds. Both flows now land on a fully loaded app the first time, and the sign-in button says "Opening your graph…" so the last moment no longer reads as a hang.
- Settings that wouldn't save. Saving a setting could fail outright. Settings now save reliably regardless of how the underlying database was set up.
- Capture from Home was easy to miss. The capture form sat at the bottom of Home, invisible without scrolling. It now opens as a modal, with the capture toolbar inside the form instead of covering it.
- Reach-out cadence snapped back after saving. Setting how often to keep in touch with someone appeared to revert to "No reminder" straight after saving, even though it had saved. The choice now stays put.
- Search misalignment, stale results and typos. The search box was visually misaligned, results froze and then snapped instead of showing they were loading, and a mistyped name found nothing. Search now tolerates typos in names and shows its loading state from the first keystroke.
6–12 Jul 2026
Wider capture, then a deep correctness and data-integrity sweep.
The Dhaga mobile app is an in-development build that has not been released to the app stores, so the mobile work below is not yet something you can install.
New
- Crop before a card is scanned. Card photos now get a drag-to-crop review step before they are sent for parsing, so desk background, glare and neighbouring cards can be cut out first. It works with touch and mouse on the web app, and as a review screen in the mobile capture flow.
- Scans group themselves into events, in the mobile build. Cards scanned on the phone at roughly the same place within a few hours are now collected into a single event automatically, and you are asked to name it once instead of tagging each person by hand. Location is coarse, requested at the first scan, and capture still works if you decline; web card scan is unchanged and still files people individually.
- LinkedIn QR codes. Pointing the camera at someone's LinkedIn profile QR code now opens the add-person form with their profile link already filled in, instead of trying to read it as a business card. Nothing is scraped and no name is guessed — you still fill in the rest.
- Voice dictation in the mobile build. The mobile capture screen's voice button does something now: tap the mic and speak, watch the words appear as they are recognised rather than only at the end, then tap again to finish and save the note.
- Search palette and rebuilt graph explorer. Search moved out of its own page into a palette you can open from anywhere, with results and AI answers side by side. The graph explorer was rebuilt around it, with smoother canvas navigation, clearer direction cues and expansion that stays responsive on a large network.
Fixed
- Deletion now really deletes. Deleting a note or a fact removed it from your lists but could leave its search index entry behind, so the deleted wording kept coming back in natural-language search. Erasing a contact you had on the watchlist errored out partway and left them half-deleted and impossible to remove again. Both now run as a single all-or-nothing operation covering everything derived from the record.
- Imports that lost or duplicated people. Re-importing a contact list treated "Bob Smith" with a double space, or José and Jose, as different people and silently added a second copy; text pasted from some sources had accented names skipped entirely, and a link mentioned twice in one note was saved as two; and a Google Contacts export brought in names, emails and phone numbers but quietly discarded every address. Name matching now ignores accents, casing and extra spaces — the same matching that drives duplicate suggestions — and addresses import with the rest.
- AI search skipped people who matched your filters. Asking something like "who did I meet at the summit" could leave out a person who plainly belonged to that event, if their notes did not happen to share wording with the question. Tag filters also matched too loosely, pulling in unrelated people. Both are corrected.
- AI drafts and briefs came back blank with no explanation. When the model returned nothing, a follow-up draft or a daily brief rendered as an empty panel that looked identical to "not generated yet", while still consuming an AI action. You now get a clear failure message, and errors while saving to your graph are no longer misreported as AI failures.
- iPhone photos dead-ended at the crop screen. Uploading a photo in a format desktop browsers cannot display — the default for iPhone camera photos — showed a blank crop screen with a permanently greyed-out button and no explanation. You now get a clear message and a way back.
- Exports that were incomplete or malformed. A contact whose notes contained an unusual line break came out of a CSV or vCard export in a way some spreadsheet and address-book apps read as the start of a new record, splitting that contact's data; exports are now escaped correctly in every case. The complete-data export also left out scanned business-card images and the job-change and news findings gathered for watched contacts — both are your own data, and both are now included.
- Half-written notes, and duplicate companies. If saving the facts, connections and follow-ups extracted from a note failed halfway, everything written up to that point stayed while the rest vanished — and the message said saving had failed outright. Each kind of record is now written in one go, merging two events is atomic the same way, and two notes processed at the same time can no longer each create their own copy of the same company.
- Repeated alerts for the same job change. The background watchlist sweep re-raised a new alert for the same unresolved job change every time it ran, so one still-open change piled up duplicates. An open alert is no longer raised a second time.
- Accounts and chat capture stuck after setup. Signing up with any capital letter in your email address stored the request in a form the approval screen could never match again, so it sat pending with no error; addresses are now normalised when the request is filed. Connecting the messaging bot before finishing account setup left it permanently unable to route incoming messages until the app was restarted; it now keeps retrying until the account is ready.
- Capture dead ends in the mobile build and in the extension. On the phone, a second shutter press or photo pick during scanning could fire a duplicate capture, saving immediately after dictation could cut off the last words spoken, a permanently denied camera permission left a button that did nothing, and a failed settings save silently did nothing. In the browser extension, typing quickly in the contact picker could leave an older query's results on screen after a newer one had already answered.
- The People page failed to load. Pages that touch contacts could fail to load entirely because an optional AI component was being loaded even when it was turned off. It is now loaded only when actually needed, and search falls back to keyword matching instead of taking the page down.
2–5 Jul 2026
The first week: from nothing to a working AI personal CRM.
The Dhaga mobile app is an in-development build that has not been released to the app stores, so the mobile work below is not yet something you can install.
New
- People, notes and facts with receipts. Keep a person, write notes on them, and have those notes turned into structured facts — each showing the note it came from and the date, correctable in place, and removed along with the note if you delete it. Paste an email signature, a bio or a few lines about someone and Dhaga extracts the contact for you to review, keeping the pasted text as the first note. Every contact page also carries a single chronological view of how the relationship actually went: when you captured them, the events you met at, every note, and each time you reached out.
- Business card scanning, with the photo kept. Photograph a business card with your phone camera or upload one, and Dhaga reads it and fills in the contact for you to confirm, keeping the verbatim transcription as the receipt behind the fields. Scanned photos are stored and shown on the contact page next to the fields they produced, and a Settings page lets you turn photo storage off, or purge every stored photo in one click.
- Meeting sessions. Group everyone you met at one event into a session, attach people to it as you capture them, and see the session chips on each contact. Sessions can be renamed inline or merged into one another when you record the same event twice, and you can email yourself a digest of one afterwards — who you met, the facts that stood out, and the follow-ups still open.
- Search your network in plain language. Search runs over names, titles, companies, tags, facts and notes at once, blending keyword matching with meaning-based similarity, and shows the snippet that matched. A separate Ask step then composes a cited answer over those results — it never fires on its own, so you always choose when AI is used.
- Graph browser, connections and warm paths. See your whole network as a live map of people and companies, drag it around and click through to anyone. Each contact page lists why they connect to others — same company, shared event, or a relationship pulled out of your notes — suggests people who sit one hop away, and the graph can trace the shortest introduction path from you to a target person. It only ever walks your own graph, so nothing is mined from outside it.
- Home, keep-in-touch reminders and proactive signals. The app opens on a Home view showing who you are overdue to reach out to and every open follow-up, each with a one-tap done button; you set a cadence per person, from monthly to yearly, and they surface when your last touch falls behind it. Home also shows which relationships are fading and how strong each one is, based on your own history of touches, and you can put individual people on a watchlist for nightly job-change and news checks.
- Pre-meeting briefs and follow-up drafts. One tap on a contact gives you a short dossier before you meet them — who they are, what matters to them, what's still open, and a few openers — composed strictly from what is already in your graph rather than invented. Ask for a follow-up message on any contact and Dhaga drafts it from their facts, notes and the events you met at, ready to edit, copy, or ask for another take.
- Enrich a contact from the public web. On request, Dhaga researches a contact on the open web and saves what it finds as a cited enrichment note, which then becomes facts like any other note. Delete that note and everything it produced goes with it.
- Voice notes and a capture dock. You can speak a note instead of typing it — the transcript lands in the note box, saves as a voice note and runs through the same extraction as text — and search takes a spoken query too. Quick add gained a floating dock with Voice, Camera and File, so dictating a note, taking a live photo of a card, or dropping in an image are one tap from the same screen.
- Capture from your browser and from Telegram. A Chrome and Edge extension turns any selected text on a page into a new contact, or files that page onto someone you already know, with the page address kept as the receipt; it only reads the page when you click it. Message the Dhaga bot a signature or a few lines and it captures the contact with your message as the receipt, or start the message with a question mark to ask your graph a question instead — and only your own chat is accepted, so messages from anyone else are ignored.
- Import your existing contacts. An import screen ingests Google Contacts and LinkedIn Connections exports: rows are parsed in your browser and reviewed before anything is saved, duplicates are matched on email and on name plus company so re-importing a newer export is safe, and every imported person keeps a receipt of where they came from. It also proposes tag and company groupings from your saved names, which you confirm rather than having them applied for you.
- Personal accounts and modern sign-in. Real per-person accounts replaced the single shared password. Sign in with email and password, a social account, a passkey, a magic link or a one-time code, and turn on two-factor with backup codes from Settings.
- Export everything, or forget someone entirely. Download your whole network as CSV, vCard or a full data export, so leaving is always possible. A confirmed delete on a contact removes the person and everything derived from them — notes, facts, relationships, follow-ups, event links and stored photos — including rows their notes created about other people.
- Dhaga on your phone. Dhaga can be added to your home screen from a mobile browser and opens straight into the app in its own window. A first iOS and Android build was also stood up — it can photograph a card, read it on the phone and send the result to Dhaga, falling back to a server-side scan when the on-phone read is too thin — but it is a development build only and has never been published to an app store.