Home / Articles

Notes on building and running software written from the bench.

Notes on building and running software, written from the bench.

October 2026 [ 10 ]
A still photograph of a brass key resting on a stack of pale paper files on a warm grey desk.
[ 2026-10-23 ][ 2 min ]

Give it access, and know who can revoke it.

Letting an AI model look up your own records can lift its accuracy fast, but that access needs an owner. This piece explains what changes once a model can act, not just answer, inside your own systems.

Read the article ↗
A neat stack of closed paper folders and documents sits on a worn wooden desk beside a closed laptop.
[ 2026-10-19 ][ 2 min ]

Your own documents make artificial intelligence answers safer

An artificial intelligence (AI) model's memory is fixed at training and does not know your current prices or policies. Retrieval keeps it honest by making it answer only from documents you choose.

Read the article ↗
A single order ticket printer sits alone on an empty stainless steel kitchen counter.
[ 2026-10-16 ][ 2 min ]

One order screen beats a counter full of tablets

A food outlet taking orders from the counter, the phone and delivery platforms ends up running several systems at once. Joining them into one order screen stops tickets getting lost and shows where the real margin goes.

Read the article ↗
A single brass key rests on a bone coloured surface in front of a softly blurred metal filing cabinet.
[ 2026-10-14 ][ 2 min ]

Connecting artificial intelligence to your systems is the hard part

Most businesses still use artificial intelligence as a chat window, cut off from their own records. The real risk begins once it is given access to look things up and act on your behalf.

Read the article ↗
A photograph of an open notebook with blank pages and a pen lying across it on a wooden desk.
[ 2026-10-12 ][ 2 min ]

Clear instructions decide whether artificial intelligence earns its keep

Most businesses using artificial intelligence see no financial return, and unclear instructions are often why. This article explains how to write instructions and examples an AI model can actually follow.

Read the article ↗
A row of paper receipts and an old till roll on a wooden counter.
[ 2026-10-09 ][ 2 min ]

E-invoicing rules keep changing, make sure your contract does too

Malaysia's e-invoicing rules change every few months, and a contract that is silent on updates leaves you to absorb the cost of each one. Before you sign or renew, find out who is responsible for keeping your system compliant, and at what cost.

Read the article ↗
A neat stack of index cards fanned out on a wooden desk under warm side lighting.
[ 2026-10-07 ][ 2 min ]

A written test set catches wrong answers before your customers do

Before any artificial intelligence (AI) assistant goes live, it should face a list of real questions with the right answers written down. This article explains why that written test set matters more than the AI model you choose.

Read the article ↗
A label press head in copper and brass with steel rollers and a reel of white label stock.
[ 2026-10-05 ][ 2 min ]

A late quote means the job is already lost

Picture a label converter whose quotes take too long to price and whose schedule lives in a spreadsheet shared by email. Joining quoting and scheduling is what turns enquiries into jobs that ship on time.

Read the article ↗
A brass desk calendar lies open beside a neat stack of paper invoices on a worn leather desk mat.
[ 2026-10-02 ][ 2 min ]

Your software contract should expect the rules to change

Tax rules on e-invoicing and a new law on artificial intelligence are both moving in Malaysia this year. A contract written only for today's rules will not survive the next change.

Read the article ↗
A single brass key resting on a stack of paper floor plans on a wooden desk.
[ 2026-10-01 ][ 2 min ]

A deposit sitting in an inbox can still lose the unit

A buyer pays a deposit and assumes the unit is theirs, but if that booking only lives in someone's inbox, another agent can show the same unit to someone else. Joined-up booking records close that gap.

Read the article ↗
September 2026 [ 21 ]
A photograph of a brass filing tray holding a neat stack of labelled index cards.
[ 2026-09-30 ][ 2 min ]

A free-text answer breaks the moment your software reads it

An artificial intelligence (AI) model can write a fine paragraph, then hand your code a paragraph it cannot use. Ask for a fixed structure instead, and the same answer becomes something your system can trust.

Read the article ↗
A row of identical brass filing tabs on a warm grey cabinet, one tab pulled slightly forward from the rest.
[ 2026-09-28 ][ 2 min ]

A patient transferred between your branches arrives as a stranger

When your branches keep separate records, a transferred patient starts from zero at every desk. A shared file lets staff pick up the case instead of restarting it.

Read the article ↗
A brass ruler and a folded bone coloured measuring tape resting on a worn copper drafting table.
[ 2026-09-26 ][ 2 min ]

A WCAG gap found after launch is never a quick patch

An accessibility complaint after launch usually points to a structural choice made months earlier, not a missing label. Fixing it properly means revisiting decisions in the design and the code, not adding a plugin.

Read the article ↗
A brass padlock hangs open on an unlatched wooden door, lit by warm low side light.
[ 2026-09-25 ][ 2 min ]

A studio that closes without a plan leaves you stranded

A studio can close for ordinary reasons, yet an unsupported system is what remains behind. This post argues that ownership of your code, credentials and documentation is what lets your system survive a studio closing.

Read the article ↗
A brass balance scale sits centred on a bare wooden table under soft warm light.
[ 2026-09-24 ][ 2 min ]

When a fixed-price project runs over, the cost is ours

A fixed price is a promise, not an estimate. When a project runs over, the studio absorbs the difference, not the client.

Read the article ↗
A brass padlock resting closed on a stack of neatly bound bone-coloured folders.
[ 2026-09-22 ][ 2 min ]

The GitHub organisation holding your code may not be yours

Many small studios build under a personal GitHub account rather than yours. When the relationship ends, you may discover you never actually owned the repository.

Read the article ↗
A single brass key resting alone on a worn leather desk mat.
[ 2026-09-21 ][ 2 min ]

Your production keys probably belong to someone who left

Many small businesses discover, only during an emergency, that the person who deployed their site holds the only working credentials. This post argues that access should live with the company, not with whoever typed the last command.

Read the article ↗
A padlock sitting on a wooden desk beside a stack of papers and a small brass key.
[ 2026-09-19 ][ 2 min ]

A login you cannot reach is not your domain

A domain you cannot log into is a domain you do not control, regardless of who paid for it. This post explains what to ask before you sign, so control of your domain never depends on someone else's goodwill.

Read the article ↗
A closed notebook and a set of brass keys resting on a wooden desk beside an unplugged cable.
[ 2026-09-18 ][ 2 min ]

A system only one person understands is a liability

If only one developer can explain how your system works, you do not truly own it. This post argues that documentation is part of the deliverable, not an optional extra reserved for later.

Read the article ↗
A close up photograph of an old brass key resting on a worn leather ledger.
[ 2026-09-17 ][ 2 min ]

The domain your subcontractor registered is not yours

A domain registered under someone else's account belongs to that account, not to your business. When the person who registered it leaves, your website and email can leave with them.

Read the article ↗
A single brass key resting alone on a bare wooden desk.
[ 2026-09-16 ][ 2 min ]

The domain login only your developer knows is a hostage

A domain sitting in one account is not a convenience, it is a risk you have not priced yet. When that person becomes unreachable, your business address stops being yours.

Read the article ↗
A brass padlock rests open on a bone-coloured desk mat beside an old telephone handset.
[ 2026-09-15 ][ 2 min ]

Your developer's phone should never be your login

Two-factor authentication protects your accounts, but only if the second factor belongs to you. When it sits on a developer's phone, you can lose access to your own systems the day they stop answering.

Read the article ↗
A photograph of two weathered wooden signposts standing apart in dry earth, one holding a blank warped sign and the other bare with only a rusted bracket.
[ 2026-09-14 ][ 2 min ]

A website migration without redirects can erase years of rankings

Moving a site to a new domain or structure breaks every old link unless you map redirects first. Search engines treat missing redirects as pages that vanished, and your rankings vanish with them.

Read the article ↗
A brass padlock and an old skeleton key lying on a weathered wooden table under soft warm light.
[ 2026-09-13 ][ 2 min ]

A lapsed domain during handover can strand the new owner

A domain is a subscription that someone must actively renew. When a handover leaves that responsibility unclear, the domain can lapse and the new owner can lose the site, the email and the address entirely.

Read the article ↗
A closed brass toolbox sits alone on a bare wooden desk, latched shut with no label.
[ 2026-09-11 ][ 2 min ]

The person who quoted your project may not build it

Many studios sell you a conversation, then hand the actual work to a subcontractor you have never met. If you do not know who writes your code, you cannot know who is accountable for it.

Read the article ↗
A photograph of a tarnished brass padlock lying open beside a curled paper tag on a worn wooden desk.
[ 2026-09-10 ][ 2 min ]

A domain renewal lapsing mid-build can take your site offline

A missed domain renewal during development can erase months of work overnight. Ownership of the domain, not just the hosting, decides whether your project stays online.

Read the article ↗
A photograph of a closed laptop with a cracked screen resting on a warm toned wooden desk beside a coiled cable.
[ 2026-09-09 ][ 2 min ]

A single laptop failure should not halt your project

When one developer holds every file and every password, their laptop becomes your single point of failure. A studio spreads that risk across people and systems, so work continues regardless.

Read the article ↗
A photograph of two identical brass keys resting on a warm grey stone surface, one polished and bright, the other dulled and faintly corroded.
[ 2026-09-08 ][ 2 min ]

A staging environment that does not match production hides bugs

A staging environment that does not mirror production only tests the parts that are easy to copy. The bugs that reach your users are the ones staging never had a chance to show you.

Read the article ↗
A close-up photograph of a brass pressure gauge with its needle pushed into the red zone.
[ 2026-09-05 ][ 2 min ]

Test your site under load before customers do

A traffic spike on launch day exposes weak infrastructure fast. Testing load beforehand costs less than an outage does afterwards.

Read the article ↗
A brass padlock sits closed on a pale stone surface, lit from one side.
[ 2026-09-03 ][ 2 min ]

Someone else should own your certificate renewal date

A certificate renewal missed by nobody in particular is a website down for everyone. Fixed price work should include the monitoring that stops that gap, not just the build.

Read the article ↗
A photograph of stacked brass coins beside a folded paper currency note on a plain wooden desk.
[ 2026-09-02 ][ 2 min ]

A fixed-price quote in US dollars is never truly fixed

A quote priced in US dollars looks stable, but the costs behind it are paid in ringgit. When the exchange rate moves, the margin on that quote moves with it.

Read the article ↗
August 2026 [ 23 ]
A single brass lantern sits unlit in the centre of an empty warm grey room.
[ 2026-08-30 ][ 2 min ]

Your website can fail for days before anyone tells you

A site can go down quietly while nobody inside the company is watching it. By the time a customer complains, you have already lost orders, trust and time you cannot get back.

Read the article ↗
A brass key resting on a closed cardboard storage box on a plain wooden surface.
[ 2026-08-29 ][ 2 min ]

Your developer may own the code you paid for

Many freelance developers keep the GitHub repository under their own personal account. This leaves you without real control of the product you paid to build.

Read the article ↗
A sealed brass deposit box sits on a wooden desk beside a stack of labelled folders.
[ 2026-08-28 ][ 2 min ]

Escrow only protects you if the code inside it actually runs

A deposited copy of source code protects nothing if nobody has confirmed it builds. This post explains what a working escrow deposit actually requires, and why verification is the step most agreements skip.

Read the article ↗
A detailed photograph of a brass measuring tape resting beside architectural blueprints on a worn wooden desk.
[ 2026-08-27 ][ 2 min ]

A quote that excludes testing time is not fixed

A fixed price quote that leaves out testing time is not really fixed. Testing has to happen either way, so excluding it just moves the cost to later, under a different heading.

Read the article ↗
A brass spirit level resting on a worn wooden workbench, lit from one side.
[ 2026-08-26 ][ 2 min ]

A bug fix is free. A new feature is not.

Every fixed price project needs a clear definition of what counts as a defect versus a request for new work. Without that line written down, both sides end up guessing, and guessing breeds resentment.

Read the article ↗
A single brass checklist clipboard rests on a plain bone coloured desk, lit from one side.
[ 2026-08-25 ][ 2 min ]

Acceptance criteria decide when done happened, not the invoice date

An invoice date marks a payment, not a finished feature. This post argues that written, testable acceptance criteria, agreed before work starts, are what actually define done.

Read the article ↗
A close-up photograph of a single external hard drive resting on a bare wooden desk beside a coiled cable.
[ 2026-08-24 ][ 2 min ]

A backup you have never restored is not a backup

A backup you have never restored is only a guess, not a safety net. Testing recovery matters as much as taking the backup in the first place.

Read the article ↗
A tangle of knotted copper wire resting on a pale wooden bench.
[ 2026-08-23 ][ 2 min ]

Every dependency your developer chose is now your risk

Every library added to your project outlives the developer who chose it. You inherit its bugs, its licence and its eventual abandonment, whether you agreed to it or not.

Read the article ↗
A single brass key resting alone on a warm grey stone surface, with empty space around it.
[ 2026-08-22 ][ 2 min ]

The developer who understands your system is a liability

When only one developer understands how your software works, you have a dependency, not a team. A fixed price and a documented build protect you long after the project ends.

Read the article ↗
A single brass padlock sits open on a worn leather bound ledger, lit from one side.
[ 2026-08-21 ][ 2 min ]

A warranty with no end date protects the vendor, not you

An open ended warranty sounds generous but leaves the vendor free to define a defect however they like. A warranty with a clear end date tells you what you are owed and when to plan what comes next.

Read the article ↗
A brass desk calendar sits open beside a blank invoice on a worn wooden desk.
[ 2026-08-19 ][ 2 min ]

A milestone without a deliverable is just a date

A milestone is supposed to mark finished work, not a date on a calendar. Without a written test for done, a milestone payment buys time and nothing else.

Read the article ↗
A single brass key resting on a pale stone surface, lit from one side.
[ 2026-08-18 ][ 2 min ]

The person holding your API keys controls your business

A fixed price launch should end with a handover, not a hostage situation. This post argues that you must own every account, domain and key, not only the finished site.

Read the article ↗
A brass desk clock sits centred on a bare wooden table with soft directional light.
[ 2026-08-17 ][ 2 min ]

Deadlines without penalties are just wishes

A date on a proposal means nothing if nobody pays when it slips. Fixed price work ties the deadline to the invoice, so the date becomes real.

Read the article ↗
A single brass key resting on a weathered wooden table, softly lit from one side.
[ 2026-08-16 ][ 2 min ]

A domain name outside your contract is your risk to carry

Your website depends on a domain name that your contract may never mention. When that ownership is unclear, you are the one exposed when it matters most.

Read the article ↗
A single brass key resting on a bone-coloured stone ledge beside a coiled length of copper wire.
[ 2026-08-15 ][ 2 min ]

The person who owns your hosting account controls your uptime

If your web studio holds the hosting account, they decide when your site goes down and when it comes back. Owning the account yourself means the choice always stays with you.

Read the article ↗
A brass clock face beside a stack of bound paper contracts on a bare wooden desk.
[ 2026-08-14 ][ 2 min ]

A support promise means nothing without a written clause

Verbal assurances about post-launch support fade the moment the invoice is paid. A written clause sets response times, scope and cost so both sides know what happens after launch.

Read the article ↗
A single brass key resting on a closed leather document folder on a plain desk.
[ 2026-08-13 ][ 2 min ]

Your data stays yours only if the contract says so

A software contract without a data export clause leaves your business locked to one vendor. Ask for the clause before you sign, because after signing you have no leverage.

Read the article ↗
A close up photograph of a signed paper contract resting on a wooden desk beside a brass fountain pen.
[ 2026-08-11 ][ 2 min ]

Your contract, not your invoice, decides who owns the code

Paying for a website does not automatically transfer ownership of its code. What you actually own depends on the assignment or licence clause written into the contract, not the price you paid.

Read the article ↗
A single brass gauge resting on a worn wooden workbench beside a few loose technical drawings.
[ 2026-08-10 ][ 2 min ]

A demo that impresses is not a system that survives launch

A working demo and a working system are built to survive different tests. This post explains where the gap sits and why closing it is most of the real engineering work.

Read the article ↗
A photograph of a brass balance scale resting on a bare wooden desk, one side empty, the other holding a small stack of coins.
[ 2026-08-09 ][ 2 min ]

A change request without a new price is a discount

When a client asks for more scope, only the deadline usually moves. This post argues that every change request should also renegotiate the price, not just the schedule.

Read the article ↗
A copper pipe fitting meets a brushed brass plate on a warm grey concrete surface. Soft light from the left casts a long shadow. No people.
[ 2026-08-03 ][ 2 min ]

Buy the commodity. Build the difference. Master the join.

Commodity software composes well until it does not. The real work is not the code. The real work is the join between systems you already have and the new part you are adding.

Read the article ↗
A close-up of an open notebook with handwritten project requirements beside a brass ruler and a pencil on a warm grey desk.
[ 2026-08-01 ][ 2 min ]

A written scope is the only thing that keeps a fixed price fixed

A price that can still move once work begins was never really fixed. What makes a quotation trustworthy is not the number itself. It is the scope written down before that number was given.

Read the article ↗
A closed brass toolbox sits centred on a bare wooden table under soft warm light.
[ 2026-08-01 ][ 2 min ]

The real test of a handover is your absence

A handover is not a folder of files passed at the end of a project. It is proof that the work can continue without the studio that built it.

Read the article ↗

Tell us what the job is, in one message.

hello@yunaristech.com
Course completion badge: Building with the Claude API