Skip to content
View cherohn's full-sized avatar

Block or report cherohn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cherohn/README.md


About Me

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.



Tech Stack

Languages

Backend & Data

Tooling & DevOps



Featured Projects

🟣 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


Contribution Activity



Contribution Snake



Current Focus

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)


"Understand what's happening under the hood, not just the API surface."

Pinned Loading

  1. AppointmentSystem-Java-JDBC AppointmentSystem-Java-JDBC Public

    Desktop CRUD app for student enrollment management — Java Swing + JDBC + MySQL

    Java 1

  2. Dino-IA-Java Dino-IA-Java Public

    Chrome Dino clone where the dinosaur learns to jump obstacles via neuroevolution and genetic algorithm

    Java

  3. FlappyBirdIA FlappyBirdIA Public

    Flappy Bird where birds evolve across generations using a genetic algorithm — no ML libraries

    Java

  4. Pong-IA Pong-IA Public

    Pong with AI controlled by a feedforward neural network trained via backpropagation — no ML libraries

    Java

  5. Spring-Basic-REST-API Spring-Basic-REST-API Public

    Layered REST API with Spring Boot 3, JPA, PostgreSQL and OpenAPI docs

    Java

  6. compiler-pipeline-java compiler-pipeline-java Public

    Compiler pipeline in Java: lexical analysis, syntactic and semantic analysis

    Java