Juan Diego Serrato

Software Engineer | BSc Computer Science | Minor in Business | Mechanical Engineering Technology

Low Level C

Down The Hill | Systems Programming Project

View Source Code

2D monochrome game for the Atari ST interfacing directly with Motorola 68000 hardware. Features a custom C raster library and a double-buffering system synchronized to 70Hz VSYNC for flicker-free performance.

co-developer: Diego Gonzalez

CSDLCHardwareGame DevelopmentData structures

Custom Linux Shell

View Source Code

Functional command-line interface handling process forking, piping, and I/O redirection using Unix system calls. Click image for technical specifications.

co-developer: Depanshu Suyal

CUnixLinuxOS Architecture

Multi Threaded Chat Application

View Source Code

Real-time server-client architecture supporting concurrent users via multi-threading and socket programming. Click image for technical specifications.

co-developer: Depanshu Suyal

CUnixLinuxOS Architecture

AI

AI Powered Insurance Portfolio Optimizer

View Source Code

Supervised learning model to predict insurance risk and uses search algorithms to select an optimal set of clients to maximize profit within a fixed startup budget.

co-developers: Shoun Shajan, Kieran Randall

Python

Evolutionary Reinforcement Learning Agents

View Source Code

A research simulation investigating the Baldwin Effect by evolving a population of Reinforcement Learning agents (Hunter vs. Prey) using a custom Genetic Algorithm and Function Approximation.

co-developers: Shoun Shajan, Kieran Randall

Python

Distributed Systems

v1: Microsevices and Socket Programming

View Source Code

Developed a crossword puzzle game using a Microservices architectural style. Engineered a custom TCP/UDP communication protocol to coordinate game logic with a standalone Word Repository service.

JavaTCP/UDP SocketAddressMultithreadingMicroservices

v2: Distributed Objects (RMI)

View Source Code

Re-architected the system to utilize Java RMI, replacing manual socket handling with Distributed Objects. Implemented a stateful server capable of managing concurrent sessions and multi-player game stems through synchronized remote methods.

JavaRMI

v3: Fault Tolerance and At-Most-Once Semantics

View Source Code

Augmented the RMI infrastructure with a Failure Detector using heartbeat monitoring to track ALIVE, SUSPECTED, and FAILED client states. Engineered At-Most-Once semantics through request deduplication and sequence numbering to ensure idempotent server behavior.

JavaRMIFault ToleranceHeartbeat ProtocolsIdempotent API Design

v4 Peer-to-Peer and Consensus

View Source Code

Transitioned to a Peer-to-Peer (P2P) architecture using a Replicated State Machine model. Implemented FIFO-Total Order Broadcast powered by Lamport Logical Clocks and priority queues to maintain absolute consistency across all player replicas.

JavaP2PDistributed ConsensusLamport ClocksTotal Order BroadcastPriority Queues

Fullstack

Engineering Portfolio

A minimalist web application built to showcase multi-disciplinary engineering projects:

Live System

Next.jsTypeScriptReactNode.jsTailwind CSSVercelLinux

CAD

Gallery of Models

Gallery of Models - 0Gallery of Models - 1Gallery of Models - 2Gallery of Models - 3Gallery of Models - 4Gallery of Models - 5Gallery of Models - 6Gallery of Models - 7Gallery of Models - 8Gallery of Models - 9Gallery of Models - 10Gallery of Models - 11Gallery of Models - 12Gallery of Models - 13Gallery of Models - 14
1 / 15

A gallery of the various CAD models I have created over the years.

SOLIDWORKSAUTODESK INVENTORCAD

Animations

Drill Animation

Modeled and animated a drill in SOLIDWORKS, based on the designs of a third party.

SOLIDWORKS

Unreal Engine Animation

Using premade models I created a living room environment and rendered an animation.

Unreal Engine 5Blender