frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: DD Photos – open-source photo album site generator (Go and SvelteKit)

https://github.com/dougdonohoe/ddphotos
27•dougdonohoe•2h ago
I was frustrated with photo sharing sites. Apple's iCloud shared albums take 20+ seconds to load, and everything else comes with ads, cumbersome UIs, or social media distractions. I just want to share photos with friends and family: fast, mobile-friendly, distraction-free.

So I built DD Photos. You export photos from whatever you already use (Lightroom, Apple Photos, etc.) into folders, run `photogen` (a Go CLI) to resize them to WebP and generate JSON indexes, then deploy the SvelteKit static site anywhere that serves files. Apache, S3, whatever. No server-side code, no database.

Built over several weeks with heavy use of Claude Code, which I found genuinely useful for this kind of full-stack project spanning Go, SvelteKit/TypeScript, Apache config, Docker, and Playwright tests. Happy to discuss that experience too.

Live example: https://photos.donohoe.info Repo: https://github.com/dougdonohoe/ddphotos

Comments

giancarlostoro•2h ago
I have a similar frustration, on my Surface Book 2, for some reason the Photos default Windows app is sluggish to death. I have to scour all sorts of third party applications to finally find one that loads correctly. I'm using an extremely vanilla configured Windows too. I rarely open that laptop anymore because of all the bloat. Someday I'll smoosh over Windows and just dump Linux on top of it, even though the support for Linux isn't the greatest.

The Photos app on Mac irritates me too, you cannot just force it to scan everything, it has to "do it in the background" which feels like never.

I've looked at all sorts of alternative photo gallery programs, and it feels like none come close to what I wish Photos was like, without being slugs.

JanoMartinez•2h ago
Nice project. I like the approach of using static generation instead of building a full backend for something that’s mostly read-only.

Did you find any challenges handling large numbers of photos when generating the indexes?

dougdonohoe•1h ago
No real challenges. I made the Go `photogen` tool run in parallel using goroutines (e.g., 3-6 depending on your CPU). It's pretty fast at churning through hundreds of photos.
thatcherc•1h ago
This looks great! I've been using ThumbsUp[1] for a similar purpose (creating a gallery of photos I can push S3), but adding album and photo captions required some un-ergonomical tricks. I'll try this out!

[1] - https://github.com/thumbsup/thumbsup

dougdonohoe•1h ago
Thanks, appreciate it. I'll checkout thumbsup too.
mandubird•1h ago
Interesting approach.

Curious how this behaves with larger datasets or longer sessions.

subpixel•8m ago
I’m assuming the build step doesn’t resize images that have already been processed. Other than that this approach seems to handle plenty of images per album. Albums are a UX principle, so they shouldn’t be very big anyway.
subpixel•57m ago
This is really great. At first it seems a tad over-engineered but I admit the state of the art has progressed since the days of using Yeoman to scaffold a Jekyll site. Also the fact that you don’t use Hugo deserves to be congratulated.

Show HN: How I Topped the HuggingFace Open LLM Leaderboard on Two Gaming GPUs

https://dnhkng.github.io/posts/rys/
41•dnhkng•2h ago•21 comments

Show HN: DD Photos – open-source photo album site generator (Go and SvelteKit)

https://github.com/dougdonohoe/ddphotos
27•dougdonohoe•2h ago•8 comments

Show HN: A playable version of the Claude Code Terraform destroy incident

https://www.youbrokeprod.com
3•cdnsteve•1h ago•4 comments

Show HN: Remotely use my guitar tuner

https://realtuner.online/
240•smith-kyle•3d ago•52 comments

Show HN: Find Engineering Manager Jobs Efficiently

https://rolebeaver.com/
2•oah•1h ago•0 comments

Show HN: Get AI to write code that it can read

https://github.com/ELI7VH/wavelang
2•elijahlucian•1h ago•0 comments

Show HN: DenchClaw – Local CRM on Top of OpenClaw

https://github.com/DenchHQ/DenchClaw
132•kumar_abhirup•1d ago•115 comments

SHOW HN: A usage circuit breaker for Cloudflare Workers

14•ethan_zhao•3h ago•7 comments

Show HN: Smux – Terminal Multiplexer built for AI agents

https://github.com/gergomiklos/smux
5•garymiklos•2h ago•0 comments

Show HN: Local-first firmware analyzer using WebAssembly

https://xray.boldwark.com
7•asabil•2h ago•0 comments

Show HN: The Mog Programming Language

https://moglang.org
157•belisarius222•22h ago•74 comments

Show HN: AI agent that runs real browser workflows

https://ghostd.io
4•heavymemory•4h ago•6 comments

Show HN: I Was Here – Draw on street view, others can find your drawings

https://washere.live
55•mrktsm__•11h ago•43 comments

Show HN: VS Code Agent Kanban: Task Management for the AI-Assisted Developer

https://www.appsoftware.com/blog/introducing-vs-code-agent-kanban-task-management-for-the-ai-assi...
93•gbro3n•1d ago•48 comments

Show HN: Hopalong Attractor. An old classic with a new perspective in 3D

https://github.com/ratwolfzero/hopalong_python
21•ratwolf•4d ago•1 comments

Show HN: Hotwire Club – A Learning Community for Hotwire (Turbo/Stimulus/Rails)

https://hotwire.club
2•julianrubisch•7h ago•0 comments

Show HN: Skir – like Protocol Buffer but better

https://skir.build/
111•gepheum•1d ago•64 comments

Show HN: I wrote an application to help me practice speaking slower

https://steady.cates.fm/
2•benja123•8h ago•0 comments

Show HN: I built a real-time OSINT dashboard pulling 15 live global feeds

https://github.com/BigBodyCobain/Shadowbroker
304•vancecookcobxin•1d ago•118 comments

Show HN: I built a site where strangers leave kind voice notes for each other

https://kindvoicenotes.com
52•thepaulthomson•1d ago•26 comments

Show HN: Latchup – Competitive programming for hardware description languages

https://www.latchup.app/
2•fayalalebrun•10h ago•0 comments

Show HN: Eyot, A programming language where the GPU is just another thread

https://cowleyforniastudios.com/2026/03/08/announcing-eyot/
77•steeleduncan•2d ago•18 comments

Show HN: Zenòdot – Find if a book has been translated into your language

https://www.zenodot.app/
14•AusiasTsel•1d ago•11 comments

Show HN: sAT Protocol – static social networking

https://github.com/remysucre/satproto
3•remywang•12h ago•1 comments

Show HN: Husky hook that blocks Git push until you do your pushups

https://git-push.app
13•zimboy•1d ago•2 comments

Show HN: AI matchmaking from open ended dating profiles

https://sentiamor.com
3•FrenchDevRemote•5h ago•2 comments

Show HN: Curiosity – DIY 6" Newtonian Reflector Telescope

https://curiosity-telescope.vercel.app/
81•big_Brain69•2d ago•22 comments

Show HN: I gave my robot physical memory – it stopped repeating mistakes

https://github.com/robotmem/robotmem
18•robotmem•23h ago•3 comments

Show HN: WolfStack – Proxmox-like server management in a single Rust binary

https://wolfscale.org/
32•wolfsoftware•1d ago•3 comments

Show HN: Reviving a 20-year-old puzzle game Chromatron with Ghidra and AI

https://quesma.com/blog/chromatron-recompiled/
26•stared•3d ago•9 comments