Skip to content
SaasQuirk

Built for what comes next

Every engagement starts with a goal the client has set: every taxpayer reached, one balance across a group's brands, the answer in front of a support agent before the question is finished. These are the systems we built toward those goals, what runs today, and where each one is going.

What clients set out to do, and what runs today

Civic technology

Giving a revenue department one picture of its own operations

Every event from the department's systems in one record its decision makers can act on, scheme communication across the department, and a barcode on every demand notice.

Municipal corporation, property tax operations
Maharashtra, India
Read the story
Enterprise systems and CRM

A CRM shaped around how a brokerage sells

A public website, live, and a Zoho CRM with leads, properties, owners and who in the firm may see what.

Commercial real estate brokerage
Dubai, UAE
Read the story

Clients are named only with their written permission. Figures appear only when a client has supplied them in writing.

02Telecom and communications · Region withheld

One balance for three brands' messaging, with finance serving itself

Rewards and loyalty group, three brands

The goal

The group sends customer messaging for three brands. Each brand has its own sender identity and its own traffic, so each needs its own account. But the money is one pool: the group pays in once and expects every brand to draw from it, and expects a statement that explains, per brand, where the money went. Three separate accounts with three balances would have meant three payments, three receipts and adding up at month end.

Services
  • Engage
  • Custom operations systems
Stack
  • Engage
  • Pots
  • Java 25
  • Spring Boot 4.1
  • PostgreSQL 16
  • Redis 7
What we built
A pot the brands draw from
The group's payment lands on the pot once. Each brand sends from its own account; its usage is priced daily against the pot. The console ranks the brands by what each has drawn, shows a fortnight of traffic beside every name, and flags the pot when it runs low.
Pricing from what was sent
Every closed day is priced the next morning from the sent count, per account, per channel, at the brand's rate card. Delivery and failure counts keep updating for 48 hours without rewriting the priced day.
Receipts and reports
Each payment carries a numbered receipt the finance team downloads from its own screen. A report for any range up to a year covers the whole pot, with an accounts sheet and a tab per brand, or just the brands they pick.
Roles that fit the group
The pot leader sees every brand; each brand's own users see only their account and its consumption. Nobody at the group needs us to answer a balance question.
Today

The group is a live Engage customer. Usage is fetched and priced on schedule every day, receipts are issued as payments are recorded, and the same engineers who built the ledger run it.

What comes next

The pot is now a standard part of Engage. Any group paying for several brands, and any aggregator reselling messaging to its own customers, gets the same ledger, the same receipts and the same report from the first day.

03Civic technology · Maharashtra, India

Helping a city confirm every taxpayer's identity inside its own platform

Municipal corporation, citizen authentication

The goal

The corporation's property tax platform handles payments, property mutations and file approvals for the whole city. Each of those actions has to be tied to the citizen performing it, which means a code sent to the citizen's phone and verified before the action goes through. The platform needed a service it could call for that, fast enough to sit inside a payment flow, and reliable enough that a failed code never blocks a tax payment.

Services
  • Municipal systems
  • Messaging pipelines
Stack
  • Java 17
  • Spring Boot 3.2
  • Redis
  • Docker
  • Registered SMS templates
What we built
An API the tax platform calls
Four operations: send a code, verify a code, confirm a successful mutation, report a failed one. Every call carries a bearer token issued to the platform, so nothing else can send messages in the department's name.
Codes that expire
Each one time password lives in Redis with a time to live, verified once, then gone. The gateway keeps no citizen data beyond the code's lifetime.
Messages the regulator recognises
Every SMS uses a template registered under the department's own sender entity, so codes and notices arrive from the corporation, not from a third party.
Notifications for mutations
When a property mutation succeeds or fails, the platform tells the gateway and the owner hears the outcome by SMS.
Today

The gateway runs as a container we host and monitor. The engineers who wrote it are the ones who answer when the platform's team reports a problem. It has carried the department's authentication traffic since it went live.

What comes next

The gateway is a service the platform calls, so each new citizen action the corporation adds can use the same sign in step, and each new notice the same path. Nothing on the platform's side has to be rebuilt for the next module.

04Civic technology · Maharashtra, India

Giving a revenue department one picture of its own operations

Municipal corporation, property tax operations

The goal

A property tax department runs on several systems, and each one records what it does: payments, mutations, approvals, notices, campaigns. Read one at a time they are logs. Read together they are the state of the department. The corporation wanted that whole picture, and it wanted its rebate, amnesty and deadline schemes to reach taxpayers through the channels the department already uses.

Services
  • Applied AI and data
  • Municipal systems
  • Messaging pipelines
Stack
  • Event aggregation
  • Barcode generation
  • Scheme communication
What we built
Event aggregation
We take in every event the department's systems generate, clean and adjust them into one consistent record, and turn that record into views the department's decision makers and stakeholders can act on.
Scheme communication
When the department announces a scheme, a rebate window, an amnesty or a deadline, we handle the communication across the department. SMS is one channel of several.
Demand notice barcodes
Every property tax demand notice in the jurisdiction carries a barcode we generated, so the notice can be scanned at the counter and matched to its record.
Today

The aggregation runs continuously against the department's systems; scheme communication runs when the department announces one. Both are operated by the engineers who built them.

What comes next

One clean record of the department is the ground for what comes next: models that read the whole department and flag what needs a decision before someone goes looking for it. That is the work our AI and data practice is built for.

05AI and data · India

Putting the answer in front of support agents before they go looking

Listed company, customer support

The goal

A listed company's support team answers questions whose answers already exist in the company's public material, spread across many places. The pilot tests whether models trained on that material can put the right answer in front of an agent faster than the agent can find it, and whether a warehouse built from the same data serves the rest of the company.

Services
  • Applied AI and data
Stack
  • Model training
  • Fine tuning
  • Data warehouse
What we built
Models on the company's public data
Trained for the support team's questions, and fine tuned as the team's corrections come in.
A data warehouse
Built alongside the models, so the same material can be queried by the business, not only by the assistant.
Today

A pilot, measured with the company. Nothing about its results is published here until the company agrees to it.

What comes next

The measure is simple: does the right answer reach the agent faster than the agent can find it. If it does, the same models and the same warehouse serve the rest of the company's questions, not only support's.

06Enterprise systems and CRM · Dubai, UAE

A CRM shaped around how a brokerage sells

Commercial real estate brokerage

The goal

A Dubai brokerage sells and lets commercial property. Its leads, its properties and the owners behind them were tracked by the people who held them. The brokerage needed a public website first, then a CRM shaped around how a brokerage actually works: a lead, the property it is about, the owner of that property, and who in the firm may see what.

Services
  • Custom operations systems
Stack
  • Public website
  • Zoho CRM
  • Custom CRM backend
What we built
The public website
Built and delivered first, carrying the brokerage's listings.
Zoho CRM, phase 1
Lead management, property and owner management, and role based access, configured for the brokerage's process and ready for automation and reporting in later phases.
A custom backend
Our own CRM backend for the brokerage sits in our repositories alongside the Zoho configuration.
Today

The website is live. The CRM's phase 1 was in development in the first half of 2026.

What comes next

Phase 1 sets the records. The configuration is ready for the phases after it: automation, reporting, and messaging from the record through Engage, so a follow up starts from the lead and writes its result back.

Where the work is going

Every system above points the same way: software that reads the whole operation, reaches people on the channel they answer, and acts from the record. Three directions we are building toward with every client.

AI with a defined job

Models trained on the customer's own data, fine tuned as corrections come in, measured against one job inside a workflow. Voice AI agents on Engage that answer and place calls.

One messaging layer, every channel

WhatsApp, SMS, RCS, email and voice from one account, priced daily from what was sent, with one balance for a group of brands or an aggregator's customers.

CRMs that act

Salesforce and Zoho shaped to how a company sells and serves, with a message starting from the record through Engage and writing its result back.

Our work

Bring us the goal

Tell us what you are setting out to do. We come back with a written scope and a price, show working software every week, and run the system after launch with the engineers who built it.

Or write to support@saasquirk.com. SAASQUIRK LLP, India.