tidepod

module
v0.0.0-...-8cdc3bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2021 License: MIT

README ¶

Code Quality

favicon

Tidepod

A self hosted photo management platform that supports automatic face recognition and object detection. Built with Go

Motivation

Google recently announced that it will begin charging for its popular cloud photo management application, Google Photos.

I've been using Photos as my personal backup tool since its release in 2015. I'm a big fan of its organizational features, which allow me to group by people (using facial recognition) and the semantics within images. The tool allows me to quickly search for what I'm looking for, as Photos runs a host of algorithms to intelligently index the photos as soon as they are uploaded.

After building my Network Array Storage Server while staying at home during quarantine, I decided to start Tidepod, a self-hosted photo management platform written. Out of the box computer vision libraries have become advanced over the past few years, and I would love to be able to recreate some of my favorite features from Photos, and add my own custom set of features.

Architecture

Architecture Diagram

I expect to see lots of opportunities for concurrency in Tidepod. For example, running Tensor Flow's suite of classification algorithms for labelling just sounds like an embarrassingly parallel use case. This is exactly why I chose to write Tidepod in Go!

  • Web Framework: Gin a framwork optimized for performance
  • ORM: GORM
  • Front end: React because who doesn't enjoy a fine looking site?

✅ Completed Goals

  • Be able to upload/download photos using the web interface
  • Face detection and recognition (using go-face)
  • Label photos automatically based on semantics (using tensorflow)
  • Parallelize the above workflows that run on all uploaded images
  • Automatic fast duplicate photo detection on upload using metadata

🚂 Current Goals

  • Smart Search with a quick index
  • Mobile application to upload photos to server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL