Work

Three properties, four months, and the numbers underneath them.

Every figure on this page comes from Google Search Console, measured from May 2026 to August 2026, and can be produced on request. One of the three went backwards. It is here too.

These are our own properties, not client work. We build and run all three, and we are telling you that before you scroll rather than after you ask. It means the data is real and fully auditable — we hold the Search Console access — and it means we are not going to pretend a logo grid exists when it does not.

How do you know these numbers are honest?

01

May is the baseline, not April

Our data collection started mid-April, so April is a half month. Using it would inflate every multiple on this page. We start the clock at the first full month instead.

02

Denominators are published

An AI-citation count means nothing without the number of times we checked. Both numbers are below, including the engines where the count is zero.

03

The loss is on the page

One of these three lost clicks over the period. It has the same amount of space as the two that worked, and an explanation of what we think is wrong.

04

No number without a source

Search figures come from Search Console. Model, test and route counts come from the repositories. Nothing here is estimated, rounded up, or inferred.

radianceoverseas.com
The Radiance Overseas homepage — an Indian organic agricultural export catalogue, its hero carousel cycling

B2B agricultural exporter, selling internationally

Radiance Overseas

876 pages generated from structured product data, not hand-built — and 864 of them are indexed.

Clicks from search
584037.0×
Impressions
3,21318,9945.9×
Queries ranking
4891,7953.7×
Pages indexed
864 of 896
Python page generatorsJSON product hierarchiesStatic HTMLHostinger CDNCloudflare DNS

Where AI is: None in the site itself, and it would not help. The pages are generated deterministically from a product catalogue, so they are identical every build and reviewable in a diff. The automation is upstream: keyword research, index coverage, schema validation and content briefs all run on a schedule and write back into this repository.

What is hard about it: A closed loop. The generator writes the site, Search Console measures it, the SEO pipeline reads those measurements and produces the briefs that change the generator's inputs. Adding a product category is a data edit, not a build.

Visit radianceoverseas.com
radianceresidency.com
The Radiance Residency homepage — a student hostel in Indore

Student accommodation, competing on local search

Radiance Residency

The steepest curve on this page, from a site that was invisible in May.

Clicks from search
1552334.9×
Impressions
2,84941,02414.4×
Queries ranking
2871,7956.3×
Pages indexed
65 of 78
Static HTML, no build stepGA4Google AdsPython bulk-edit scriptsHostinger CDN

Where AI is: A rule-based assistant, and we are calling it that on purpose. The on-site helper matches keywords against a hand-written knowledge base in English and Hinglish — it is not a language model and does not behave like one. An LLM version exists in our own codebase and has not shipped here, so we are not claiming it.

What is hard about it: The paid-search work is the part worth reading. A like-for-like analysis showed a budget increase made results worse — clicks up 17%, cost per click down 23%, conversions down 70% — so it was reversed. Form submissions and tap events are also counted separately, because only one of them is a lead.

What is not working: Much of the impression growth is informational traffic — queries like “best cafes for studying” — which ranks well and converts poorly. Impressions are not the point; enquiries are, and separating the two is ongoing work.

Visit radianceresidency.com
blossence.com
The Blossence storefront — its hero rotating through the essential-oil range, Rosemary through Jojoba

Direct-to-consumer wellness brand

Blossence

The one that has not worked yet. Reach roughly tripled and clicks fell by half.

Impressions
3219262.9×
Queries ranking
481483.1×
Clicks from search
136−54% — a decline
Pages indexed
29 of 188
Next.js 16React 19Tailwind 4Headless WooCommerceRazorpayVercel

Where AI is: None in the storefront. The Amazon channel is synced daily through the Selling Partner and Advertising APIs — 51 listings — which is integration work rather than intelligence, and we would rather name it accurately than call it AI.

What is hard about it: A headless storefront over WordPress and WooCommerce, so the shop keeps the admin tooling the client already knows while the front end is a modern application on its own deploy pipeline.

What is not working: This is a live problem, not a finished story. Only 29 of 188 known pages are indexed — most of the rest are marked “discovered, not indexed” — and until that changes, more reach simply spreads the same small number of clicks more thinly. It is on the page because a portfolio you cannot check is worth nothing.

Visit blossence.com

Software

What we build when the answer is not a website.

Three products we designed, built and run. Each says exactly what its AI does, because “AI-powered” on its own has stopped meaning anything.

The ApkaRent sign-in screen, deployed on a live property's domain

Property management for shared housing

ApkaRent

Running one live property — 31 rooms, 61 beds

Rent, tenancies, KYC, agreements, meter readings and resident messaging, run from WhatsApp rather than an app nobody installs.

70
Data models
48
API modules
879
API tests
32
Migrations
TurborepoNext.js 14NestJSPrismaPostgreSQLReact NativeWhatsApp Cloud API

Where AI is: Vision, doing an unglamorous job well. Residents pay by UPI and send a screenshot; the system reads the amount, reference and timestamp off that image and matches it against the ledger. The same approach reads electricity meter photos, and a matcher reconciles bank statements against expected rent. The work AI removes here is retyping, which is exactly the work that was being done by hand.

What is hard about it: It talks to residents on WhatsApp through Meta's own API rather than a reseller, and it checks the messaging window before sending — so an undeliverable message is reported as undeliverable instead of vanishing. House rules are versioned and hashed, so what a resident agreed to can be proven later.

The HisabAI landing page — AI-assisted accounting and GST filing

Accounting and tax compliance for small businesses

HisabAI

Deployed, in testing — not yet writing to a production ledger

Double-entry books, GST returns and a two-way bridge into Tally, driven by messages a business owner actually sends.

2,429
Backend tests
224
Backend modules
63
Migrations
~105k
Lines of code
FastAPIAsync SQLAlchemyPostgreSQL 17React 18ViteTelegram Bot API

Where AI is: Language in, bookkeeping out. A message like “sold 12 bags to Sharma, 4,800, cash” becomes a correctly classified double-entry voucher, and invoices and receipts are read into structured line items. Every AI output that cannot be justified has to raise a review item rather than guess — an assistant that quietly invents a ledger entry is worse than no assistant.

What is hard about it: The Tally bridge verifies its own work. After writing a voucher it reads Tally's own Day Book back to confirm what landed, rather than trusting the import response. That discipline caught a real bug: GST was being derived from a single hard-coded ledger holding a fraction of the actual tax postings, which understated the returns. Rates are now derived structurally, and the system refuses an off-slab rate instead of rounding it.

Open HisabAI
No public interface — it runs the pipeline

The visibility and buyer-intelligence engine behind everything here

TradeForge

Production — runs the numbers on this page

Every figure in the case studies above is produced by this. It is the product we sell, pointed at ourselves first.

195
Database tables
219
Frozen API routes
8,106
Buyer records
$2.43
Monthly running cost
PythonFastAPIPostgreSQL with row-level securityCaddyDockersystemd timers

Where AI is: Used where judgement helps and kept away from arithmetic. Models draft outreach, classify incoming enquiries and summarise competitor movement; they never produce a number. The natural-language query interface answers from SQL, so a figure on a dashboard can always be traced to the rows behind it.

What is hard about it: It joins Search Console to Analytics on the landing-page path, which turns “this query got clicks” into “this query produced a session that converted”. That join is the one thing most reporting tools charge separately for, and it is why the numbers on this page are attributable rather than decorative.

Answer engines

Do AI assistants actually cite these sites?

Sometimes. We track it by asking four assistants thousands of real questions and recording whether the property is cited in the answer. Here is the whole table, including the three engines where the answer is currently no.

AI citation counts by engine, with the number of probes behind each.
EnginePropertyCitedTimes checkedRate
Perplexityradianceresidency.com3939010.0%
Perplexityradianceoverseas.com166112.6%
ChatGPTall three01,4500.0%
Claudeall three01,4510.0%
Geminiall three01,6230.0%

Last checked 19 August 2026. We would rather show you a table with three zeros in it than a number you cannot divide by anything. If someone quotes you a citation figure without telling you how many times they asked, that figure has no meaning.

Enquiries

1,156 enquiries captured and triaged.

Since 16 April 2026, across email and WhatsApp, automatically deduplicated and moved through a pipeline. This is a capture-and-triage number, not a sales figure — we are showing you that enquiries stop getting lost, which is the part software can honestly promise.

927
Email
229
WhatsApp
805
New
259
Contacted
53
Negotiating
9
Quoted

Tell us what you need. We’ll reply with a price.

One business day, one straight answer. No discovery call unless you want one — and if we aren’t the right fit, we’ll say so.