▮ danielrobertgarcia.com

DAN GARCIA

>

scroll
01

About

I build things I can run myself, on hardware I can reach out and touch.

dan.webp — 1122×1402
Portrait of Dan Garcia smiling in a blue shirt in front of a colorful graffiti wall

Hey, I'm Dan.

I'm a Southwest Florida local who works at a software company by day and tinkers with servers, miners and homelab gear by night. If it can be self-hosted, I probably want to run it on my own hardware.

Away from the keyboard, you'll find me with friends, hanging out with my cats, or on a day trip somewhere across Florida, hunting down a new bar or kava bar and seeing what's out there.

base
Southwest Florida
day job
Software company
crew
Friends & my cats
weekends
FL day trips, bars & kava bars
02

Featured work

umbrelOS app · open source · MIT

SoloBCH Forge

A Bitcoin Cash solo-mining Stratum server I wrote from scratch for the Raspberry Pi 5. Point a miner at it and it builds real block templates from your own node, so if a block is ever found, the whole reward goes straight to your address.

View on GitHub ghcr.io/dancreatesstuff/solobch-forge
01 / live dashboard

Every hash, in real time.

Hashrate over 1m / 5m / 1h, best share vs. the network, expected time to a block, and per-miner stats, all streaming off the Pi.

02 / your layout

Make it yours.

Edit mode lets you hide, restore and rearrange cards so the dashboard shows only what you care about. The layout is saved on the server.

03 / settings

Tuned from the browser.

Node RPC, variable difficulty, ports and block-found webhooks, all validated server-side and applied live. Secrets never leave the box.

umbrel.local · solobch-forge
SoloBCH Forge dashboard showing hashrate, best difficulty, network difficulty and a live hashrate chart SoloBCH Forge dashboard in edit mode with cards that can be hidden and restored SoloBCH Forge settings page with node RPC, difficulty, network and notification options
0third-party Python deps, stdlib only
0hashed through it in one run
0on the line if it hits a block
0latest release on GHCR

// Expected time to a block with one NerdQaxe++: about a thousand years. The odds are terrible; the engineering is the fun part.

03

The homelab

One Raspberry Pi 5. A full node, a mining server, a game server, and the site you're reading.

Homelab diagram A NerdQaxe++ miner connects to SoloBCH Forge on a Raspberry Pi 5 running umbrelOS. Forge talks to a Bitcoin Cash Node, which connects to the BCH network. The Pi also runs a Minecraft server in a virtual machine and serves this website to the internet. RASPBERRY PI 5 · umbrelOS SoloBCH Forgestratum :3334 · dashboard Bitcoin Cash Nodefull node · RPC · ZMQ MinecraftPaper · VM This sitestatic · Caddy Tailscale · remote access NerdQaxe++ASIC miner BCH networkpeers · blocks Youthe internet Friendsprivate game server
04

The rigs

battlestation

The desktop.

A white NZXT H5 Flow, twelve Ryzen cores and enough RGB to light the room. Keep scrolling and the page follows the lighting.

Desktop PC in a white NZXT case lit in cyan and green
mode: aqua
The same desktop PC lit in pink and magenta
mode: magenta
The desktop PC lit in violet, showing the ASUS ProArt RTX graphics card and Cooler Master liquid cooler
mode: ultraviolet
dan@battlestation: ~
dan@battlestation:~$ specs --desktop
CPU      AMD Ryzen 9 5900X · 12C/24T · 3.7 GHz
GPU      ASUS ProArt GeForce RTX 4060 Ti · 16 GB
Board    MSI B350 TOMAHAWK · ATX · AM4
Memory   Corsair Vengeance LPX · 4×8 GB DDR4-3200 CL16
Boot     Samsung 980 Pro · 2 TB · NVMe PCIe 4.0
Storage  Samsung 870 Evo · 2 TB SATA SSD
         Samsung 870 Evo · 1 TB SATA SSD
Cooling  Cooler Master MasterLiquid AIO
Case     NZXT H5 Flow (2024) · white
✓ all systems nominal
dan@katana: ~
dan@katana:~$ specs --laptop
Model    MSI Katana 15 HX (B14WEK)
CPU      Intel Core i7-14650HX · 16C/24T · up to 5.2 GHz
GPU      NVIDIA GeForce RTX 5050 Laptop · 8 GB
Memory   16 GB (2×8 GB) DDR5-5600
Storage  Samsung 512 GB NVMe SSD
Display  15.6" 1920×1080 · 144 Hz
OS       Windows 11 Pro
✓ portable & ready
05

Connect

Let's connect.