Skip to content
View oscaruiz's full-sized avatar

Block or report oscaruiz

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
oscaruiz/README.md

Hey, I'm Óscar 👋

~9 years across full stack and backend roles. I care about well-modeled domains, clear boundaries between modules, and code that communicates intent.

Currently building myCQRS, a CQRS framework from scratch in Java, exploring hexagonal architecture, domain event modeling, and read/write segregation.

Tech Stack

Java Spring Boot TypeScript Next.js PostgreSQL Docker


Featured Projects

Personal CQRS framework built from scratch in Java 21 / Spring Boot 3. Multi-module project separating reusable core infrastructure from application contexts. Implements custom command/query/event buses, validation interceptors, and read/write model segregation backed by JPA and MongoDB. Built as a reference implementation for hexagonal architecture and DDD patterns.

Java 21 Spring Boot 3 CQRS DDD Hexagonal Architecture JPA MongoDB

Web and mobile app showing real-time conditions for every beach in Cantabria: waves, wind, temperature, tides, and Red Cross flag status. Backend built in TypeScript with Express and a hexagonal architecture, scraping multiple public sources (including AEMET) with custom encoding handling. Frontend in React + Ionic with Leaflet maps, packaged for mobile via Capacitor. Deployed on Render and Firebase.

TypeScript Node.js Express Hexagonal Architecture React Ionic Leaflet Capacitor

Motorsport Hubs

Started as Python Telegram bots (f1spainbot, motogpbot) and grew into full web applications built with Next.js:

  • F1 Hub: driver and constructor standings, race calendar, live session results, and Telegram session alerts. Built on Next.js App Router with next-intl (ES/EN) and grammY for the bot.
  • MotoGP Hub: MotoGP schedules, standings, and race results. Also built with Next.js.

Next.js TypeScript Vercel Python

Other

  • One Dimension: arcade game for Android, co-developed with a friend (500+ downloads).

    C# Unity Android


📍 Cantabria, Spain · LinkedIn

Read this in other languages: Español

Pinned Loading

  1. myCQRS myCQRS Public

    Java

  2. playas-cantabria playas-cantabria Public

    Check the state of Cantabrian Beaches in real time

    TypeScript 2

  3. motogpbot motogpbot Public

    Telegram Bot for MotoGP

    Python

  4. f1spainbot f1spainbot Public

    A telegram bot made in Python that uses Beautifulsoup to gives you the results of the F1 Championship

    Python 1