[11/26/25] compression & me

i am more than just my compression. eyes up here.

ok, so here is my new 'hobby' (not really a hobby at all) - i want my website to be as small as possible. i was inspired by jaques lucke's website methodology - specifically the idea of keeping a website light-weight. for me, the challenge was mainly compressing images.

i spent a lot of time looking at the r/av1, r/jpegxl, r/compression, and r/datahoarder subreddits. figuring out which encoder is right for my lifestyle. i landed on avif.

for those that don't know, avif is ridiculously light-weight - even for animations.

for example how big do you think this image is?


5mb? 2mb? .5mb? how about just 39.7kb! like what the actual fuck. here are some more surprising results (try to guess the size before looking at the answer).


164kb


67.9kb


933kb
as of writing, my image assets (121 mostly animated images) are a total of 28.5mb. a single 20s gif can easily surpass that. all in all my website is a little over 39mb. this includes images, html, and my free nodes.

my second trick has been zipping all the .blend project files with 7zip with the 7z a -mx=9 setting. for example the 2019-2024 archive (for members only) which is around 450 .blend files (some of which are quite large and have simulation caches) has been packed into 6.64gb. again, what the actual fuck. of course i also optimized the .blends themselves by reducing image resolution, deleting unused dependencies, etc.

this (among with half-using github pages) is why my website loads so fast.

since i'm converting videos into avif so often - i made a python script that does this for me - enjoy.

import subprocess
from pathlib import Path

def main():
    src = input("Path: ").strip('"')
    speed = input("Speed (default = 1): ") or "1"
    framerate = input("Framerate (default = original): ")
    max_res = input("Max resolution (default = 800): ") or "800"
    crf = input("CRF (default = 30): ") or "30"
    cpu_used = input("CPU Used (default = 8): ") or "8"

    src_path = Path(src)
    out_path = src_path.with_suffix('.avif')

    filters = [f"setpts=PTS/{speed}", f"scale='if(gt(iw,ih),{max_res},-2)':'if(gt(ih,iw),{max_res},-2)'"]
    if framerate:
        filters.append(f"fps={framerate}")
    vf_str = ",".join(filters)

    cmd = [
        "ffmpeg",
        "-i", str(src_path),
        "-vf", vf_str,
        "-an",
        "-c:v", "libaom-av1",
        "-crf", crf,
        "-b:v", "0",
        "-cpu-used", cpu_used,
        "-row-mt", "1",
        "-threads", "0",
        str(out_path)
    ]
    subprocess.run(" ".join(cmd), shell=True)

if __name__ == "__main__":
    main()