Adam Davis

Hi, I'm Adam Davis, based in Cheshire in the UK. I build software and lead the teams that ship it.

By day I'm a senior engineering manager, leading teams that build high-scale systems. viaduct is what I tinker with away from that: no roadmap, no meetings, just a tool I wanted to exist.

The goal was a beautifully simple reverse tunnel: small enough to read end to end, easy enough to self-host in an afternoon, and honest enough to trust with my own traffic.

Why viaduct exists

I've been pulled toward networked systems for a long time, my degree dissertation was a real-time multiplayer framework built to smooth over network degradation, so a tool that quietly moves bytes between machines was always going to be my kind of side project.

Every reverse tunnel I reached for was either a paid service I had to route my traffic through, or a heavier piece of infrastructure than the job needed. I wanted the thing in between: expose a local port at a real HTTPS address, with no inbound ports to open and no NAT to configure, and nothing I could not inspect.

So I wrote one and kept it small, around 3,500 lines of Python, standard library first, two dependencies, MIT licensed. You can read the whole thing in a sitting, which is rather the point: the tool that carries your traffic should be one you can actually understand.

Built in the open

viaduct is open source and free to use on the hosted servers, with no sign-up. If you would rather not route through someone else's box, that is the whole idea, run your own on a single droplet with one script. The code, the issues, and every release live on GitHub; the news covers what has shipped, and the docs get you started in two commands.