Software Engineer working with Varejo Consolidado. I build products end-to-end, and fast.
-23.5936, -46.7239 → 48.2082, 16.3738
São Paulo, Brazil · destination: Vienna
Developer from Brazil. I started in Computer Science back home and finished my studies in Vancouver, on the web development side. I've kept learning by shipping ever since. I design, code, and launch the whole thing: from database schema to App Store screenshot.
I work with AI the way a pilot works with instruments: I make the calls, it handles the throughput. That workflow let me build and launch a full social app solo in months, not years.
When I'm not shipping: chess, astronomy, wildlife photography, and long runs around São Paulo.
Since October 2026 I've been working with Varejo Consolidado as an independent contractor (PJ), remote from São Paulo. My day to day there is C#, .NET and Vue.js.
My side project. Stadium check-in for Brazilian football fans — GPS-verified presence, live match data, predictions, rankings, and a social feed of who's actually at the game. Launched during the 2026 World Cup window. Live on both stores.
Under the hood — for the technically curious
- Geofenced check-ins — GPS verification against real stadium perimeters, built to resist spoofing
- Real-time everything — live match data, standings and rankings streaming through Supabase Realtime
- Prediction engine — pre-match predictions with a points economy and leaderboards
- Social layer — feed of verified attendees, per-stadium and per-club communities
- Solo infrastructure — RLS security model, connection pooling, image CDN, OTA updates via EAS, full observability with Sentry + PostHog
Every PR, with links
Merged
- Storyblok
monoblok— CLI fix: TypeScript/JSON compiler-options loading via jiti · #760 · - Kodus
kodus-ai— corrected the documented PR file limit from 200 to 2,000 · #1807 · - Open Food Facts
explorer— restored 59 message keys used in code but missing fromen.json· #1855 · - Backstage
community-plugins— New Frontend System support for the Jaeger plugin · #10330 · - Open Food Facts
explorer— Svelte UI + i18n fix in compare mode · #1777 · - Kodus
kodus-ai— fixed Bitbucket Data Center webhook payload parsing · #1714 ·
Open
- Storyblok
monoblok— CLI fix:components pushsends the component preview image again · #845 · - Storyblok
monoblok— CLI fix:createno longer splits project paths that contain spaces · #844 · - Kodus
kodus-ai— made the approval cron's lookback window configurable per team, bounded at ten years · #1974 · - Backstage
community-plugins— Grafana card table options exposed as extension config in the New Frontend System · #11121 · - Apple
swift-configuration— log when a file-based provider tolerates a missing file (draft, proposing the API shape) · #225 · - Anthropic
sandbox-runtime— CLI writes refused operations to--violationsand starts the filesystem monitor that sees them · #586 · - Backstage
community-plugins— New Frontend System support for the Allure plugin · #10573 · - Backstage
backstage— absolute URLs for README screenshots so they render off-repo · #35220 · - Excalidraw
excalidraw— re-enabled flip tests for curves outside min/max points · #11897 · - Nature Conservancy
animl-frontend— fixed a cross-user state leak on sign-out in a wildlife camera-trap platform · #489 · - Dynatrace
backstage-plugin— fixed a config schema bug that blocked app startup, with regression tests · #432 · - VTEX
faststore— copy image and PWA manifest assets from public/ to build · #3451 · - Evolution API
evolution-api— guard non-string mimetype before image check in Meta integration · #2691 ·


