Hello everybody, welcome here at the Lightning Talks at Foster, here in Brussels.
I want to introduce you to you, Jason and Zack.
They talk about Image, Self-Holested Photo and Video Management solution.
Get them a warm welcome and enjoy the song.
All right, thank you, I'm Jason and this is Zack, we're members of the Image Team.
Image joined the Futo Company Organization last May and the two of us are able to work on a full time, which is pretty cool, pretty fun.
Before we get started, how many of you guys have heard of Image before?
Okay, for those of you that haven't heard of Image, image is a high performance video and photo management solution.
I think actually on Monday, it will be three years since the first commit.
So it's a pretty new project, it's not been around for very long.
It has a web app and a mobile app and the primary use case for it is to run this at your house and you can take pictures on your phone and back them up.
To your server on your house, so basically a self-hosted Google Photos implementation.
A little bit about the text stack, it's basically TypeScript everywhere.
We have an Express node server for API and the front 10 is written in Svel, which is also a TypeScript framework.
The back end we use is Postgres and I guess notably we use a couple of extensions to do specifically like vector searches.
So we have a bunch of cool machine learning features built into Image and Postgres plus vector extensions and a few other things let us do basically everything we want to do with just a single database.
The mobile side, the app is written in Flutter and it compiles to Android and iOS.
So that's something a little bit unique about us, a lot of self-hosted open source apps don't have a mobile app or don't have a great mobile app.
But that's one of the things that was important to our primary use case, which is taking pictures on your phone and back in them up to your server.
It's also worth noting that we have a bunch of machine learning features.
I'm not a machine learning guide, but we'll understand Python is the way to do that.
So we have a specific container, you deploy, that's written in Python and it can run and load models for facial recognition and generate embeddings for search and other stuff like that.
All right, we're going to do live demo. I'll show you some of the pictures. I'm from the United States. I flew into Germany and spent a few days there before coming up to Brussels.
So we're going to look at some of my pictures. I have set up on a demo in synth and look at some of the features capabilities that image has.
So you notice the first thing, there's this scrubble timeline, so you can just click and jump to any point in time. It makes it really nice to be able to just go back and find pictures.
So in January, it's like last month, it's like two days ago, whatever, but in January, you know, I flew into Frankfurt and I spent a couple of days with Daniel and I'm going to make an album and share it with the rest of the team.
So you can see, you know, we're not having any cool castles in the United States, but Europe, the school castes everywhere. I went and saw a cool castle in Germany to go probably too many pictures, but the server is on my house, you know, so I plenty of stores and no problem.
We went to a couple museums and saw a bunch of cool buildings and stuff. Anyways, let's put all these in a album.
So I can just shift select and out those in album. I'll make, oh, already have a false in album.
I'll make a new album.
Yeah, and here you can, you can change the title, added description, but the most important thing about albums is you can share them with other people.
So I'll share them with Zack and Alex, Alex is the main founder of the team and he actually started working on this because he asks his wife like,
What should I build for you? And she was like, we're about to have a baby. I'm going to take a lot of pictures. Can you build an app for me?
And so he's our working on image. And over time, he got a bunch of other people that also needed a place to put their pictures.
He actually just had a baby this last week, so he's not here and he sent us in his stead, but, you know, I'll share these pictures with Alex.
So on this instance, Alex can log in Zack and log in and they can see this album that I've shared with them.
But I also have other people want to share it with that aren't on this instance, so I can generate what's called a shared link.
So you can access this without having to log in.
You can optionally pass or protect it and you can choose whether to show metadata, which is like the GPS location, the picture we're taking in and stuff like that.
So if I create this link, you know, I can open the incognito tab and you could access this and see all the pictures on it.
It was pretty cool to be able to share it with friends and stuff.
Something else is pretty cool about image is we have a map view, so you can see on this map all the different places I've been and where pictures have been taken.
You can, yeah, sometimes it's really nice to be able to just know I took a picture in this area, but I don't remember when it was or what it was about necessarily.
So you can use the map to kind of go back and explore where I visited in Europe and you know, stuff like that.
Something else.
When you upload a picture, we run like a bunch of tasks and they will go and do a bunch of things and enhances the things you can do with your photos and one of the things you do is facial recognition.
So we had some of the team members upload their pictures for us and so you can see some of them here, but like these are all the pictures with me in them.
We went to a illusion this place and I'm taller than Ben, but on this picture.
Also on the detailed page, you can add a description, you can favorite and mark them with like a 5 star rating.
We also support like hierarchical tags, so you can have like nested tags, you can link to these pictures and then you can use that to view them.
Yeah, and then to do that.
Yeah. So I mean, this is kind of our web application and but we also want to show off a little bit the mobile app.
So I'll turn the time over to Zach, we'll do a little bit of the demo for the mobile site.
Yeah, so mobile app looks pretty similar on the timeline view, we have the same like scrubber on the side, you can jump to anywhere you like.
You can also if you have photos locally, they'll show up here if you're backing them up.
And one of the things we have is the automatic background.
Back up. So I'm going to take a photo of the crowd now and then we'll take a photo of this laptop and this bottle here.
And then we'll go back to the app.
And they've uploaded, they don't have thumbnails yet, give us a second.
But yeah, they've already uploaded to the server, probably the bottle one.
And we should already be able to go into the search for example.
And we have a smart machine learning search based off of clip.
And we should be able to search for like lecture, whole in here and hopefully.
I think it's that one there, the thumbnails having a bit of a problem, but.
There you go.
Similarly, maybe more relevant to people, we could search for like cat.
And we have all the cat pictures of my cats and what are some of our contributors.
So yeah, the search is really cool.
I think a lot of people like how great the search works.
And you can get really specific with the terms and pretty much always find the photo you'd like.
Yeah, and it has all the other features.
So again, we have the map view where you can go in and see a heat map of all the photos.
And like scroll and you'll see all the photos on your screen.
Yeah, that's the app.
Should we go on to the next.
Cool.
So now I'm going to talk about a few of the things are upcoming for image.
So the main one that everyone kind of wants to see happens.
The state will release including us.
We.
This kind of will bring.
For you guys, we want to have proper semantic versioning.
Back to compatibility for apps.
Right now, we kind of only keep a couple versions working.
Like guaranteed working.
But when we go with this, it will be like all major versions will work.
That kind of thing.
The kind of stuff you expect from a stable piece of software.
Yeah, we we are aiming towards this is like our main goal at the moment.
Lock photos is another one that is probably one of our highest requested features.
Which I think the other apps like the app that shall not be named has.
Where you can put your photos in a like a parcel protected or pin protected folder.
That doesn't show up in the main timeline.
That kind of thing.
We're working on that as well.
Smart albums.
There's one we've wanted for a long time.
So we've done some work to.
Go towards this.
Basically the idea is you'll be able to have any of like the metadata or.
People, data locations as it says.
As well as we even want to have like search terms.
So search you saw before.
You'll be able to use that and have like.
A.
Accountable that's called when you have like the number if it's like confident over certain level.
It will go into an album.
And it will automatically update this album whenever new photos are uploaded.
And this is kind of powered by another feature which will be called workflows.
Which allow you to do that kind of automation like automated albums.
But across any action on the server.
So you can do automated tagging.
What are the directions?
It will be a tagging.
The albums.
You can automatically add users to albums.
If they're a person in it that you want to automatically share it with.
You can like create shared links.
You get up like external integrations.
You get like auto share things to Facebook.
That means some criteria.
So basically like anything you would want to do.
The thing that's kind of cool about image is there's a huge community of people building other stuff around it.
There's like other apps people are using APIs to like do crazy stuff with.
And like some of those things would be easier if you could do it in image itself.
If you want to run your own machine learning model that does some other type of analysis on the pictures that are uploaded or stuff like that.
Or maybe you want to pay for a AI integration something.
And you could like send these pictures there to have them do some additional stuff.
Yeah, I think basically we have like a lot of feature requests.
And a lot of those things are very things that probably only a few people want.
But we want to enable those but we don't want to build those ourselves.
So this will enable the community to make plugins to do that kind of thing as well.
And then another big one that you can do on.
Not be named but we can't do here is because all of our instances are separate on other people's machines.
You cannot share an album between two instances right now.
But we want to add federations so you could have an album and share an ad photos from two different servers or even like three, four, five different servers.
And all of the different servers will be able to see the albums from.
And add out ad pictures from every every user on those servers.
So this will enable like a more seamless experience kind of like what you'd get with the bigger cloud providers.
But still self-hosted and all of that great stuff.
And then we want to enable easier backups for users.
The art is confident with self-hosting.
They still want to run a server home and they've got the expertise to do that kind of thing.
But I'm confident with like setting it back up and restoring is kind of a quite a complicated thing to do correctly.
So we want to enable something in image itself where it's just kind of a one click.
You pay us a fee.
We end 20 crypto the backups.
This goes on to our cloud servers and then if you need to restore it, it's there.
It's all protected.
And following from that.
Well, I think I'll just say too like a lot of people run apps at home and if you have backups or not for some of this stuff,
I think it doesn't matter too much, but pictures is a little bit different.
Like you don't want to lose your photos.
And it's like backups are hard and backups are photos and specifically is like something you don't want to get wrong.
So there's plenty of people I think out there that they would just like to have an option to pay us to deal with that for them.
And so we want to enable those types of use cases as well.
Yeah, we're trying to protect you from your angry relatives.
If you have a loser photos.
And then moving on from that, just a brief mention.
Following, we want to build a full cloud solution at some point.
So people who are completely nontent and cool can still have all the benefits of image.
But without having to actually run out home.
So yeah.
And the last mention is we just launched merch.
You can go to image.store and you can grab yourself some of these designs on t-shirts,
hoodies, stickers, magnets, all kinds of stuff.
We'll have some at the booth tomorrow.
I think we said if you have an image in store when you can show it to us, then you get free t-shirt.
So you can find us on our socials here.
We have nine seconds.
Thanks for coming.
And yeah, catch us our stand.
I'm going to tell you a little too.
Okay.
Thank you for your time.