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
Matheus GarcezTyping SVG







About Me

name: Matheus Garcezrole: Java Backend Developerlocation: Uberlandia, MG, Brazilfocus: REST APIs · Backend Systems · Applied Machine Learningphilosophy: "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.

ConcurrencyOptimistic Locking on stock updates — conflicts resolved with 409 Conflict
ConsistencyTransactional order creation: if item 3 of 5 fails, stock from items 1 and 2 rolls back automatically
State machineOrder transitions modeled as a single Map — no if/else scattered across services
CacheRedis on aggregated reports only — never on stock, which changes on every sale
Financial mathBigDecimal for all monetary values — Float/Double rounding errors are unacceptable in money
CI/CDGitHub Actions running build and tests on every push
Repositorygithub.com/cherohn/ecommerce-api
🟣 Task Manager API — Spring Boot 4 · JWT · PostgreSQL · Docker

REST API focused on getting authentication and authorization right.

AuthStateless JWT — no server-side session, scales horizontally without sticky sessions
IDsUUID instead of sequential Long — prevents data volume exposure and enumeration attacks
SecurityBCrypt with automatic salt per record — rainbow table attacks unviable by design
Access controlRole-based (USER/ADMIN) — users manage their own tasks, admin sees all
TestsJUnit 5 + Mockito covering critical business rules
DocsSwagger UI + ready-to-use Postman collection
Repositorygithub.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.

ProjectApproachWhat it taught me
Pong AIFeedforward NN + backpropagationHow gradient-based learning adjusts weights from real-time error signals
Flappy Bird AIGenetic algorithmHow populations evolve with no error signal — only survival
Dino AINeuroevolutionHow 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 analysisJFlex — tokenization via DFA-backed scanner
Syntactic analysisCUP — LALR(1) parser generated from a context-free grammar
Semantic analysisCustom Java logic — type checking and scope validation
GoalUnderstand what happens between source code and execution
Repositorygithub.com/cherohn/compiler-pipeline-java
🟣 Job Matcher — Python · Groq AI · Serper · Gmail

Desktop tool that automates job searching and scores resume fit using AI.

FunctionSearches Google for jobs, scores fit between each posting and your resume via Groq AI, emails top matches automatically
DesignUses your own API keys — no subscription, no middleman
SecurityCredentials protected with Windows DPAPI
DistributionPackaged as a standalone Windows executable (PyInstaller)
Repositorygithub.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
ProjectStackDescription
Spring Boot REST APISpring Boot · JPA · OpenAPIClean layered architecture reference implementation
Appointment SystemJava Swing · JDBC · MySQLStudent enrollment CRUD desktop app
AsteroidsJava · JavaFXArcade game with real-time collision detection
SnakeJava SwingSnake with threaded game loop and Semaphore sync
Finance AppSpring Boot · JPA · PostgreSQLUser 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 professionalsexploring:
- Messaging with Kafka and RabbitMQ
- Spring Batch for batch processing
- AWS fundamentalsopen_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-JDBCAppointmentSystem-Java-JDBCPublic

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

    Java 1

  2. Dino-IA-JavaDino-IA-JavaPublic

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

    Java

  3. FlappyBirdIAFlappyBirdIAPublic

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

    Java

  4. Pong-IAPong-IAPublic

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

    Java

  5. Spring-Basic-REST-APISpring-Basic-REST-APIPublic

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

    Java

  6. compiler-pipeline-javacompiler-pipeline-javaPublic

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

    Java