{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"name":"João Kwanza","label":"Senior Backend & AI Engineer","email":"kwanzajoao04@gmail.com","phone":"+244 947 573 793","url":"https://joaokwanza.com","summary":"Senior backend and AI engineer. Since 2023 I have built and run production fintech and AI systems alone: ledgers, payouts, event pipelines and LLM agents. Open to remote roles and relocation with visa sponsorship.","location":{"city":"Luanda","countryCode":"AO"},"profiles":[{"network":"GitHub","username":"kwanzaX","url":"https://github.com/kwanzaX"},{"network":"LinkedIn","username":"joaokwanza","url":"https://www.linkedin.com/in/joaokwanza"}]},"work":[{"name":"VARJIX","position":"Founder & Lead Engineer","url":"https://varjix.com","startDate":"2025","summary":"B2B trading infrastructure; 170 operator platforms, 1,503 traders.","highlights":["Double-entry ledger and weekly USDT payouts guarded by 5 accounting invariants","Public REST API (21 endpoints) and an 18-tool MCP server","Served in 10 languages with SSR per locale","BNB Chain smart contracts (Solidity, Foundry, 97 tests)"]},{"name":"Corolet","position":"Founder & Engineer","url":"https://www.corolet.com","startDate":"2026","summary":"AI pipelines that produce and publish video to 8 YouTube channels."},{"name":"Client in Nigeria","position":"Backend Engineer (contract)","startDate":"2023","endDate":"2023","summary":"Real-time WebSocket price server in Go for a trading platform; code owned by the client."},{"name":"Titan System","position":"Founder & Developer","startDate":"2023","endDate":"2025","summary":"Trading platform with about 120 users and paying subscribers."}],"education":[{"institution":"Accounting and Finance","studyType":"Licenciatura (final year)","area":"Accounting and Finance"}],"skills":[{"name":"Languages","keywords":["TypeScript","JavaScript (Node.js)","Go","Java (Spring Boot)","SQL","Solidity","Python"]},{"name":"Backend","keywords":["REST and WebSocket APIs","Microservices","Background workers","Transactional outbox","Idempotency","Circuit breakers"]},{"name":"Data","keywords":["PostgreSQL","MySQL","MongoDB","Redis","DynamoDB","Kafka","RabbitMQ","Prisma"]},{"name":"Fintech","keywords":["Double-entry ledgers","Payouts and reconciliation","USDT on TRC-20 and BEP-20","Broker APIs (Deriv, Binance)","Smart contracts (BNB Chain)"]},{"name":"AI","keywords":["LLM agents and tool calling","MCP servers","Evals","Grounding against a source of truth","Claude, Gemini, OpenAI-compatible models"]},{"name":"Cloud and ops","keywords":["AWS (Lambda, API Gateway, DynamoDB, S3, CloudWatch, CloudFormation)","Linux","nginx","PM2","Docker","Cloudflare"]},{"name":"P2P","keywords":["Hypercore","Hyperswarm","HyperDHT"]}],"languages":[{"language":"Portuguese","fluency":"Native"},{"language":"English","fluency":"Fluent"},{"language":"Spanish","fluency":"Intermediate"}],"projects":[{"name":"l10n-guard","url":"https://github.com/kwanzaX/l10n-guard","description":"Translation quality checks (placeholders, ICU plurals, markup, length) over PostgreSQL and Kafka with a transactional outbox and an idempotent worker; integration-tested against PostgreSQL 16 and Apache Kafka 3.9."},{"name":"charge-ledger","url":"https://github.com/kwanzaX/charge-ledger","description":"Java 21 and Spring Boot: EV charging sessions from Kafka billed into a double-entry ledger that PostgreSQL itself keeps balanced, transactional outbox to RabbitMQ with publisher confirms, parked out-of-order events and a dead-letter topic; integration-tested."},{"name":"p2p-usdt-ledger","url":"https://github.com/kwanzaX/p2p-usdt-ledger","description":"USDT payout ledger replicated peer to peer on Hypercore and Hyperswarm, with crash-safe MySQL and MongoDB projections. Published on npm."},{"name":"llm-harness-kit","url":"https://github.com/kwanzaX/harness-kit","description":"Zero-dependency LLM agent loop: schema-validated tool calls, context trimming, structured outputs, timeouts, retries and evals for non-deterministic runs. Published on npm."},{"name":"notice-triage","url":"https://github.com/kwanzaX/notice-triage","description":"Exchange-notice triage on AWS in one CloudFormation template: API Gateway HTTP API, Lambda (Node.js 22), DynamoDB conditional puts for idempotent ingest, content-addressed S3, CloudWatch alarm, rules-first with an optional LLM under a hard time budget. Deployed and tested end to end."},{"name":"order-tracking-finder","url":"https://github.com/kwanzaX/order-tracking-finder","description":"Chrome extension (Manifest V3) that finds carrier tracking numbers on eBay and Amazon order pages."},{"name":"holepunchto/paparam #51","url":"https://github.com/holepunchto/paparam/pull/51","description":"Read negative numbers as values, not short flags (fixes #28)."},{"name":"holepunchto/hyperswarm #231","url":"https://github.com/holepunchto/hyperswarm/pull/231","description":"Document why shouldBan() is switched off (answers #208)."}],"meta":{"canonical":"https://joaokwanza.com/resume.json","lastModified":"2026-10-21T08:48:08.751Z"}}