Hacker News new | ask | show | jobs
by mceachen 1549 days ago
I'm writing PhotoStructure, which you might be interested in. It's self-hosted, but also runs on Windows and macOS without docker, libraries are portable, and photo and video deduplication is robust. Photoprism had a couple features I haven't built out yet, but I'm getting there. More details are here: https://photostructure.com/faq/why-photostructure/

Also, if nextcloud gives you attitude (I had scaling issues with it), know that there are several other alternatives to background phone syncing with your server: https://photostructure.com/faq/how-do-i-safely-store-files/#...

1 comments

Very interesting project, and nice landing page! Will definitely check it out.

I'm a long time ownCloud/NextCloud user and I'm aware of the alternatives. With multiple android phones come and go in the past 8 years or so, the background upload seems to stand its ground.

The real problem here is iOS and its lack of proper background tasks. See: https://github.com/nextcloud/ios/issues/215 -- they tried every possible way to persuade iOS into running background sync, but still hit and miss.

I have to request access to my wife's iPhone and manually trigger some :)

One small suggestion here -- PhotoPrism went with `tensorflow.js` to load up classification models, and I recommend a "real" TF or PyTorch installation to properly leverage the computation resources. The difference is huge even running cpu-only because it's wasm vs. proper BLAS library.

I worked on a nodejs binding for native ONNX runtime (not publicly) so that's also a possible way out.

> I recommend a "real" TF or PyTorch installation

Yeah, PhotoStructure's feature of "runs everywhere" turns out to be a huge albatross around your neck (for me) when it comes to ML.

Currently, all features are available on all platforms--but having classification plugins that are only supported for specific hardware/OS combinations might be a reasonable solution.

Even better -- things like ONNX Runtime are intended to run everywhere, and take advantage of the cutting edge tensor processors (like the INT8 processors in latest ARM chips)