I build systems that run real operations. Production tracking, ERP integrations and internal tools that factories depend on every single day.
📍 Brazil · 🕐 CST / EST friendly · 🌎 Open to remote roles (US)
I work as a software engineer in the manufacturing industry, where I own internal systems end to end — from data modelling and API design to deployment and on-the-floor support.
My focus is backend engineering for operational software: systems where correctness matters because a person on a shop floor is waiting on the screen, and where a bug stops production rather than annoying a user.
What that has taught me:
- Designing for non-technical users under pressure. The best interface for a factory worker is one they cannot get wrong. That constraint has shaped more architecture decisions than any style guide.
- Integrating with the systems that already exist. Real companies run on ERPs, legacy databases and spreadsheets. Shipping means meeting them there, not replacing them.
- Owning the whole path to production. Linux, Nginx, systemd, TLS, migrations, backups — I deploy and support what I build.
The platform I designed and built to run the production floor of a window and door manufacturer. It tracks every unit from raw material to shipping in real time.
| Scale | ~5,900 lines of Python · 53 routes · 13 domain models · 39 migrations |
| Stack | Django 5.2 · PostgreSQL 16 · DRF · Bootstrap 5 · Gunicorn + Nginx |
| Integration | Microsoft SQL Server (ERP) via mssql-django — live in production |
| Status | In production, used daily on the shop floor |
Engineering problems solved on this project:
-
A dual-scan workflow that enforces process order. Each workstation scans twice — once to start work, once to release the unit downstream — so no station can hold production hostage and no step can be skipped. Start and finish are stored with separate user and timestamp fields, because the operator who starts a job is often not the one who finishes it.
-
One label, two scanning technologies. Every printed label carries a QR Code (structured JSON for phone cameras) and a Code 128 barcode (numeric ID for industrial laser scanners), because workstations have different hardware. A single parser handles both, so the registration flow is identical regardless of device.
-
Internal HTTPS with a private certificate authority. Browser cameras require a secure context, and an internal network has no public domain to issue a certificate against. I built a company-local CA, signed the server certificate with it, and shipped a per-platform installation flow — unlocking camera scanning without weakening security.
-
A deliberate decision to delete a mobile app. I removed a working Flutter application in favour of a single responsive web screen, after measuring the trade-off: 41 MB less to load on the factory network, no more iOS service-worker caching delaying fixes, and one codebase instead of two.
I started in 2022 as an apprentice, moved through an internship, and now work as a full-time engineer — building and maintaining the systems a manufacturing company runs on.
That path gave me something a textbook cannot: I have written Delphi/Pascal and SQL Server for enterprise operations, and I have shipped modern Python/Django services. I understand both sides of a company's reality — the legacy system that cannot stop running, and the new service that has to earn its place beside it.
Alongside work, I am completing a Computer Science degree.


