Alexander Salinas

Projects

Systems builds, hackathon projects, journalism, and things I made for fun. Drag, swipe, or use the arrows to browse.

Distributed Systems · WIP

Byzantine Fault-Tolerant Sharded KV Store

PBFT (Castro & Liskov, OSDI '99) built from scratch in Go. Three-phase consensus with automatic view changes, primary-side batching (16× consensus compression), and crash recovery via signed state transfer. Speculative reads bypass consensus using Byzantine quorum intersection — 18× faster than writes. Shard transfers secured with 2f+1 threshold certificates, an extension beyond the original paper. Ships an interactive terminal dashboard and benchmark suite.

GoDistributed SystemsPBFTConsensus
Distributed Systems

Fault-Tolerant MapReduce Framework

Distributed MapReduce in Go with a worker–manager architecture. Multi-goroutine coordination over channels and wait groups drives parallel map/reduce distribution, automatic worker-failure detection with job reassignment, and RPC-based IPC. Idempotent operations keep results correct under network failures and crashes, with clean goroutine termination and no memory leaks.

GoConcurrencyRPCUMich
Distributed Systems

Paxos-Based Distributed KV Store

Fault-tolerant key-value service in Go backed by Paxos for replicated log management across server groups. Concurrent Paxos instances per log slot (prepare / accept / inform), automatic proposal-number generation with conflict resolution, garbage collection of forgotten entries, and linearizable consistency. Layered design separates consensus, the replicated state machine, and the KV application.

GoPaxosConsensusUMich
Distributed Systems

Primary–Backup Key-Value Store

Replicated key-value store in Go using primary–backup replication behind a centralized view service. At-most-once Put / Append / Get semantics, automatic primary promotion and backup initialization across failures, and state-transfer protocols that hold consistency through view changes. Concurrent request handling via lexical confinement and channel-based synchronization.

GoReplicationUMich
Operating Systems

Multi-Threaded Network File Server

Concurrent, crash-consistent network file server supporting multiple users with nested files and directories. Crash consistency via committing writes; concurrency tuned with Boost threads and reader–writer locks; client–server communication over POSIX sockets.

C++ConcurrencySocketsUMich
Operating Systems

Kernel-Level Thread Library

Kernel-level C++ threading library on Unix managing CPU bootup, thread lifecycle, and scheduling across multiple CPUs. Implements spin-locks, mutexes, and condition variables using non-trivial Unix context-management techniques.

C++ConcurrencyOSUMich
Operating Systems

Virtual Memory Pager

Virtual memory pager supporting multiple processes with swap-backed and file-backed pages. Handles process creation, page faults, MMU bits, fork, and destruction — with copy-on-write optimization.

C++OSMemoryUMich
Fun

Kirby Walking Extension

Kirby walks along your screen. Made this for fun and to learn more about sprite sheets.

JavascriptChrome Extension APISprites
Dev Tools

VSCode Heatmap Extension

A VS Code extension that shows a heatmap of terminal activity, inspired by the GitHub and LeetCode activity heatmaps. ~280 acquisitions, ~100 installs.

TypeScriptVS Code Api
Creative

Duck Particle Simulation & Synthesizer

An interactive particle simulation of ducks and a digital synth. Try it out.

htmlcssjavascriptTone.jsdom apiperformance api
Web

r/uofm Analyzer

Page that ranks users from the UMich subreddit by activity and displays a graph of monthly activity times in the subreddit.

htmlcsspythonflask
Creative

Valentine Roses

A website showcasing a 3D bouquet of roses (after being prompted to be my valentine) and the math behind the modeling.

htmlcssthree.js
Web

Old Personal Website

Past version of my personal website. Very cool design in my opinion, but got tacky for my taste.

htmlcssjavascript
Journalism

Unsheltered Resources Map

Map for an article published in the Michigan Daily. Shows resources for the Ann Arbor community.

htmlcsstypescriptmapbox api
Fun

Arnav Time Converter

My friend Arnav ALWAYS arrives later than he says he will. I made this so I know when he'll actually arrive. Made with love.

htmlcssjavascript
Journalism

Love Notes 2025

Love Notes for the Michigan Daily! I worked on scripts for the site that sent emails to people who got love notes.

htmlcsspythontypescriptjavascript
Automation

Daily NASA Pic Repo

Updates a repo with the daily NASA picture.

shellgithub-actionsnasa api
Hackathon

Glucose

Glucose tracks injured athletes' movements, providing therapy-like advice for safe, effective home recovery while AI monitors motion range and effort. PennApps 2024 Best Hardware Hack.

angular.jsarduinoesp32flex-sensorflasktuneAi
Hackathon

Recommendify

Chrome extension built at MHacks 2023 that analyzes website tone to recommend matching music via the Spotify API, using Python NLTK and beautifulsoup4. Created by Mason Miller and I.

htmlcsspythonspotify api
Hackathon

HarmonyAI.de

Built at HackMIT 2023. HarmonyAI.de takes in audio from the user and displays back a video of a loved one responding, using generative AI as a virtual palliative caretaker.

htmlcssflaskjavascriptgooeyaiibm-watsonnode.jsopenai api
Creative

Pathfinding Visualizer

Grid game that visualizes common search algorithms on a grid of squares.

htmlcssjavascript