PrestoPi: Home Network Security Lab
In progress
Personal project | Raspberry Pi 5

Self-hosted network security monitoring stack built on a Raspberry Pi 5, applying coursework concepts against live traffic on a real network.

Raspberry Pi 5 Suricata Promtail Loki Grafana CrowdSec Tailscale LogQL nftables
Deep dive: How it works and why this project

How it works

Suricata runs as a network intrusion detection system (NIDS) in promiscuous mode on the Pi's ethernet interface, capturing every packet on the network via libpcap and writing structured EVE JSON logs. Promtail tails those logs and ships them to Loki, a label-indexed log database, where events are queryable with LogQL. CrowdSec analyzes the same logs against behavioral scenarios, enriches events with crowdsourced threat intelligence ratings, and enforces IP blocks through a firewall bouncer on nftables. Grafana sits on top as the visualization layer, with dashboards for DNS traffic analysis, Suricata alerts, and flow inspection. Remote administration runs over Tailscale.

Why this project

Cybersecurity grew out of developers writing better, more careful code - the complete opposite of the vibe-coded years before it. This lab is the pivot point: every component was configured by hand, validated end to end, and is understood down to the packet level. The most complex challenges are the most rewarding ones.

Kalshi Soccer Trading Bot
HackKU 2026

Automated prediction market trading system for soccer matches on Kalshi, built and demoed in a hackathon weekend.

Python Kalshi API XGBoost Telegram Bot API
AI Mental Health Chatbot
Hackathon project | Frontend contributor

Frontend contributor on a teammate's AI therapy chatbot concept. Built UI components for the conversational interface.

Ecommerce Site with eBay Integration
Freelance

Storefront for a client who sold through eBay and wanted a standalone web presence with accurate inventory.

HTML CSS JavaScript Render
Local Business Website
Freelance | First client project

Informational website for a local business, handled solo across the full lifecycle.

HTML CSS JavaScript Render