Júlio César Oliveira Rios — Software Engineer · Full-Stack & SRE
Full-stack software engineer with infrastructure experience. I led the replacement of four legacy systems with a single ERP and took part in moving the infrastructure to Kubernetes. I also shipped, in one week, a self-service kiosk app that now runs in 100+ retail stores. I work from code to deploy: TypeScript and Go on the backend, Kubernetes and CI/CD on the infrastructure side. Currently learning Rust.
Salvador, Brazil
Projects
LyricsLens
An open-source Linux app that shows synced lyrics on top of any window, including full-screen video. It's for people who use Linux and listen to music while they work. The protocol picked the toolkit. On Wayland a normal window can't stay above a full-screen app; only the wlr-layer-shell protocol allows it. So it's Rust with gtk4-rs and gtk4-layer-shell from the first commit. Slint was out because winit doesn't implement layer-shell, and Qt would have brought QML, CMake and a second language. The cost: GNOME doesn't support layer-shell. Players round the playback position to whole seconds, so the lyrics moved in jerks. The clock now anchors on the moment the reading ticks over (41 to 42) and runs on the machine's time from there; a big jump counts as a seek and resets the anchor.
Rust, GTK4, wlr-layer-shell
LyricsLens source codeLyricsLens demoOrbit
A personal finance app that syncs bank accounts through Open Finance and uses AI to help people understand their money. Built end to end, from design to deploy, by one person. One repository, three shells. Web, desktop and mobile had to feel like the same app, so the apps are thin shells: shared packages hold the screens, the data hooks and the API client, and the TypeScript types are generated from the Go backend's OpenAPI spec, so a field renamed in Go breaks the TypeScript build. Web (Next.js) and desktop (Tauri) render the same components; mobile (React Native) shares the hooks and types. The paid plan lives in the database and only the Stripe webhook writes it, so a checkout redirect can never unlock it. Local mode is a product, not an offline cache: "Open locally" keeps everything in SQLite on the device, with a local router answering the same API routes and no network requests.
Go, PostgreSQL, Next.js, Tauri, React Native, SQLite, Stripe
Orbit demohow-i-build
A template for an engineering notes site: posts and case studies written in MDX, in two languages, with a changelog read from GitHub releases.
Next.js, Tailwind CSS, Bun, MDX
how-i-build source codehow-i-build demokeepalive
A Cloudflare Worker that keeps services on free plans awake (the Orbit API on Render and two Supabase databases) and publishes the pings on a public status page. It also monitors the sites hosted on Vercel and stores their Vercel Web Analytics visits day by day, keeping the history beyond the 31 days of the Hobby plan.
TypeScript, Cloudflare Workers, Cron Triggers, Workers KV, React, Vite
keepalive demoDiegesis
A desktop panel for tabletop RPG game masters. It reads an Obsidian vault and shows its content in a form that's quick to use while running a session.
TypeScript
Experience
- Full-Stack Software Engineer — VX Case (Oct 2025 – Present): Proposed the architecture for replacing four legacy systems (outdated Angular, NestJS microservices, C# ASP.NET, Laravel/Zend) with one Next.js + Elysia/Bun monorepo, defended it to the tech lead, and led the implementation. Cut the time to deliver a new screen from 2–3 weeks to under one day, and the average time of heavy requests in the tax system from 12 s to 1.3 s after database migrations. Built a kiosk app alone in one week, then rebuilt it in another week as a React Native app integrated with the ERP and pitched it to my manager, the CEO and the marketing manager. Now runs in 100+ points of sale across Brazil. Co-built the in-house project-management tool (Next.js + Go, magic-link auth) that replaced ClickUp across the headquarters, about 80 users, cutting license costs for every department. Proposed and delivered AI-driven automations for the ERP, a Vue checkout and the Getnet payment integration. Helped design a Git flow adapted to the company, per project: preview environments, QA testing, then PO-approved releases, reducing production/development drift. AI automates the whole development flow, with analysis by the team. Took part in the infrastructure migration from AWS to DigitalOcean, Kubernetes and ArgoCD.
- Software Development Intern — NG Consultoria (Apr 2024 – Sep 2025): Maintained and extended a legacy C#/ASP.NET system with a React frontend and MySQL, delivering features end to end, from the API to the screen. Investigated and fixed production bugs and wrote MySQL queries for reports, working remotely with Git and code review.
- IT Intern (support, DBA, networks) — SENAI CIMATEC (Jul 2022 – May 2024): Automated support and database tasks in Python; administered MySQL and Linux servers; monitored infrastructure with Zabbix, Prometheus and Grafana; analyzed logs with Elasticsearch and Kibana.