name: Matheus Garcez
role: Java Backend Developer
location: Uberlandia, MG, Brazil
focus: REST APIs · Backend Systems · Applied Machine Learning
philosophy: "Understand what's happening under the hood, not just the API surface."I got into programming because I wanted to understand how things work — not just use them.
That curiosity led me to build a compiler from scratch (every grammar rule and semantic check written by hand with JFlex and CUP), implement neural networks without touching a single ML library, and evolve AI agents that learn to play games purely through survival pressure.
Along the way I picked up Java, Spring Boot, PostgreSQL, and the habit of not stopping until I understand what's happening under the hood.
Today I build REST APIs and backend systems, and I'm working on an AI-powered platform for IT professionals — which means I also deal with architecture decisions, database modeling, and shipping things that actually have to work.
Open to Java backend opportunities — CLT or PJ, any work model.
🟣 E-commerce API — Spring Boot 4 · PostgreSQL · Redis · Docker · GitHub Actions
Production-style e-commerce backend focused on data integrity under concurrency and financial correctness.
| Concurrency | Optimistic Locking on stock updates — conflicts resolved with 409 Conflict |
| Consistency | Transactional order creation: if item 3 of 5 fails, stock from items 1 and 2 rolls back automatically |
| State machine | Order transitions modeled as a single Map — no if/else scattered across services |
| Cache | Redis on aggregated reports only — never on stock, which changes on every sale |
| Financial math | BigDecimal for all monetary values — Float/Double rounding errors are unacceptable in money |
| CI/CD | GitHub Actions running build and tests on every push |
| Repository | github.com/cherohn/ecommerce-api |
🟣 Task Manager API — Spring Boot 4 · JWT · PostgreSQL · Docker
REST API focused on getting authentication and authorization right.
| Auth | Stateless JWT — no server-side session, scales horizontally without sticky sessions |
| IDs | UUID instead of sequential Long — prevents data volume exposure and enumeration attacks |
| Security | BCrypt with automatic salt per record — rainbow table attacks unviable by design |
| Access control | Role-based (USER/ADMIN) — users manage their own tasks, admin sees all |
| Tests | JUnit 5 + Mockito covering critical business rules |
| Docs | Swagger UI + ready-to-use Postman collection |
| Repository | github.com/cherohn/task-manager |
🟣 AI Game Agents — Pong · Flappy Bird · Dino
Three projects, three different ML paradigms — built deliberately to understand why you'd choose one over another.
| Project | Approach | What it taught me |
|---|---|---|
| Pong AI | Feedforward NN + backpropagation | How gradient-based learning adjusts weights from real-time error signals |
| Flappy Bird AI | Genetic algorithm | How populations evolve with no error signal — only survival |
| Dino AI | Neuroevolution | How competing agents in parallel converge faster than sequential generations |
All three implemented in pure Java, zero ML libraries.
🟣 Compiler Pipeline — Java · JFlex · CUP
Full compiler front-end built from first principles.
| Lexical analysis | JFlex — tokenization via DFA-backed scanner |
| Syntactic analysis | CUP — LALR(1) parser generated from a context-free grammar |
| Semantic analysis | Custom Java logic — type checking and scope validation |
| Goal | Understand what happens between source code and execution |
| Repository | github.com/cherohn/compiler-pipeline-java |
🟣 Job Matcher — Python · Groq AI · Serper · Gmail
Desktop tool that automates job searching and scores resume fit using AI.
| Function | Searches Google for jobs, scores fit between each posting and your resume via Groq AI, emails top matches automatically |
| Design | Uses your own API keys — no subscription, no middleman |
| Security | Credentials protected with Windows DPAPI |
| Distribution | Packaged as a standalone Windows executable (PyInstaller) |
| Repository | github.com/cherohn/job-matcher |
Built because manually reading dozens of job postings to find out one wants Angular when you're backend is a terrible use of time.
🟣 Other Projects
| Project | Stack | Description |
|---|---|---|
| Spring Boot REST API | Spring Boot · JPA · OpenAPI | Clean layered architecture reference implementation |
| Appointment System | Java Swing · JDBC · MySQL | Student enrollment CRUD desktop app |
| Asteroids | Java · JavaFX | Arcade game with real-time collision detection |
| Snake | Java Swing | Snake with threaded game loop and Semaphore sync |
| Finance App | Spring Boot · JPA · PostgreSQL | User profile API foundation for a finance backend |
building:
- REST APIs with Spring Boot 4 (JWT, Redis, Docker, CI/CD)
- AI-powered platform for IT professionals
exploring:
- Messaging with Kafka and RabbitMQ
- Spring Batch for batch processing
- AWS fundamentals
open_to:
- Java Backend Developer roles (Junior — CLT or PJ, any work model)