Back to Projects

Project

AutoFarm

Distributed Simulation Platform

A distributed Go backend with gRPC services, async workers, Dockerized services, and real-time state streaming.

GogRPCDockerAWSTerraformWebSockets

Overview

AutoFarm is my distributed systems portfolio project focused on backend architecture, service communication, and infrastructure-aware design.

AutoFarm Architecture

AutoFarm is structured around multiple Go services, asynchronous task execution, and real-time state updates for simulation visibility.

client

Dashboard Client

Consumes live updates and presents simulation state.

api

API / Gateway Service

Accepts requests and coordinates simulation actions.

workers

Worker Services

Execute simulation tasks and process scheduled jobs.

state

State Manager

Maintains authoritative simulation state.

stream

WebSocket Stream

Pushes real-time updates to connected clients.

infra

Docker / Terraform Layer

Supports repeatable deployment and environment setup.

Service / Data Flow

Dashboard ClientAPI / Gateway Service
User actions / requests
API / Gateway ServiceWorker Services
Dispatches work
Worker ServicesState Manager
Processes simulation changes
State ManagerWebSocket Stream
Publishes updated state
WebSocket StreamDashboard Client
Real-time events
Docker / Terraform LayerAPI / Gateway Service
Deployment / runtime environment
Docker / Terraform LayerWorker Services
Container orchestration

What I built

  • Multiple Go services with defined responsibilities
  • gRPC-based service communication
  • Asynchronous workers for task scheduling and state propagation
  • Real-time event streaming for UI updates
  • Dockerized local development and deployment workflows