01 # About

I'm Ivan Bayiga, a software engineer focused on building reliable systems, digital products and technology that solves meaningful problems.

# behind the systems

I enjoy working at the intersection of software engineering, system architecture, infrastructure and innovation.

My work moves from the first question to the architecture, the build and the product that survives contact with reality.

Mondo
MondoOS workspace home screen captured with demo data in the repository's browser tests
Mondo # thinking in connected systems[ Demo workspace ]

01 # Engineering DNA

BUILD

Turn ideas into working products.

DESIGN

Create systems that can evolve.

SOLVE

Break complex problems into manageable systems.

LEARN

Understand how things work beneath the surface.

IMPACT

Build technology that matters.

02 # Stack

What each tool does, how it works, and an example of how I use it in my projects.

Programming languages

Java
What it does

Build typed backend services and domain logic.

How it is used

Model business rules in classes, expose service contracts and verify them with automated tests.

How I use it

I model hospital workflows and business rules in the backend services.

In GinDHO
TypeScript
What it does

Make JavaScript data contracts explicit before runtime.

How it is used

Define types for component props, API responses and application state, then check them during builds.

How I use it

I define the frontend's API contracts, form values and component props explicitly.

In GinDHO
Python
What it does

Implement backend APIs and data-processing logic.

How it is used

Organize services into modules, validate their inputs and test their behavior.

How I use it

I implement the road-core and trip-safety backend services in Python.

In RoadGuardian
JavaScript
What it does

Run browser interactions and Node.js automation.

How it is used

Compose modules and asynchronous functions to handle events, requests and command-line tasks.

How I use it

I use Node.js scripts to migrate the shop database and check storefront flows.

In BayShop

Frameworks & UI

Spring Boot
What it does

Structure Java applications with configurable web and data services.

How it is used

Connect controllers, business services and repositories through dependency injection.

How I use it

I organize hospital APIs into controllers, business services and persistence layers.

In GinDHO
React
What it does

Build interactive web interfaces from reusable components.

How it is used

Use props, state and hooks to connect screens to application data and user actions.

How I use it

I build the hospital workspace as reusable screens for clinical and administrative workflows.

In GinDHO
FastAPI
What it does

Expose typed HTTP APIs from Python services.

How it is used

Declare routes, validate request models and connect asynchronous handlers to data services.

How I use it

I expose incident, navigation and trip-safety operations through validated API routes.

In RoadGuardian
React Native
What it does

Build mobile interfaces using React and native platform components.

How it is used

Compose screens, navigation and device integrations while handling mobile loading and error states.

How I use it

I build the mobile map, reporting screens and road-safety learning experience.

In RoadGuardian
Expo
What it does

Provide development tools and device APIs for React Native.

How it is used

Use Expo modules for platform capabilities and Expo Router for application navigation.

How I use it

I connect mobile navigation and device capabilities, including location, through the Expo application.

In RoadGuardian
Next.js
What it does

Combine React pages, server rendering and application routes.

How it is used

Use the App Router, server and client components, metadata and route handlers where needed.

How I use it

I organize the company, product and service pages with the App Router and page metadata.

In BAYSIVA
Tailwind CSS
What it does

Style interfaces with composable utility classes.

How it is used

Combine layout, spacing and responsive utilities with shared design tokens.

How I use it

I style responsive page sections with utility classes and shared design tokens.

In BAYSIVA
Material UI
What it does

Provide reusable React controls and a consistent design system.

How it is used

Compose forms, dialogs and navigation from themed components instead of rebuilding each control.

How I use it

I compose storefront and administration controls with Material UI components.

In BayShop

Data & messaging

PostgreSQL
What it does

Persist structured application data with relational guarantees.

How it is used

Define schemas, constraints and migrations, then read and update data through SQL transactions.

How I use it

I persist hospital records and service data using relational schemas and migrations.

In GinDHO
Kafka
What it does

Distribute durable events between independent services.

How it is used

Publish to topics and process events with consumer groups, versioned contracts and retry handling.

How I use it

I connect hospital domains through events such as patient changes, appointments and billing updates.

In GinDHO
Redis
What it does

Store fast-access and short-lived data outside the main database.

How it is used

Use scoped keys, expiration times and explicit invalidation for cached values.

How I use it

I cache authorization lookups and invalidate cached permissions when access rules change.

In GinDHO
PostGIS
What it does

Add geographic storage and spatial queries to PostgreSQL.

How it is used

Represent locations as spatial data and use distance queries and spatial indexes.

How I use it

I work with incident locations and proximity queries for the road map.

In RoadGuardian

Infrastructure & tooling

Docker
What it does

Package applications and their runtime dependencies.

How it is used

Build images from Dockerfiles and coordinate local services with Docker Compose.

How I use it

I start the hospital services and their infrastructure together with Docker Compose.

In GinDHO
Kubernetes
What it does

Describe and orchestrate containerized service deployments.

How it is used

Declare deployments, services, configuration and ingress routing in manifests.

How I use it

I describe service deployments, configuration and routing in the project's Kubernetes manifests.

In GinDHO
GitHub Actions
What it does

Automate repository checks and delivery tasks.

How it is used

Define event-triggered workflows that run builds, tests and deployment steps on runners.

How I use it

I automate repository checks with versioned CI workflows before delivery.

In GinDHO
Linux
What it does

Provide the operating environment for application services.

How it is used

Use the shell to manage processes, permissions, environment settings and operational checks.

How I use it

I package the backend for Linux containers and use shell commands for startup and health checks.

In RoadGuardian
Vite
What it does

Run a fast frontend development server and produce production assets.

How it is used

Develop with hot updates and bundle the application with its framework integration.

How I use it

I run and build the React Experience Shell with Vite.

In Mondo
Vercel
What it does

Build and host web applications from a connected repository.

How it is used

Connect GitHub, configure build settings and domains, and publish versioned deployments.

How I use it

I publish the website from its GitHub-linked Next.js project on the company's domain.

In BAYSIVA