DJ Majumdar
banner
deepjoy.com
DJ Majumdar
@deepjoy.com
Ran Shoebox against a directory. 106K files, 71 GB. It found 18,847 duplicates hiding in 581 folders. 8.2 GB reclaimable.

Here's what that looks like in a browser. Open source, MIT licensed.

#buildinpublic #rustlang #selfhosted #selfhosting
March 10, 2026 at 5:47 AM
Lesson from three weeks of building: the most valuable thing about S3 isn't S3. It's that every tool already speaks it.

Build to standard and rclone, Cyberduck, boto3, the AWS CLI all work on day one. No plugins. No integrations. Just the protocol.
#buildinpublic #rustlang #selfhosted #selfhosting
February 26, 2026 at 4:22 PM
Update on the local S3 server: filesystem scanner landed. Point it at a directory, it walks every file, indexes it, and watches for changes. Drop a file in the folder, it shows up in S3 automatically. No upload step.

Good progress in two weeks.

#buildinpublic #rustlang #selfhosted #selfhosting
February 24, 2026 at 1:31 PM
Building an S3-compatible server for local filesystems. Point it at a directory, get an S3 endpoint. Files stay where they are.

Started this to find duplicate photos. Realized I'm building something bigger.

#buildinpublic #rustlang #selfhosted #selfhosting
February 19, 2026 at 2:38 PM
Week 1 update on the photo project. It works.

`shoebox ~/Photos` - that's it. Starts an S3 server. No config files, no YAML, no setup wizard.
February 17, 2026 at 2:50 PM
20 years of photos. Started on a pile of external hard drives, 250GB, 500GB, 1TB. Each one a snapshot of a different era. Now they're all on one NAS. The drives are gone. The mess remains.
February 12, 2026 at 2:33 PM