Skip to main content
Jeff Clement

Jeff Clement

Product Manager/Software Developer based in Calgary, AB, Canada.

Hello, my name is Jeff Clement. I’m a Product Manager/Developer based in Calgary, AB, Canada.

I love writing code and building software in various languages. I’m obsessed with fascinated by privacy and security tech. Lately, I’ve been having fun moving more of my online life into self-hosted services. When time permits, I love to get out into the mountains where I enjoy hiking, camping, and riding unicycles.

This website is a collection of stuff on all of the above :)


Multi tenancy Example for Phoenix

·16 mins
This post describes my efforts and approach to multi tenancy for a couple of Elixir/Phoenix/Ecto B2B applications I’m working on.

Tunneling and Self-hosted Seafile

·7 mins

Over the past few days, I’ve been messing around with moving some of my self-hosted services off of cloud providers, and onto my home infrastructure. While my home infrastructure may not be as reliable as the cloud providers, it’s nice to know my data is in my control. I’ve always been a uncomfortable just aiming DNS at my home IP, and poking holes in the firewall. This post details a couple of methods for hosting Seafile using Tunnels to better protect my home IP and the server.

  1. Cloudflare Tunnels
  2. VPS + Tailscale

Tailscale Pi-hole Setup

·3 mins

I’ve recently started using the overlay network Tailscale to provide connectivity between my various machines, regardless of where I am. It’s extremely easy to configure and “just works”. Tailscale also includes a feature called MagicDNS that provides name resolution for machines on my tailnet (i.e. so that ping server123 magically just works). MagicDNS also allows you to override local DNS settings and force a custom DNS server for name resolution machines on your tailnet. This post documents the setup of Pi-hole (accessible only to machines on my tailnet) to provide some level of DNS privacy and Ad Blocking for machines on my tailnet.

Analytics via. Ackee

·3 mins
Ever since I moved away from platforms like Wordpress and Google Analytics, I’ve had limited visibility into usage of this website.