Skip to content
View mtaibo's full-sized avatar

Block or report mtaibo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mtaibo/README.md

Hi, I'm Miguel 👋

Software Engineering student at UDC · A Coruña, Spain

Website Email


I've been programming since I was a kid. These days most of what I write lives on my own server: a Raspberry Pi that runs my home automation system, my cloud storage and the services around them, all self hosted and built from scratch.

☁️ TPCloud: my personal cloud

tpcloud is the gateway to everything I self host under migueltaibo.com. One Caddy gateway behind a Cloudflare Tunnel, one auth service with a single sign-on session across every subdomain, and a set of modules that plug into it.

🔐 auth · login

Authentication service with passkeys, password + TOTP, and sessions shared across all subdomains. Acts as an auth layer for every service.
Python · FastAPI · SQLModel · Vue 3

👤 accounts · cloud

Account management (profile, security, active sessions, admin) and the cloud dashboard that ties every module together.
Vue 3 · Tailwind

🗂️ tpstore

My own storage and photo cloud: file browser, photo backup and share links.
Python · FastAPI · SQLite · Vue 3

📱 tpapp

Native iOS and macOS app that replaces the web frontends: Store, Photos, Home.
Swift · SwiftUI

🌐 gateway

Caddy reverse proxy that routes each subdomain to its service on a shared Docker network, exposed only through Cloudflare Tunnel.
Caddy · Docker Compose · Cloudflare

🏠 TPHome: home automation end to end system

tphome started because I was tired of needing a different app for every device in my house. So I replaced the factory firmware on commercial blind controllers and light switches with my own, and built the whole stack on top. It runs entirely on my local network.

Layer What it does Stack
firmware Runs on the ESP8266 chips inside the switches: relays, motors, WiFi, binary MQTT protocol, OTA updates C++ · Arduino
api Device management, state persistence, MQTT orchestration, real-time WebSocket events, OTA firmware serving Python · FastAPI · Mosquitto · SQLite
frontend Interactive SVG floor plan to see and control every light and blind in real time Vue 3 · Tailwind

🏆 HackUDC 2026: Inditex challenge

hackUDC26_reto_inditex · Visual fashion search built with my team in one weekend. Upload a photo of a garment and get the most similar products in the catalogue, using a fine-tuned CLIP model for image embeddings and FAISS for nearest-neighbour search. Served by a FastAPI backend with a vanilla web frontend, all in Docker.

Python · PyTorch · OpenCLIP · FAISS · FastAPI · Docker


Also see: dotfiles (Nix flakes for my devices) · udc (university coursework) · portfolio (migueltaibo.com)

Pinned Loading

  1. tpcloud tpcloud Public

    Gateway and single sign-on for everything I self-host under migueltaibo.com.

    Vue

  2. tphome tphome Public

    Home automation built from scratch, from custom switch firmware to a live floor plan.

    Vue

  3. hackUDC26_reto_inditex hackUDC26_reto_inditex Public

    Visual fashion search with CLIP and FAISS, built at HackUDC 2026 for the Inditex challenge.

    Jupyter Notebook

  4. portfolio portfolio Public

    Source of migueltaibo.com, my personal site built with Vue and Tailwind.

    Vue