About OctoCam
OctoCam was a window-mounted webcam that made daily timelapses of the weather. OctoCam captured 4,320 images every day (at a 20 second interval), then created a 144 second timelapse for that day, in addition to timelapess every hour showing the day up to that point.

The idea of OctoCam was one that I was dreaming about during freshman year of college. I lived on the 4th floor of my dorm with an amazing view of the city and thought - how cool would it be to make something to make timelapses of the weather (especially when it snows)?

In February 2021, OctoCam started with a 4 AM impulse purchase of the OctoCam project kit. It took care of hardware, and I'd only have to deal with software. After 3-4 weeks of experimentation, the current OctoCam stack came online.

From 3/3/2021 at 1:41:00 PM to 9/11/2026 at 3:30:00 PM, OctoCam captured approximately 7.9 million images, generating ~1800 daily timelapses in 5 locations.
OctoCam Privacy Policy
OctoCam has Data Retention & Privacy Policies intended to keep timelapses for a long time, maintain storage in an efficient way, but also preserve privacy.

Raw images:
Raw images are defined by any image captured by OctoCam that haven't been processed or uploaded to the OctoCam Backend.

Raw images are never stored anywhere on the OctoCam stack. When a photo is captured by the Picamera library on the Pi that captures images, it's saved to a bytes array in RAM. The bytes array is used create the compressed & timestamped image is saved to disk for upload.

Compressed images:
Compressed images are defined by any image captured by OctoCam that have undergone compression & timestamping.

Compressed images are stored on OctoCam itself until the image has been uploaded to the backend (usually this process completes in 5-10 seconds). However, if a server outage is ongoing, OctoCam will store compressed images until they can be successfully uploaded to the backend.

On the backend, all images are retained for 60 days after capture. Images captured on the minute are stored for an additional 60 days (for a total of 120 days). Images captured on the hour are stored forever.

Timelapses:
Timelapses are defined as any video that uses compressed images. Timelapses are encoded on the backend using ffmpeg. These timelapses are uploaded to the frontend before being deleted on the backend once the upload was successful. Partial daily timelapses are stored for their 3 hour increment, only to be deleted when the next partial timelapse has been fully uploaded to the frontend.

Full day timelapses are stored forever, unless deleted manually. After 30 days of being on the OctoCam homepage, full day timelapses are automatically transferred into the archive.

There is an admin panel where administrators can generate timelapses on demand. These timelapses are stored forever, unless deleted manually.

Your privacy:
OctoCam's resolution of 1296x2304 for images is a deliberate choice - it's a resolution that has high enough quality, is space efficient, but most importantly, means you cannot make out specific facial details of anyone on OctoCam. People on OctoCam usually turn up as 10 pixel blobs that you can't get any meaningful information from.

OctoCam is not a security camera. It is designed to capture the weather, not what people are doing. The capture time of 20 seconds and the image resolution means that it misses a lot of people that walk in the frame of OctoCam. To my knowledge, OctoCam to my knowledge does not capture any areas that would be deemed private under MGL c.214, S. 1B (right of privacy) and United States law.

Nonetheless, if you feel that your privacy or the privacy of other people is/are being violated by OctoCam, please contact me on my main website (owenthe.dev) with reasoning behind the privacy violation(s), and how you would like the issue rectified. I'll do my best to accomodate reasonable requests (i.e. deleting a portion of a timelapse, blurring a portion of captured images during nighttime).

Image requests:
By default, you cannot get the images generated by OctoCam (aside from the latest image captured). Any images that I have stored are the compressed version - not the raw version of images.

If you have a reasonable request for a set of images captured by OctoCam, please contact me on my main website (owenthe.dev) about your request, why you're making the request, and the timeframe requested.
Credits
OctoCam (and its namesake) is based on the now discontinued OctoCam project kit from Pimoroni. Truly the best $55 I've ever spent so I could focus entirely on writing the best software stack for this project.

Weather data is provided by Apple WeatherKit. A big thanks to the developers of Flask, Jinja, Materialize, and FFmpeg - these libraries form the backbone that makes OctoCam possible.