Technical log

Blog

News and notes on automation, web development, and the craft of shipping software in LATAM.

Industry · 7 min read

On 1 October WhatsApp bills the service message: count now

September Meta publishes rates. October bills every free-form reply in the window. November Hacienda touches XML again. August is the month to count, not to be surprised.

Industry · 6 min read

Since 1 August Meta bills the WhatsApp AI agent per token

Two dollars per million tokens sounds like nothing until the bot talks too much. Meta’s agent is not free. It is also not your process.

Industry · 6 min read

The second half is won in July: inventory, collection, and the store

August goes to holidays. September to routine. October to panic. Anyone who does not leave the store ready at the end of July improvises Black Friday again.

Hosting and cloud · 5 min read

Mid-year: a slow site does not convert even in the quiet season

Nobody wants to touch the server in November. July does. TTFB and the September certificate are fixed now or suffered at peak.

Industry · 6 min read

1 July: WhatsApp splits service messages and Meta AI messages

Price does not change today. The label does. August bills Meta’s agent per token. October bills the service message. July is for counting.

Industry · 6 min read

Memberships and repeat charges: the gateway is not the pay button

June is when plans renew. A charge that “tries” and nobody sees the failure becomes July churn. That is not a marketing problem.

Web apps · 6 min read

Mid-year integration audit: the hidden spreadsheet

The first half left patches. Before July, someone has to draw the map: email, gateway, Hacienda, WhatsApp, the workbook nobody admits to.

Industry · 6 min read

Catalog AI agents vs AI in the process

The RFP asks for an “agent.” We ask for the diagram. If there is no rail, the agent is an agency. If there is a rail, the model is a step.

Consulting · 6 min read

8 May: the government changes, your technical debt does not

Headlines talk about the handover. XML, the gateway, and the dirty spreadsheet do not pause. Technical debt does not take the oath.

Web development · 7 min read

One year of AI Mode: AEO is not a plugin, it is how you write the site

May 2025 was the launch. April 2026 is the recap: fewer clicks on “what is X,” more weight on being a source. The adjective brochure lost.

Web development · 6 min read

Holy Week fills the calendar: the site has to close the booking

Spa, clinic, domestic travel. The customer searches on a phone and decides in a minute. If the CTA is a mailto, they left with the neighbor.

Web apps · 6 min read

Filings and close: when the ERP does not talk to Hacienda, people pay

Hacienda Digital will not wait for someone to paste cells. If ERP, issuer, and mailbox do not talk, the pre-fill arrives and you do not recognize it.

Industry · 6 min read

The TSE declared a president-elect: the ID is still master data

The 3 March declaration closes the electoral chapter. In the CRM, the ID chapter never closes. Either you validate against the registry, or you invent people.

Web apps · 6 min read

Excel is not a system, not even in 2026

It works until two people open it, a filter runs, and the charge goes to row 418. That is not “agile.” It is fragile.

Industry · 6 min read

1 February passed: what the TSE teaches about clean data

The country saw preliminary results. Your company saw whether the Friday before filled the CRM with junk. The source of truth is not the intern’s spreadsheet.

Industry · 6 min read

1 February is election day: your internal register cannot improvise

The TSE runs the electoral roll. You run customers. That week the civil registry is under a spotlight. Duplicates in your CRM are not a footnote.

Web apps · 6 min read

January is onboarding: duplicate IDs and the TSE API

New contracts, schools, clinics, retail. The internal register gets dirty in three weeks if the ID is typed by eye.

Industry · 7 min read

AI in 2025: chat was the show, the process was the business

The year filled up with agents. The ones that worked read a document, sorted, wrote, and continued to the next step. The rest were ChatGPT with a logo.

Industry · 6 min read

Year-end close: invoices that landed in email and never in the spreadsheet

Suppliers invoice before holiday leave. The XML is in Gmail. The purchase book is a 2019 spreadsheet. That is not a close. It is a risk.

Hosting and cloud · 6 min read

Cyber Monday and December: cheap hosting is paid in downtime

Friday held. Monday and gift weeks do not forgive a full disk, a certificate on the edge, and a backup nobody restored.

Hosting and cloud · 6 min read

Black Friday is not won in the ad: it is won on the server and at checkout

The campaign is already on. If TTFB spikes and 3-D Secure spins, you paid for clicks into a queue.

Industry · 6 min read

Buen Fin in Mexico and operations in Costa Rica: one group, two checkouts

HDA Seed in Culiacán and a spa in San José cannot share a spreadsheet on Buen Fin weekend. Collection and inventory are per country. Chaos does not have to be.

Industry · 6 min read

Before Black Friday: a checkout that dies costs you the month

The November ad is designed now. If the gateway, stock, or server are not rehearsed in October, Black Friday is a spinner on a form.

Consulting · 6 min read

TRIBU-CR replaced ATV: the filing no longer lives on the old portal

ATV is behind you. Anyone who had “the accountant’s kid” on a memorized flow will trip. The new system does not forgive old XML or users without a role.

Web development · 6 min read

September retail and spa: a store that cannot charge is not a store

School holidays are over. Appointments, restocking, campaigns. If the customer arrives and payment sticks, you lost the month that actually has demand.

Industry · 6 min read

4.4 is live: payment receipts, SINPE, and XML your system must emit

Cutoff passed. The problem is no longer “migrating”: it is operating. REP and payment means are not an accountant’s annex. They are the collection rail.

Industry · 5 min read

On 1 September Hacienda stops accepting e-invoice 4.3

Friday 29 you can still issue 4.3. Monday 1, you cannot. If you depend on a vendor who will “do it next week,” plan B has to exist today.

Industry · 6 min read

Two weeks left for Costa Rica e-invoice 4.4

Eighteen days. If 4.4 XML does not pass in staging, 1 September does not “work itself out.” It rejects.

Web development · 7 min read

Google AI Mode left the lab: you get cited or you get summarized

Users do not always click. Gemini builds an answer and lists a few sources. If your site cannot be cited, a competitor owns the paragraph.

Industry · 6 min read

PCI DSS 4.0 is no longer “best practice”: your acquirer will ask

31 March ended the cushion. MFA, checkout scripts, and logs are not a compliance PDF. They are the charge — or the bank saying no.

Industry · 7 min read

WhatsApp now bills per message: 1 July changed the invoice

Paying for one conversation and sending ten texts inside it is over. Each delivered template counts. The improvised inbox became a cost line.

Industry · 6 min read

Hacienda already extended e-invoice 4.4: 1 September is the real cutoff

Version 4.3 is allowed through August. On 1 September Hacienda stops accepting the old schema. A mailbox full of XML is not a close process.

Industry · 7 min read

700 engineers in India were sold as AI

They sold AI agents. Behind the curtain: a floor of engineers doing the work by hand. An expensive lesson in buying “AI” without seeing the process.

Web development · 5 min read

How to center a div with Tailwind CSS

The eternal CSS joke, solved with Tailwind utilities. Horizontal, vertical, and the true center of a container.

Web apps · 6 min read

Laravel Cloud: ship your app without babysitting servers

Laravel announced its own cloud. It promises deploys without assembling a server. Here is the criterion for using it (or not) on a real product.

Guides · 8 min read

GitHub push and pull, step by step

Clone, pull other people’s work, push yours. The minimum cycle to work in a GitHub repo without breaking anyone else’s.