Sazinga
245 bookings in the refund queue and no one could open it
A hire business asked for a sign-off step before refunds. The refund screen had never completed one. Our first diagnosis was wrong, and the owner corrected it.
Latest writing
Sazinga
A hire business asked for a sign-off step before refunds. The refund screen had never completed one. Our first diagnosis was wrong, and the owner corrected it.
Sazinga
Creating a task failed on every submit. Once fixed, a task assigned to a field user reported success and then vanished from the supervisor's board.
Sazinga
Two new field staff were given no boards and could see all 101. A week later a user with 51 boards was shown 123 due out of 128. Two causes, one fix.
Sazinga
Adding a site failed with a bare Validation error once any board had been deleted. A deleted board still held its code, and the error named nothing.
Sazinga
A manager who should see 33 people could reach 726 and export 15,452 rows. An empty team also meant no limit at all. How it was found and closed.
Sazinga
Admins clicked Edit on an order and got a blank form that saved a duplicate. Behind it, any attempt to modify an order crashed the live system.
Sazinga
On a phone the quotations list showed four of eight columns. Status, both totals and every action sat off the edge, and no automated check noticed.
Sazinga
A depot report showed nothing for an employee with 404 attendance records. A join that dropped anyone without a depot entry hid his whole history.
Sazinga
A region-wise notice reached 11 of the 500 people it was meant for. Two different lists of regions shared one name, and the form wrote one and read the other.
Sazinga
Field staff were invited to take night proof of boards with no lighting, and no report counted it. For LED screens a photo cannot show if the ad is playing.
Sazinga
The monthly farmer-meeting programme was at 9.2 per cent with its window closing, against 54 to 66 per cent before. No screen showed it until we built one.
Sazinga
A manager's team screen showed 39 people, five of them deleted months earlier. 75 people across 60 leaders' teams were only half-deleted.
Sazinga
A third party covered a client's board with their own material. The software had no way to record it or say whether the advertiser was owed display days.
Sazinga
Office staff label each handover photo. Relabelling one removed the photo that held the label, and the next click failed six times in a row.
Sazinga
Users were told to check their wifi. The network was fine. Our own timeouts were shorter than the work, and a generated answer was paid for and thrown away.
Sazinga
17 per cent of live employees had no manager recorded, so an AI assistant would say a real colleague was not in your team. Why names stay out of the index.
Sazinga
An AI assistant told a parent nothing new had been asked for. Four reward requests had sat unanswered for weeks. The fault was in how it was told to look.
Sazinga
A hire business relied on its audit trail. It held nothing for ID, bank and odometer changes, and no row for 1,231 vehicle documents. Two quiet faults.
Sazinga
Field staff tapped Camera and nothing happened, so no proof photos. Two separate faults, each enough alone, hidden because the app swallowed the error.
Sazinga
Every digital screen refused a booking for any dates, even with nothing on it. A missing slot count was read as zero. Two future bookings were also accepted.
Sazinga
Half of recent car hire bookings showed documents missing in the driver app when the office had them. One rule lived in three places, and they disagreed.
Sazinga
A long campaign turned the phone's task list into a backlog nobody read, while boards with no live campaign got no task at all. How we made it short.
Sazinga
A booking said collect 9,797 rupees, fully settled and archived all at once. The cause was a nightly job closing rentals that had not ended.
Sazinga
On a jointly owned site, one partner paid the printing bill from their own pocket and the monthly settlement never paid it back. The fix, and what it left open.
Sazinga
We asked two AI image models for a pizza with three of eight slices left. The dearer one drew a perfect 3/8 label over a whole pizza. A parent would approve it.
Sazinga
The report sent to advertisers shows two photos per board. If the close-up was taken first, it printed in the wide-shot slot. One field was doing three jobs.
Sazinga
Proof photos that waited in the offline queue were dated by days late, and the rule that a photo must be taken at the board was not running from the main screen.
Sazinga
A rewards scheme paid per attempt, so a retry was safe but a retake paid again. A flat price also made payouts grow with the quizzes added. Found in review.
Sazinga
A client kept board coordinates and bookings in two Excel files with no site code. Of 47 boards in both, 34 differed, by 4 m to 3,365 m. How we reconciled them.
Sazinga
On release day 17 field staff ended their shift by accident and could not start another. The fix reached every phone without a new app release.
Sazinga
A login that failed at random hid a worse fault: the site served a logged-in administrator's page to anyone. Fifty-six emails were stuck as well.
Sazinga
We checked what a car hire customer is actually told. Three events reached nobody, and switching the alerts on blindly would have sent a wrong one.
Sazinga
Proposal totals ignored how long the campaign ran, then a save that touched nothing re-priced a quote the client had already seen. What the formula was missing.
Sazinga
7,277 of 17,312 field shifts in thirty days never ended, so the attendance export showed blank hours. The job that closed them had been off for nine months.
Sazinga
Bookings cancelled or deleted on the booking site stayed on the office board and drivers' phones. When the office swapped a car, the driver still saw the old one.
Sazinga
The app was unreachable from 2 a.m. to 10:25. The cloud console said the server was running and healthy. The bill was unpaid and the notice went to one inbox.
Sazinga
Drivers rang the office instead of the customer on every job, or saw no number at all. In the live window, 16 of 16 assignments had none. Two faults stacked.
Sazinga
A booking window ran to 5 September. On that day a dealer placing a first order was told it had closed. Every scheme the company had run had lost its last day.
Sazinga
Two of our sites answered every mistyped address with the homepage and reported success. To a search engine that is thousands of identical pages, none marked real.
Sazinga
A parent asked an assistant what their child had requested. It listed four things. The child had asked for one reward, four times. The prompt already forbade it.
Sazinga
Every photo a driver took at a handover reached the office as its top-left corner. Half to nine-tenths of each frame was lost, and none of it can be recovered.
Sazinga
A request to hide the invoice module read as a menu change. Partner shares, agent commissions and project profit were all worked out from invoices.
Sazinga
A 184-obligation construction register was six weeks old when we found about a hundred entries may cite a law that had been replaced. Nothing in it could tell us.
Sazinga
The crew who mount and photograph boards could open Billing and read client rates. Removing the permission revoked nothing, and the next fix would have erased data.
Sazinga
A dealer at one depot could order a product and a dealer at the next could not. 1,416 pack-rows were hidden across 26 depots; one stock upload had delisted 185.
Sazinga
Customer batches from the accounting package returned success while 87 of 208 records were dropped. Uploads over 100 KB failed. Ten kilos went across as ten grams.
Sazinga
The owner asked whether the operations board told the truth. Its two busiest queues showed the fifty newest jobs and hid the oldest; two columns were always empty.
Sazinga
A forwarded Gmail bounce showed every confirmation to a Gmail address refused since one afternoon. Roughly 37 bookings went unconfirmed, and no code was at fault.
Sazinga
The WhatsApp greeting told a customer to bring 18,725 rupees. The screen said 23,725. The gap was the deposit, and it changed with the operator's last click.
Sazinga
The office changed a booking's pickup place on the booking site. The portal quietly overwrote its copy, logged nothing, and the driver drove to the old address.
Sazinga
Staff said the server was down. It was healthy and answering in 40 milliseconds, yet the office saw 219 error pages in a day. The cause was a customer's browser.
Sazinga
A dealer-app product screen repeated every crop name 36 times and took 2.5 seconds to open. The table behind it mapped every product to every crop in every state.
Sazinga
A 20-site proposal deck weighed about 90 MB and a 40-site one about 180 MB, past what WhatsApp or email will carry, because every photo went in at full camera size.
Sazinga
A manager could see five pending orders and approve none. The rep who took them had left in July, and 143 of 1,170 pending orders were stuck the same way.
Sazinga
A server-wide security hardening removed one rule a fabricator's quotation system depended on. Every request failed, no alert fired, and it was found by accident.
Sazinga
An inbox of identical emails from the website, so nobody read them. About ten real enquiries a day were arriving, and one form had rejected every genuine one.
Sazinga
The owner photographed a handover himself: thirty pictures, one on the server. The other twenty-nine were gone, and the app had shown him nothing was wrong.
Sazinga
A depot could not register a distributor because the phone number was taken. Nobody had it. An employee had been locked out for three months by the same mechanism.
Sazinga
A June clean-up was meant to cut the cloud bill. It stayed at about $198 a month: the saving was $4, not $52, and server backups had quietly stopped 27 days earlier.
Sazinga
WhatsApp confirmations to foreign customers were failing. The failures were the lucky cases: three messages with a UK customer's booking reached a stranger's phone.
Sazinga
We mapped 140 old addresses before relaunch, and days later a search still returned a page of our old site. One missing slash was the cause.
Sazinga
In a CMS a page with no description or an empty FAQ publishes. With a typed schema the build fails instead. We hit it four characters over a limit this week.
Sazinga
Cleaning up and adding security plugins kept us maintaining a position. Rebuilding our own site as static pages removed what there was to attack.
Sazinga
We rebuilt our own site and the first build told every search engine to forget it. Nothing complained. What to ask the people building your website.
Sazinga
The complaint was that the target screen was unfriendly. Underneath it, the save endpoint checked nothing and 866 of 877 targets were in the wrong units.
Sazinga
Our own rebuilt site came one command from launching with a do-not-index tag on all 245 pages. Nothing complained. Why it happens and the check that caught it.
Sazinga
If staff can ask an AI about company data, what stops it answering the wrong person? Not a sentence telling it to behave. Where the refusal has to live.
Sazinga
The owner suspected the phone numbers were wrong. They were — 9,300 of them — and the check meant to prevent it had only ever tested one end.
Sazinga
After a site move, one AI assistant described our product accurately and another described a business we had stopped being. What a page must contain to be quoted.
Sazinga
Reps could not start their day and attendance data was unusable. Nothing was down — a Google API sat inside the one request that had to succeed.
Sazinga
An owner asked what it would cost to let their sales team question their own data. We measured it, our cheap-model theory lost, and the answer was still yes.
Sazinga
92% of all form submissions were job applications and 87% of search clicks were the company name. A framework change does not create commercial demand.
Sazinga
Before building an AI assistant over an orders database, we found 2,667 approved orders it would have reported as cancelled, with no error.
Sazinga
Your quotation already knows what the job consumes. Turning that into a bill of materials and a nested cutting list without rebuilding it by hand.
Sazinga
Where transport and installation sit relative to GST on a fabrication quotation, CGST and SGST versus IGST, and the ordering that changes the total.
Sazinga
Cost a six-foot stainless work table step by step — sheet weight, tube, hardware, labour and margin — with every figure shown so you can check it against yours.
Sazinga
Margin on selling and markup on cost are not the same twenty per cent. The arithmetic, the conversion table, and what the confusion costs over a year.
Sazinga
SS 202 against 304 against 316 for fabricators — what differs in the metal, where each grade belongs, and the price spread on one identical table.
Sazinga
Quoting software for manufacturers mostly assumes a catalogue. Made-to-order work needs something else, and here are six tests to run on any vendor demo.
Sazinga
Estimating spreadsheets fail in predictable ways — copied files, stale rates, hidden assumptions. Where quoting in Excel breaks, and what fixes it.
Sazinga
Indian hoardings are built at 20×10, 30×10, 40×20 and 60×20 feet among others. What a unipole, gantry and pole kiosk are, and why no size is standard.
Sazinga
The two kinds of outdoor advertising business, what each needs to start, the permissions involved, and the three numbers that decide if it works.
Sazinga
Card rate versus net rate, how agency commission is applied, what printing and mounting really cost, and how to quote so procurement cannot argue.
Sazinga
What separates a billboard management system from a design tool: site inventory, availability by date, contracts, mounting and printing jobs, invoices with tax.
Sazinga
Vacancy is the biggest cost in an out-of-home business and the one nobody counts. How to work out what your empty hoarding days actually cost.
Sazinga
Double-booking an advertising face is almost never carelessness — it is a hold nobody confirmed. How it happens, and how to make it impossible.
Sazinga
The proof-of-display photograph usually exists; finding it is the problem. What a client is really asking for, and how to answer in thirty seconds.
Sazinga
Out-of-home work is lost on turnaround and completeness, not on rate. What belongs in a proposal, and how to stop it taking a whole evening.
Sazinga
What hoardings, unipoles and gantries fetch across Indian markets, the five things that set the rate, and how to price your own inventory.
Sazinga
Payments freeze because the invoice and the purchase order describe different things. Where that mismatch comes from, and how to remove it.
Sazinga
A fabrication quote told the customer the price and described the item in words. Drawing it in 3D from the figures already on the quote was cheaper than it sounds.
Sazinga
Forty key columns moved to one ID format. Development ran a newer database than production, so the obvious fix would pass every test and fail on the live box.
Sazinga
A test harness could not photograph one screen, on purpose. It shows the credential that pairs a tablet to a child, and that changes how it is stored.
Sazinga
A sales app hardcoded currency, language and timezone in about 120 places because a rep's phone was not allowed to read the company's own settings.
Sazinga
In several countries an invoice series must be unbroken. A plain database counter leaves holes the moment a draft is abandoned. Here is what we built instead.
Sazinga
A pricing panel asked for one customer's agreed prices and got every customer's. Nothing failed or warned. How far it went, and how we closed it.
Sazinga
A login endpoint with no credential was fenced off by an assert. One optimisation flag strips every assert from the build, and the fence with it. Caught in review.
Sazinga
Forty-seven error codes had no wording in the web portal, so users read the raw code on screen. Nothing in the software treats that as a fault. We made it one.
Sazinga
A compliance portal let staff see their own certificates, but a read-only role could see everyone's, and the protection rests on copied lines.
Sazinga
A no-login quote link is a second way for your costs to reach a customer. We built it on the same stripping as the PDF, then the client asked us to remove it.
Sazinga
Most of what you can be inspected on is filings, notices and inspections, not certificates. A register of 184 obligations shows why that matters.
Sazinga
The headline figure on a compliance dashboard came from a table nothing updated. Two careful scripts hid the gap. The job that should compute it is still not built.
Sazinga
Three test suites failed on code nobody had changed. Leaked test users had filled a shared tenant to its seat limit, and a red run meant nothing about the release.
Sazinga
In a compliance system a worker could close a gap by uploading any file. The dashboard went green before a manager looked and stayed green after a rejection.
Sazinga
A view over tables protected by row-level security ran with its owner's rights and would have summed every tenant's receivables. Caught before any customer saw it.
Sazinga
An AI helper for a quoting system needs to read every rate and margin you have. So where it runs matters more than how clever it is. A design, not a shipped feature.
Sazinga
The order module was reported complete. In a customer's shop, a rep could not create one on the phone. The tracker showed roughly double the real progress.
Sazinga
A fabricator's pricing moved from a spreadsheet into new software. The import said it worked, yet 102 rules were missing. How we found them and why it matters.
Sazinga
Some tax regimes make an invoice invalid until the government stamps it. Built naively, one slow afternoon at the regulator stops every till in your shop.
Sazinga
An auditor wants a record as it stood in March and who changed it since. Most systems only promise staff will not edit history. Ours makes the edit impossible.
Sazinga
A clerk allowed only to upload spreadsheets could create customers and products she could not create by hand. And one bad row could stop the whole upload.
Sazinga
Every pricing rule assumed inches. The customer wanted to enter millimetres. Converting at the API boundary was the only change that could not corrupt old quotes.
Sazinga
The first release build of the mobile app failed on two configuration bugs weeks old. Development mode had never taken either code path.
Sazinga
A hundred and fifty multiple-choice questions all had the answer in the first position. Each one was right. The distribution was the defect.
Sazinga
Some products are priced from other parts, depending on width. Thirteen of 362 rules needed that, and a nested formula only one person could read.
Sazinga
We built a quoting tool for fabricators from a list that looked like research. Two rows described the wrong company, and the list taught us who really quotes.
Sazinga
An API client generated from a live schema guessed which credential each route needed from its path prefix, and got one pair backwards. It failed safe.
Sazinga
A reply from an AI assistant was cut off mid-sentence and its hidden control text reached the screen, with a button that would have put it into a child's lesson.
Sazinga
A mobile release build went through a pager and the report carried the pager's exit code. The build had failed and the status report said it had succeeded.
Sazinga
A till refused to bill for no reason its owner could see. The invoice number came from a clock, repeated every 16 minutes and was shared with every other customer.
Sazinga
A tunnel made the live database answer on localhost, so every migration run that afternoon went to production. Only a typo and a database property saved it.
Sazinga
Signing out of this compliance system changed nothing on the server. A copied login stayed good for eight hours, and access changes left no trail for an auditor.
Sazinga
Every contract bug in the project had been between contributors, not inside one. So the mobile rebuild began by turning those disagreements into build failures.
Sazinga
Stock was visibly running out and the low-stock screen showed nothing. The opposite failure, an alert on every order, comes from treating blank as zero.
Sazinga
Nine kinds of alert, each carefully built, every one delivered to zero people. Why app notifications fail silently, and the rule that stops people ignoring them.
Sazinga
How long to move a pricing spreadsheet into quoting software? For us, weeks of developer time. The self-service importer is not built.
Sazinga
End-to-end tests could only run on the live system, so a defect was found by demonstrating it on real quotations. One suite now gates the push and checks the deploy.
Sazinga
A field app marked valid orders as rejected by the office after a brief server restart. The fix meant telling a failed connection from a refusal.
Sazinga
One made-to-order item had 24 features and 62 variants, so no price list was possible. Pricing each feature once, not each product, made the catalogue workable.
Sazinga
What auditing a fabricator's quoting workbook revealed about how bespoke pricing really works, and which parts of it a person was silently holding together.
Sazinga
Every figure was right and nobody would send it, because it was not laid out the way customers file a quotation. Three real quotes fixed what a call had missed.
Sazinga
An audit trail hid the request but stored old and new password values in clear, then showed a password change as no change. Both faults and the fixes.
Sazinga
In a children's learning app, removing a child left her tablet signed in, and adding her back made a blank copy with none of her history.
Sazinga
Quoting software tells a fabricator the price of a table and nothing about the margin on it. One set of pricing rules, run twice, gives a margin on every feature.
Sazinga
Stock software often splits one building into three locations. We describe a site by what it can do instead, and found a check that used the wrong rule.
Sazinga
In a children's learning app, a parent published a seven-question lesson and the child got one question. Two faults combined, and a third was found beneath them.
Sazinga
Retiring a product left 211 orphaned prices and 104 orphaned variants, and half the stock rows pointed at nothing. Removal must never touch sales history.
Sazinga
A customer queries a line six weeks after the quote. The sheet rate has moved twice, the estimator is on site, and a price you cannot reconstruct is one you concede.
Sazinga
A project status list said the offline layer was not built, so two rounds of work were commissioned for it. It existed. The list was wrong six times.
Sazinga
A stock system refused 100 kg received against a 90 kg order, so clerks edited the agreed order to get goods shelved. The rule was the fault.
Sazinga
A sales rule checked that a site had a till but skipped the check for account owners, so a sale could be booked and stock taken from a production store.
Sazinga
A compliance dashboard guessed the unit of a stored figure. A true 1 per cent showed as 100 per cent, so the site that needed the alarm looked perfect.
Sazinga
Four places asked which credentials are about to expire and gave four answers. A credential ending today was counted on none of the dashboard's numbers.
Sazinga
For weeks a deploy on one of our own projects warned, printed Done and restarted nothing, so the old version kept serving. What we found and fixed.
Sazinga
A fabricator sent 14 shop drawings expecting the quoting system to read sizes off them. All were stamped not to scale. What a drawing can and cannot tell a quote.
Sazinga
Stock was taken off at order and again at dispatch, so every shipped order was miscounted. Partial dispatch then let two drops ship the last unit.
Sazinga
Days before store submission, a fresh API key got a 404 on a model the provider still listed. Availability is per account, and every earlier test used our own key.
Sazinga
A fabricator's 362 spreadsheet formulas each needed a sign-off from somebody who knows the trade before a quote could be trusted. The review stalled at item forty.
Sazinga
Full marks on a safety quiz proves nothing about whether the lesson was read: the careful-sounding answer is obvious. What the app could and could not record.
Sazinga
A readiness screen reported 1,081 missing pricing rules on a catalogue quoting real jobs correctly. About 33 were real, hidden under a warning nobody trusted.
Sazinga
The plan and the database said the product was largely built. About forty per cent had no server behind it, and taking a quiz failed everywhere.
Sazinga
An expired trial silently put a test environment read-only for four days. The same thing will happen to the first customer whose card fails.
Sazinga
A sale, a production run and an adjustment each changed stock their own way. Only one took a lock, and the movement report was missing every sale.
Sazinga
A TRUNCATE CASCADE reset of tenant data emptied the roles table, deleting every system role and permission grant, because one nullable column made it a child.
Sazinga
A children's learning app returned twelve questions when a parent asked for fifteen and said nothing. Fail, truncate quietly, or return twelve and say so.
Sazinga
A parent published a lesson, the screen said Published, and the child's tablet showed an empty list. Publishing and assigning were two separate steps.
Sazinga
A heavier grade is not just a dearer sheet. Some parts are made differently, so a quoting system that only swaps the rate gets those items wrong.
Sazinga
A driver at a customer's gate with no signal got a spinner instead of a delivery form. Offline capture had been built, but nothing could reach it.
Sazinga
Yield was recorded per batch, so a bad pass through the press was hidden. Recording output per run fixed that, but only from a date forward.
Sazinga
A mobile app on two bars of signal needs incremental sync. A timestamp cursor drops records silently or repeats them forever. The design that avoids both.
Sazinga
A sale that should carry no tax could be invoiced at 18%, because a zero rate was mistaken for no rate. Nothing warned anyone.
Sazinga
A question generator failed on about half of requests and blamed the network. The network was fine: the system had stopped after one of its five AI suppliers.
Sazinga
In a car rental system, removing a driver worked from one screen and silently did nothing from another. The cause, what it cost the audit trail, and the fix.
Sazinga
A rental app told a driver nothing was owed at the kerb. Five thousand rupees was owed, then twenty. Forty-five thousand exposed across six bookings, and why.
Sazinga
A driver app said 86 jobs were still open this month. Three were. The other 83 had ended in ways the app was never told about, and the count grew every month.
Sazinga
Seventeen layout tests passed against a stylesheet that made the assertion impossible to fail. Fifty-one screen tests passed on a portal that was read-only.
Sazinga
Someone reassigned fifty dealer accounts and now denies it. Whether your software can name which accounts and who did it depends on how the log was built.
Sazinga
A salesperson pitching a campaign that starts next quarter does not care what is free this morning. Availability needs a date argument, not a boolean column.
Sazinga
A promotion and every customer's free trial ended five and a half hours away from the time the business meant, because the software kept the wrong clock.
Sazinga
A site was cleaned several times and kept being reinfected while the scanner reported clean. Comparing every file with the official release found 211 files.
Sazinga
A car rental business had 67,000 handover photos already tagged by staff. Reusing those tags sorted new photos with no training and no new hardware.
Sazinga
Composite keys stop a cross-tenant row being written; row-level security limits what is read. Two systems, and the gaps each one wrote down.
Sazinga
An expense system had an approval step no expense could reach. Before rebuilding it, we took out everything that was not doing work. Three tests for what is real.
Sazinga
Two compromised sites were rebuilt as static HTML with no interpreter and no database. The attack surface did not shrink — it stopped existing.
Sazinga
Two tables held outstanding amounts. Nothing kept them in step with the invoices they came from. Pay an invoice and the ledger never noticed.
Sazinga
Nine modules named after data types. One job — book a hoarding and bill for it — spread across three of them. That is why software feels scattered.
Sazinga
362 pricing formulas, none of them in the source code. How to evaluate business-authored expressions without eval, and why that boundary matters.
Sazinga
A proposal is a slide deck and a cost sheet. Generating both from the same records that produce the booking removes an afternoon of retyping per pitch.
Sazinga
A child did one piece of work and was paid for it twice. A parent asked where the points went and nobody could answer. Why a total you can edit cannot be trusted.
Sazinga
The first real card payment through a rental system was credited double. The same customer was then asked for a deposit they had just paid. Both were one mistake.
Sazinga
A receivables card showed zero while the list beneath it showed forty-five unpaid invoices. The list was right; the total was adding text, not money.
Sazinga
A digital screen loops six to eight adverts at once. The system allowed one. That is a correctness defect, and it should be sequenced like one.
Sazinga
One website on a shared server was hacked, and every site on it fell because they all used the same database password. Why reuse removes your defences.
Sazinga
Several websites ran as one user on one server. When one was hacked, all were, and the security plugins were doing nothing. What separating them changed.
Sazinga
In a car rental system, nine places answered who the driver was. Eighty-one legs got an arbitrary answer, sixteen named the wrong person, seventeen a phantom.
Sazinga
About fifteen of a media owner's thirty-eight campaigns had no end date. Leaving the date blank would have quietly broken availability. What we did instead.
Sazinga
A plain-English assistant over a business system must not show a junior the finance figures. We built the limits into what it can see, not what it is told.
Sazinga
Two hard-coded roles made everyone an administrator. How 77 permissions replaced them, and the bug that nearly showed field staff the director's screen.
Sazinga
The data was a chain and the interface was a set of dead ends. No record linked forward to the one it produced, so every step meant going back to a menu.
Sazinga
Every screen limited a branch manager to their own branch. The report export did not, so one click produced the whole company's customers and payments.
Sazinga
A customer paid the rental and a five thousand rupee deposit online. The booking then asked him for five thousand more, and the expected deposit read ten thousand.
Sazinga
A field sales app treated every conflict reply as order already saved. Some saved orders showed as failed and others could be deleted from the phone.
Sazinga
A nightly database backup on our own server wrote nothing for four days, from four separate causes, with no alert. A dead certificate renewal hid the same way.
Sazinga
A campaign on four hoardings was checked for clashes against one of them, so three could be sold again to someone else. The thing you sell is the face and its dates.
Sazinga
A branch check compared two different kinds of value and denied everyone. Fixing it led to 37 actions a branch user could have taken on other branches' records.
Sazinga
Every invoice had to sit on a booking. A partner's share, a supplier's mounting bill, an advance, a credit: real invoices with no booking could not be recorded.
Sazinga
A booking site went down for four hours with about twenty requests a minute and an idle database. A bigger server would have made it worse.
Sazinga
Eighteen trips showed a driver who had been taken off, and on seven the removed driver could no longer be identified. The record kept for safety caused it.
Sazinga
A driver dashboard counted work by a row's updated timestamp. The timestamp was stamped on insert and had never moved on any of 221 rows.
Sazinga
A counter charge and an upstream re-price added the same 1,593 rupees an hour apart. Both stood, and the ledger held back the customer's deposit for it.
Sazinga
A co-investor's profit share and an agency's commission both go out to a company each month. Added together, they give a total that means nothing.
Sazinga
A day after our new site went live, ChatGPT still described Sazinga as a marketing business. What an assistant reads, and what we fixed.
Sazinga
Why availability derived from live bookings prevents double-selling in asset businesses, and a spreadsheet inventory structurally cannot.
Sazinga
A field app that works in the office can lose or duplicate orders out of signal. What has to be decided, in business terms, before an offline app is built.
Sazinga
Where AI genuinely speeds up building software, where it quietly costs you more, and the one review rule a supplier should never loosen.
Sazinga
Bespoke manufacturers price in spreadsheets for good reasons. A governed pricing engine keeps the flexibility and removes the drift.
Tell us what you are trying to fix and we will tell you honestly whether one of the applications fits, or whether this is a build.