kdkodatajuanmaulana29@gmail.com

build.py — kodata

Column 2: build.py

index

Open data, followed all the way down to one person inside it.

Every piece here starts with a public dataset and ends with a story. The numbers can be checked: any figure set in mono opens its own evidence in a column to the right, so you never have to leave the sentence you are reading to find out whether it is true.

open to work

02pieces
02public datasets
271occupations
4,810teenagers

work

files

build.py

Every calculation on this site comes from one file that can be re-run from zero. This is a real excerpt of it.

"""01 — Will AI take my job? Exposure, skills and wages.

Emits web/content/01-ai-exposure/data.json, the single
contract between this analysis and the web layer. Nothing
downstream re-computes anything.

stdlib only, on purpose: at n=271 pandas buys nothing, and
a pipeline with no third-party dependency beyond kagglehub
runs anywhere Python does.
"""
import csv, json, math, statistics as st

SUBJECT = "Writers and authors"

def pearson(pairs):
    x = [a for a, _ in pairs]
    y = [b for _, b in pairs]
    mx, my = st.mean(x), st.mean(y)
    num = sum((a - mx) * (b - my) for a, b in pairs)
    den = math.sqrt(sum((a - mx) ** 2 for a in x)
                    * sum((b - my) ** 2 for b in y))
    return num / den

analysis/pipelines/01_ai_exposure/build.py

Each occupation’s predicted exposure is a weighted mean of the 21 ability-exposure scores, weighted by how much that occupation demands each ability, then rescaled onto the rating scale before residuals are taken. stdlib Python, with no dependency besides kagglehub.