Skip to content
Regi Ellis

Client application

Vault

DHN keeps working files in Google Drive, with copies at the office and offsite. I built Vault so staff can schedule those copies and see whether they finished.

Built for
DHN Attorneys
Status
Deployed 2025
My role
Design & development

The need

Knowing whether a backup finished.

DHN’s working files are in Google Drive. I built Vault to manage copies at the office and offsite, with a way for staff to check that the scheduled jobs had finished.

What I built

Working files, an office copy, and an offsite backup.

The setup has three tiers: Google Drive, a local mirror at the office, and an offsite backup in Backblaze B2. Vault copies files between them on a schedule.

Staff can change the schedules and watch transfers from the dashboard. Completed jobs and failures stay in the history, so a failed copy is visible without opening a server log.

Vault / Three-tier backup system

Google Drive

Working files

Office backup

Local mirror of Google Drive

Offsite backup

Office mirror copied to Backblaze B2

  • Transfer progressCurrent job status
  • Job historyCompleted & failed jobs

Deleting a file can remove it from synchronized copies too. Older versions need to be kept separately.

Implementation

What the backups keep, and what they don’t.

Synchronized copies and deletion

These copies stay synchronized, which means a deleted file can disappear from the copies too. Keeping older versions for recovery needs to be configured separately.

Transfer previews and cleanup

A transfer can be previewed before it runs. Staff can also check what a scheduled cleanup will remove.

Built with Technical details
  • Go + Chi
  • React + TypeScript + TanStack Query
  • Tailwind v4 + shadcn/ui
  • SQLite (pure-Go) + sqlc
  • rclone
  • Backblaze B2 + gocron
  • Docker Compose (systemd optional)

Have something
you need built?

Tell me what you’re working on. A rough budget and an idea of when you’d like to start will help.

Start a conversation