// Dev year-in-review — contribution heatmap + language mix + repos. 1600×1000. import { Cell, Pie, PieChart, ResponsiveContainer, } from "recharts"; import { CodeIcon, FlameIcon, GitBranchIcon, GitCommitIcon, GitPullRequestIcon, MessageSquareIcon, StarIcon, } from "lucide-react"; // ---------- data ---------- // 53 weeks × 7 days contribution heatmap const heat = Array.from({ length: 53 }, (_, w) => Array.from({ length: 7 }, () => { const r = Math.random(); if (r < 0.35) return 0; if (r < 0.55) return 1; if (r < 0.78) return 2; if (r < 0.92) return 3; return 4; }), ); const levelColor = [ "rgba(255,255,255,0.05)", "#0e4429", "#006d32", "#26a641", "#39d353", ]; const langs = [ { name: "TypeScript", value: 48, color: "#3178c6" }, { name: "Python", value: 22, color: "#ffd54f" }, { name: "Rust", value: 14, color: "#ff8a65" }, { name: "Go", value: 9, color: "#00add8" }, { name: "Swift", value: 5, color: "#f05138" }, { name: "Other", value: 2, color: "#6b7280" }, ]; const repos = [ { name: "poster", desc: "tsx → html → png", stars: 1_842, commits: 284, lang: "TypeScript" }, { name: "stage", desc: "agent runtime on Convex", stars: 962, commits: 411, lang: "TypeScript" }, { name: "napkin", desc: "notes from the CLI", stars: 624, commits: 138, lang: "Rust" }, { name: "pi", desc: "personal CLI zoo", stars: 388, commits: 602, lang: "TypeScript" }, ]; const months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; // ---------- poster ---------- export default function DevWrap() { const total = heat.flat().reduce((a, b) => a + (b > 0 ? b * 2 : 0), 0); return (
{/* header */}
GitHub · 2025 in review

@dev shipped

Total contributions
{total.toLocaleString()}
{/* top stats */}
{/* contribution heatmap */}
Activity graph
Less {levelColor.map((c, i) => ( ))} More
{heat.map((week, w) => (
{week.map((level, d) => (
))}
))}
{months.map((m) => ( {m} ))}
{/* languages + repos */}
{/* languages donut */}
Languages
{langs.map((l) => ( ))}
{langs.map((l) => (
{l.name} {l.value}%
))}
{/* top repos */}
Top repositories
{repos.map((r) => (
dev/{r.name} · {r.desc}
l.name === r.lang)?.color ?? "#6b7280", }} /> {r.lang} {r.stars.toLocaleString()} {r.commits} commits
l.name === r.lang)?.color ?? "#39d353", }} />
))}
); } function BigStat({ icon: Icon, label, value, tone, }: { icon: typeof StarIcon; label: string; value: string; tone: string; }) { return (
{label}
{value}
); }