Using an AI API in South Africa - Paying in Rand, Not Dollars
How to use an AI API from South Africa and pay in rand - prepaid credits vs your own provider key, VAT invoices, usage tracking and POPIA points to check.
· 6 min read
Blog
Git workflows, databases, APIs, AI and DevOps for developers in South Africa.
How to use an AI API from South Africa and pay in rand - prepaid credits vs your own provider key, VAT invoices, usage tracking and POPIA points to check.
· 6 min read
Call the Claude API with the OpenAI SDK through an OpenAI-compatible gateway - working Node.js and Python examples, model names, errors and switching models.
· 5 min read
What a hosting API lets you automate - on-demand deploys, DNS changes, webhooks and API keys - with safe patterns and code for South African dev teams.
· 6 min read
Hosting for development teams done right - how seats and roles work, who should get admin, developer, billing or viewer access, and offboarding safely in SA.
· 5 min read
A simple CI/CD setup for a small team - run tests on every pull request, deploy automatically on merge, and review changes on branch preview deploys.
· 5 min read
How git deploy hosting works and how to set up a clean push-to-deploy workflow - branches, build commands, environment variables, rollbacks and team habits.
· 5 min read
Preview deployments explained - how per-branch preview URLs work, what they are good for, handling databases and secrets, and a workflow for teams and clients.
· 5 min read
Managed MySQL in South Africa explained - what managed means, when it beats a self-run database, backups and security, and how to connect from Node.js safely.
· 5 min read
Connect Node.js to MySQL with Prisma step by step - install, schema, migrations, connection strings, the MariaDB adapter, and deploying safely to production.
· 5 min read
Cron jobs in Node.js explained - cron syntax, node-cron vs platform schedulers, time zones, avoiding overlaps and duplicate runs, and securing job endpoints.
· 6 min read
Webhooks explained - how they work, verifying HMAC signatures with timingSafeEqual, and handling retries, replays and idempotency, with Node.js code.
· 6 min read