Aboudou Zinsou
@aboudouzinsou
Freelance developer in Cotonou. I build the operational memory of African SMBs — living knowledge bases, AI agents, Mobile Money integration.
Convex
- Convex query vs mutation vs action: differences, use cases, and when to use eachIt took me a while to really get this. Not the concept — the concept is simple. But why the rules exist. Here's how I think about…
- Convex httpAction: why ctx.db is inaccessible and how to work around itYou get a webhook — Moneroo, Stripe, whatever. You want to save the event straight to the database. Makes sense, right? It…
- Convex internal vs public: securing your functions and not exposing everythingBy default, any Convex function exported with is reachable from the frontend. For a payment confirmation function, that's a…
- Convex Auth logout: why a full reload is needed to clear the cacheIt works. The user lands on . The cookie is deleted. But if you inspect the network tab or drop a on your Convex queries —…
Payments
- XOF has no cents — the bug that cost me 3 hoursWhen you work with European or American payment APIs, amounts get sent in cents. €5 → you send . A €1.50 coffee → you send . It's…
- Fintech rule F-01: record a transaction before any balance changeOn Pixel-Mart, every financial mutation follows one rule. Just one, but non-negotiable. F-01: Any balance change MUST create a…
llm
- Ollama keep_alive -1: keeping an LLM in memory between requestsBy default, Ollama unloads a model from RAM after 5 minutes of inactivity. The next request reloads it from disk. On CPU, that…
- Ollama 5-minute timeout: fixed with a compact 300-token promptThe symptom: every message generation took 5 minutes, then crashed. The log line that explained everything was there from the…
- Ollama streaming: removing the 5-minute timeout with fetch in stream modeThe problem: Ollama cuts the connection after 5 minutes on non-streamed requests. This isn't a client-side timeout. It's the…