Juan Diego Serrato

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

Fullstack

Engineering Portfolio

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

Live System

Next.jsTypeScriptReactNode.jsTailwind CSSVercelLinux

Jobsheets

A full-stack web app for tracking job applications through every stage of the hiring process. Log applications, update statuses, and view stats on your job search progress — all in one place.

Live System

Next.jsTypeScriptPostgreSQLPrismaNext.Auth.jsReactNode.jsTailwind CSSDockerVercelLinux

Low Level C

Down The Hill | Systems Programming Project

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

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

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

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

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

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)

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

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

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

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