I build the whole thing: infrastructure, backend, frontend, mobile. I go deep in all four. I have taken systems in each of them from an empty repository to production traffic, and I am the one on call when they break. AWS is where I go deepest of all.
BidChex is the proof. I co-founded it and wrote every part of the platform myself, starting from the first commit. The AWS infrastructure, the API, the web app, the mobile client, the document pipeline. The company is two people, my business partner and me, and I am still the only engineer on it.
Scale and cost land on me too, rather than on somebody else's platform team. Lambda and Fargate sized against real traffic, RDS with the indexes and replicas the queries need, S3 lifecycle rules, and a monthly bill I can explain line by line.
Ten years or so of this, mostly TypeScript. There are 24 public repos here and 312 stars, though most of what I write is private.
role: Co-founder & Head of Engineering @ BidChex
based_in: Goiânia, Goiás, Brazil (UTC-3)
depth: infrastructure · backend · frontend · mobile
strongest: AWS
contact: joaopster@proton.meThe numbers come from WakaTime and the GitHub GraphQL API, and a scheduled Action redraws them every six hours. I render the SVGs myself in src/cards instead of pointing at one of the usual badge services. Those get rate limited, and when they do your profile sits there showing a broken image until somebody notices. Dark and light versions are both committed and swapped with prefers-color-scheme.
1,721 hrs 38 mins of tracked coding since Sun Jan 11th 2026 · currently averaging 9 hrs 35 mins per day · TypeScript is 21% of this week
Psters_AI_Workflow ★ 289An auto-documenting, model-agnostic AI workflow for any project, framework, and language. It reduces hallucination and keeps delivery predictable: the developer controls the … |
pster-voice Floating-bubble voice dictation for Android: hold, speak, release, and the transcribed text (ElevenLabs Scribe v2 + optional Gemini cleanup) is pasted automatically into any … |
|
pster-live-avatar Real-time 3D face-tracking avatar (procedural grenade, TheBurntPeanut style) + mouse/keyboard overlay for OBS. Three.js + MediaPipe, fully offline. |
pster-cliping Clipador: a SaaS that turns YouTube videos into short (9:16) and long (16:9) clips with AI-powered cut selection, burned-in subtitles, AI-generated thumbnails, and ready-to-p… |
|
LicitaHawk REST API + MCP server over Brazil's official public procurement data (PNCP), with webhook/email alerts and recurring billing |
usb-dashboard 🖥️ A retro-modern Electron kiosk dashboard for a secondary USB display — CPU, RAM, GPU, processes, Claude usage, Linear, WakaTime & Sentry at a glance. |
GitHub Action (every 6h)
├─ src/services/wakatime.service.js → last 7 days + all-time totals
├─ src/services/github.service.js → contribution calendar, counters, pinned repos
├─ src/cards/*.card.js → 6 SVGs (3 cards × dark/light), zero dependencies
└─ main.mustache → README.md
The previous version of this repo drove Puppeteer to scrape my Instagram and fetched the weather in Goiânia. It broke whenever Instagram changed anything and took a minute to run. This one makes two HTTPS calls, fills in a Mustache template, and the Action is done in about nine seconds.
Fork it if you want the same setup. WAKATIME_API_KEY is the only secret you need. GH_PAT with read:user is optional and only changes whether private contributions get counted.





