Zachary Siegel

Software Engineer @ Apple

Profiles

GitHub: zacharysiegel
LinkedIn: zcsiegel

Eafora

An interactive atlas of global fertility

Eafora is a world map colored by various regional statistics. Users can observe regional variation in vital statistics over time, with multiple data sources aggregated into a single, high-quality medium for presentation.

The name is taken from the Old English eafora, meaning son, descendant, or heir.

The application is split into a generalized data aggregation layer which can incorporate data with different shapes from different sources. That data is re-presented through Eafora's own data repository which powers the clients.

Except for the iOS and Android UI chrome, the entire application is written in Rust. This includes the ingestion-to-publish pipeline, multiplatform GPU rendering, and the web application itself via WebAssembly.

Beyond product goals, this project is a targeted learning exercise to ideate around and perfect the design patterns involved in WebAssembly/Native multiplatform development using Rust and GPU APIs.

Live at: app.eafora.org
Source code repository: zacharysiegel/eafora

Singularity

A game of production and diplomacy

I have recently begun work on a multiplayer, social RTS game. The game is designed to facilitate organic, complex social interactions between players as each vies for supremacy over the others. Taking inspiration from Subterfuge, though the game occurs in "real time", the rate of time progression is slow enough to allow strategies and alliances to develop over the course of days or weeks. Players may tactically engage opponents in violent conflict, but they must also carefully develop resouces and chains. This element of the game utilizes factory-building mechanics to allow players to specialize production to suit their specific geographic, social, or military needs. Thus, the realms of military and economy are blurred, fortifying bonds between players and intensifying every decision.

For those interested, the game is implemented using Rust for both the server and client. Due to the game's genre, the primary target platforms are iOS and Android systems, though I expect to support PC clients as well.

Source code repository: zacharysiegel/singularity

Secr

A minimal secret manager around structured ciphertext files. This tool enables me to very easily store all secrets for a project within a single file, encrypted with a single master key. Secr provides interfaces for humans via the command line or programs via a Rust library.

# Install via Cargo
cargo install secr

Source code repository: zacharysiegel/secr
Published package: crates.io/crates/secr

Bacter

Bacter is a multiplayer, arena combat web game I created in high school.
I have put in a small effort to revive the game's server at this subdomain: bacter.zach.ro.
This project is a special kind of garbage. I think it's fun, but don't expect it to perform well.

Source code repository: zacharysiegel/bacter