Live data from Hacker News

We saved $500k per year by rolling our own "S3"

engineering.nanit.com

181–190 of 261 posts

Re: We saved $500k per year by rolling our own "S3"

#181
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

I run a Unifi Protect setup, local only.

They don't provide a display, so I put a Raspberry Pi, a display, and an audio hat in an enclosure. It plays an rtsp stream from the camera at startup and works pretty well.

Re: We saved $500k per year by rolling our own "S3"

#182
post #94

Sounds like the title should have been > We used S3 even though it wasn’t the right service

Exactly, my first thought was "Why in earth would anyone think that S3 was the right service to store millions of tiny ephemeral files?" and now it seems they have invented their own in-memory store instead of just using something like Redis. I also wonder what happens if their DIY thingy crashes, are the videos lost? Why not send to Kinesis or SQS in the first place?

From the article, individual video segments were 2-6 MB in size and SQS and Kinesis have a 1MB limit for individual records so they couldn’t have used either service directly. At least not without breaking their segments into even smaller chunks.

Re: We saved $500k per year by rolling our own "S3"

#183
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

I run a Unifi Protect setup, local only. They don't provide a display, so I put a Raspberry Pi, a display, and an audio hat in an enclosure. It plays an rtsp stream from the camera at startup and works pretty well.

+1 for Unifi. They’ve added “baby crying” to the audio monitoring for triggering alerts. Everything is kept local on your LAN. Can access remotely via an app if you wish, but that’s simply accessing the device on your LAN so no dumping all your footage into some random “cloud.” Stuff just works and requires no subscription so all your money goes towards better quality hardware.

Re: We saved $500k per year by rolling our own "S3"

#184

Earlier quoted context omitted.

Exactly, my first thought was "Why in earth would anyone think that S3 was the right service to store millions of tiny ephemeral files?" and now it seems they have invented their own in-memory store instead of just using something like Redis. I also wonder what happens if their DIY thingy crashes, are the videos lost? Why not send to Kinesis or SQS in the first place?

From the article, individual video segments were 2-6 MB in size and SQS and Kinesis have a 1MB limit for individual records so they couldn’t have used either service directly. At least not without breaking their segments into even smaller chunks.

You're right, I didn't pay attention there. Still seems that there a many solutions better suited than S3. Probably a classic case of "We need an MVP fast, let's optimize later".

Re: We saved $500k per year by rolling our own "S3"

#185
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

I actually don’t really get the point of a cloud service for this. Aren’t babies usually left in situations where there’s at least one trusted adult locally available?

It’s an over engineered solution to a, relatively, simple problem of access long the device on the local network. This used to be a hard problem to solve but in 2025 I’d question why they’re going through the headache of all this cloud stuff when they could just build a quality device that runs locally with a simple base station that triggers alerts. They only hosting they really need is something to send alerts to an app.

Re: We saved $500k per year by rolling our own "S3"

#186
The article strikes me as a self congratulatory solution to solving a problem that they could just have avoided entirely by instead selling hardware with local video storage. Lots of options for doing that efficiently and inexpensively in 2025. Hosting everything in the cloud like this is a 2015-era solution.

Re: We saved $500k per year by rolling our own "S3"

#187

Earlier quoted context omitted.

I wondered myself, as it seemed ok, but I went through the poster's history as I was interested. Firstly, they have a remarkably consistent style. Everything is like this. There's not very many examples to choose from, so that's maybe also to be expected, and perhaps it is just also their personality. I worry, as I've been accused myself, that there is perhaps something in the style the accuser dislikes or finds off-…

It's the verbose writing style. I can see why you would be accused as well.

going to my last page of comments at this time

https://news.ycombinator.com/threads?id=bryanrasmussen

I have 4 comments of more than 3 sentences and 3 comments of 2 or 3 sentences and 5 comments of 1 sentence.

The sentences were generally pretty short.

Re: We saved $500k per year by rolling our own "S3"

#188

Earlier quoted context omitted.

Because it’s easy and convenient for new parents. The typical parent has never heard of Synology or Ubiquiti, doesn’t have a NAS, and gets whatever tech their ISP gave/rents them.

The baby monitor could have its own SD card and webserver and then you provide a smartphone app which uses local network discovery to find the server and talk to it. In that case no parent needs to know about Synology or even IP addresses.

> In that case no parent needs to know about Synology or even IP addresses.

But they need to know about networking enough to be on the same network. I understand that sounds easy, but every time someone gets confused about their cursed setup the company making the device will get a returned product and an angry review. Client isolation, multiple wifi networks, some devices being on wifi some on the mobile network.

Re: We saved $500k per year by rolling our own "S3"

#189
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

> Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Your way of phrasing it makes it sound like it would be fine to upload the video if it were end-to-end-encrypted. I think this is worth clarifying (since many don’t really understand the E2EE trade-off): E2EE is for smart clients that do all the processing, p…

Exactly. There is no video analysis if the video is encrypted and they cannot decrypt it. If there is E2EE and you expect them to do the video analysis, they need to be able to decrypt the video. Alternatively, you do it locally, but then why bother uploading anything at all, encrypted or not? So ultimately E2EE would not help here at all.

Re: We saved $500k per year by rolling our own "S3"

#190
post #175

Earlier quoted context omitted.

This is indeed far more of a "HN Style" comment.

Not enough “anyone can set it up trivially“.

He missed the opportunity to mention the reverse proxy, firewall with geo blocking, VPS and WireGuard, Grafana and Loki setup.
Post reply on HN