$ whoami

andres
_tangarife

5 apps deployed 13 projects self-hosted

# building from silicon to cloud — embedded firmware, mobile apps, web platforms, self-hosted infrastructure, and AI tooling for pixel art.

silicon
mobile
web
cloud
paisbru · rev 2.6

$ stack --layers --verbose

THE STACK

Five layers, one person. Most of these projects touch three or more of them at once — the dartboard runs from an ultrasonic sensor to a phone screen, and the server under the desk is the same one serving this page.

ai & tooling[05]
Anthropic SDKClaude visionComfyUISDXL TurboDemucsbasic-pitchElectron
infrastructure[04]
DockernginxPostgreSQLMongoDBRedisCloudflare TunnelCloudflare AccessWSL2
web[03]
Next.js 15React 19Angular 22TypeScriptTailwindDrizzleFastAPIExpress
mobile[02]
React NativeExpoJavaScript
embedded / hardware[01]
ATmega328pESP32CMicroPythonPCB DesignI²C / SPISensors

$ ssh paisbru && watch -n30 ./status

LIVE FROM THE BOX

Everything below runs on one machine under a desk in Alberta — WSL2, Docker, a Cloudflare Tunnel and no open ports. These numbers are read from it every 30 seconds.

$ top -bn130s
$ docker ps | wc -l

19 CONTAINERS

Reverse proxy, four databases, the tunnel, monitoring and every app above — restarted unless-stopped, backed up nightly.

nginxPostgreSQLMongoDBMySQLRediscloudflaredUptime KumaPortainer

$ cat featured/README.md

INTERACTIVE DARTBOARD

The project that explains the rest of them. A dart hits a physical board, ultrasonic sensors on an ESP32 work out where, a Python bridge writes the position to a database, and a React Native app has the score before the dart stops wobbling.

$ ./pipeline --trace

Dartboard

physical board

ESP32

ultrasonic + mux

Python

serial → db

Database

dart positions

React Native

live scores

ESP32MicroPythonPythonUltrasonic SensorsMultiplexerReact NativeJavaScriptSQLite

$ ls -la projects/ --sort=recent

THE REST OF THE BOARD

12 more, newest first. Anything marked live is running right now on the same server as this page.

Workbench — Interactive Electronics Course

webhardwarelive

Free bilingual (EN/ES) electronics course where every concept ships with an instrument you operate and a consequence you see or hear at the same instant. Circuits are drawn as live SVG components rather than images, so values update as you turn a knob and the prose can highlight the exact part it is talking about. Twel…

Angular 22TypeScriptSignalsSSG / PrerenderSVG Schematics+4

FIFA Tracker — World Cup 2026 Album & Live Scores

webinfralive

Web app to track filling the Panini World Cup 2026 sticker album (980 stickers): owned / missing / duplicates, special-colour parallels with rarity, and QR swap-codes compatible with the official app's format (reverse-engineered gzip bitfields). Full accounts — email, Google and Microsoft sign-in, two-factor auth — plu…

ReactTypeScriptViteTailwindExpress+5

MakeTabs

webinfralive

Turn any Spotify track into guitar tabs and 16-bit chiptunes. Songsterr-first pipeline pulls official human-transcribed tabs, with an ML fallback (Demucs + basic-pitch) for songs it doesn't have. The chiptune engine quantizes the transcription onto a beat grid and rebuilds it as melody / harmony / bass voices — with op…

PythonFastAPIReactTypeScriptSongsterr API+5

Libro — Household Finance & Debt Planner

webinfralive

Self-hosted spending tracker and debt payoff planner for one household. Imports CSV/OFX/QFX bank statements with per-account column mapping and hash-based dedupe (re-importing overlapping statements never duplicates, and every import can be undone), then auto-categorizes with a rules engine plus an optional Claude pass…

Next.js 14TypeScriptPostgreSQLTailwindAnthropic SDK+2
private — financial data, behind Cloudflare Access

Retro Creator

desktopinfrain dev

Desktop AI sidekick for pixel-art workflows. Electron app with tools backed by Claude (palette gen, sprite critique with vision, tileset planner with autotiling rules, animation brief, concept generator) plus per-project reference libraries and a re-runnable call history. Self-hosted ComfyUI container runs SDXL Turbo +…

ElectronReactTypeScriptViteAnthropic SDK+4

Grove Guide

webinfrain dev

A curated local guide to the businesses of Spruce Grove and the tri-region: original photography and written profiles on top of a complete directory, with local deals. API-first — every read goes through a versioned data/meta envelope, so the planned Expo app is a client rather than a rewrite. Postgres full-text search…

Next.js 15React 19TypeScriptDrizzlePostgreSQL FTS+3

GREEN DAY: Boulevard of Broken Pixels

gamepre-prod

16-bit side-scrolling tribute platformer in Godot 4. Each level is a Green Day song with chiptune backing generated live by MakeTabs. Art direction: Scott Pilgrim-inspired pixel art. Game design document complete, asset pipeline being built in Retro Creator.

Godot 4GDScriptPixel ArtAsepriteMakeTabs

AMD Price Tracker CA

webinfralive

Tracks Canadian CAD prices on AMD CPUs and GPUs across retailers — Newegg and Canada Computers via axios/cheerio, and Amazon.ca through a Playwright stealth microservice. Full price history in PostgreSQL, interactive charts, GPU AIB variants and a price-alert system, refreshed on a schedule. Presented as a silicon tele…

Next.js 14TypeScriptPostgreSQLDockerPlaywright+2

ComputerUseNanny

hardware

Custom PCB built around ATmega328p. A VL53L1X laser distance sensor detects proximity, driving an 8-LED strip and a 128×32 OLED display to give visual feedback about computer usage time.

ATmega328pCPCB DesignVL53L1XOLED Display+1

MyPokeDex

mobile

Mobile Pokédex app built with React Native. Fetches Pokémon data from PokéAPI and presents it with a clean browsable interface.

React NativeJavaScriptPokéAPIExpo

Shop Admin Dashboard

web

Admin dashboard for managing an e-commerce platform. Allows updating product information through a clean Next.js interface.

Next.jsTailwind CSSJavaScript

Personal Server Infrastructure

infralive

Full self-hosted stack on WSL2/Docker running 24/7 behind paisbru.com: nginx, PostgreSQL, MongoDB, MySQL, Redis, a Cloudflare Tunnel with no open host ports, Cloudflare Access on anything private, Uptime Kuma monitoring, Portainer and Adminer. Nineteen containers serving this portfolio, Workbench, MakeTabs, the AMD tra…

DockerDocker ComposenginxPostgreSQLCloudflare Tunnel+3

$ ./contact.sh --open

LET'S CONNECT

Open to opportunities, collaborations, and anything that needs a person who is as comfortable with a soldering iron as with a Dockerfile.

# paisbru.com · next.js on docker · cloudflare tunnel · no open ports
the sprites and traces are svg, drawn from character grids at build time