A Network Discovery App for MSP Client Onboarding

Preface
For Managed Service Providers (MSPs), gathering detailed network information during client onboarding is critical. This process is usually time-consuming and non-billable. To solve this, I built a Node.js application to automate routine discovery tasks.
The concept is simple: install the app on a Raspberry Pi, connect it to the prospective client’s network, and initiate a scan. The app runs nmap to discover local devices and performs whois lookups on configured domains. It also queries DNS records (like MX records) to identify email providers. Technicians can then submit the gathered data to a central repository via a form.
Technical Decisions
Architecture
I built this as a monolithic JavaScript application using ESM imports, with no server-side compilation step. It connects to a PostgreSQL database running in Docker.
Stack
I prioritized performance and speed.
- Server: Fastify, for its low overhead.
- UI: Solid.js, for its fine-grained reactivity and small bundle size.
This minimal full-stack JavaScript setup is highly efficient. The frontend consumes a REST API from Fastify, while WebSockets push live scan updates to the client.
Building a Type-Safe Full-Stack Starter with Fastify and Astro
A complete starter template combining Astro, Fastify, tRPC, Lucia, React, NextUI, and Drizzle into a single type-safe monolith.
Welcome to the Atomic Drafting Room
Why I tore down the Renaissance Technical design and rebuilt the site in Raygun Gothic — atomic starbursts, chrome typography, and a turquoise-coral-gold palette that finally feels like me.
Bringing AI to IBM i: An MCP Server with 31 System Tools
A BYOK MCP server that exposes 31 facade tools for IBM i observability, job management, and security. Built to train new users and accelerate expert workflows.