commit d469622e6e240112800389b2d21a9fdd5c25755b Author: Jeff Emmett Date: Mon Feb 16 17:52:26 2026 -0700 Initial commit: funz.quest satirical site Single-page scrolling site about the neverending quest for public goods funding, pivoting into a comedic quest for vibes-based FUNZ tokens. Features scroll-reveal animations, a yeet button with escalating messages, Konami code easter egg, and references to dokindthings.fund and NoFi.lol. Dockerized with nginx + Traefik labels for Netcup deployment. Co-Authored-By: Claude Opus 4.6 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..67d9221 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +.DS_Store +node_modules/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7db1795 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM nginx:alpine +COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY index.html /usr/share/nginx/html/index.html +EXPOSE 80 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..570498c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +services: + funz-quest: + build: . + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.routers.funz-quest.rule=Host(`funz.quest`) || Host(`www.funz.quest`)" + - "traefik.http.services.funz-quest.loadbalancer.server.port=80" + networks: + - traefik-public + security_opt: + - no-new-privileges:true + cap_drop: + - ALL + cap_add: + - NET_BIND_SERVICE + - CHOWN + - SETGID + - SETUID + read_only: true + tmpfs: + - /tmp + - /var/cache/nginx + - /var/run + +networks: + traefik-public: + external: true diff --git a/index.html b/index.html new file mode 100644 index 0000000..d3e060e --- /dev/null +++ b/index.html @@ -0,0 +1,929 @@ + + + + + + FUNZ.QUEST - The Neverending Quest for Funz + + + + + + + + + + + + + +
+

A saga in seven acts of diminishing dignity

+

FUNZ.QUEST

+

The Neverending Quest for Funz

+
+ Descend into the quest +
+
+
+ + + + +
+ I +

The Soulcrushing Quest for Funds

+

+ You know the one. The quest that every public goods defender, + every earth warrior, every infrastructure maintainer + has been on since the dawn of trying to make the world marginally less on fire. +

+

+ You wake up. You open your laptop. You write a grant proposal. + You write another grant proposal. You write a grant proposal about + writing grant proposals. You attend a call about the future of grant proposals. + Someone asks if you've considered applying for a grant to fund the call about + the future of grant proposals. +

+

+ You stare into the void. The void stares back. The void also needs funding. +

+
+ +
+ + + + +
+ II +

The Infinite Loop of Impact Reporting

+

+ You built the thing. The thing works. The thing is beautiful and serves thousands + of people who will never know your name and that's fine because you're not in this + for the glory, you're in this because someone has to keep the lights on + in the commons and apparently that someone is you, a person who hasn't slept properly + since 2019. +

+

+ But did you measure the impact? Did you fill out the 14-page + retrospective with the custom KPI framework that the funding body invented + last Tuesday? Did you quantify the vibes? Can you prove, with a Gantt chart, + that the world is 0.003% better because of your open-source library that three + different governments silently depend on? +

+

+ No? Cool. Application denied. Better luck next quarter. +

+
+ +
+ + + + +
+ III +

The Moment of Clarity

+

+ Somewhere between your third "synergy alignment call" and your seventh + "multi-stakeholder coordination workshop," a thought crystallizes in + your grant-addled brain: +

+

+ "What if the quest was never about the funds?" +

+

+ What if—hear me out—what if the real treasure was the absolutely + unhinged amount of fun we had along the way? The 2 AM Telegram threads. + The chaotic hackathon demos. The time someone accidentally deployed to production + during a conference talk and it actually worked better. +

+

+ What if we stopped questing for funds… and started + questing for funz? +

+
+ + + + +
+
+

INTRODUCING: FUNZ

+

// vibes-based value for a vibes-based world //

+
+
+ + + + +
+

IV. So What the Funz Are Funz?

+

+ Funz are a tipping token. Think of them like fux, + as in "giving a fux." Except we can say this one at conferences without getting + a stern email from the events coordinator. +

+ +
+
+

🎲 THE FUNZ TOKEN

+

+ You see someone doing something cool? Something that makes the collective + vibe even slightly more vibrant? You yeet them a funz. + That's it. That's the whole system. +

+

+ No 14-page application. No KPI framework. No "please describe your theory + of change in 500 words or fewer." Just: "hey, that was fun. Here's a funz." +

+
+
+ +

+ Funz recognize what every grant committee on earth refuses to acknowledge: + that most valuable contributions to the commons are vibes-based. + The person who keeps the community Discord from imploding? Funz. + The person who wrote that one doc that saved everyone 40 hours? Funz. + The person who showed up to the thing and made the thing feel like a thing worth + showing up to? Maximum funz. +

+
+ + + + +
+
+

V. The Quest Mechanics

+

+ The funz.quest is the grand adventure of collecting all the funz. + You earn them by being genuinely, irrepressibly fun in service of the collective. + And someday—someway—those funz might just become actual funds. +

+

How? Through threshold-based flow funding flows:

+ +
+ vibes happen + | + v + funz get yeeted ------> funz accumulate + | | + v v + community sees who threshold reached? + gives the most funz (e.g. 1000 funz) + | | + v v + more vibes happen flow funding unlocks + | ~*~ actual money ~*~ + v | + the cycle continues v + (it never stops) funds flow to the + (that's the point) funziest contributors + (help) akin to dokindthings.fund
+ +

+ It's like retroactive public goods funding, except instead of a committee deciding + who was impactful, the community decides who was fun. Because fun + is impact. Fight me. +

+
+
+ + + + +
+
+

VI. Wait, You're Still Reading This?

+

+ I cannot believe you're still here. We are like 2,000 words deep into + a satirical website about imaginary vibes tokens and you're still scrolling. + Do you not have grants to write? Impact reports to fabricate? + Stakeholder alignment matrices to suffer through? +

+

+ Listen. I appreciate you. I really do. Your dedication to reading an entire + website that is essentially one long shitpost about the funding crisis in + public goods? That's the most funz thing anyone has done today. +

+

+ Here, have a funz.
+ Actually, have ten funz.
+ You know what? Have a HUNDRED funz.
+ TAKE ALL THE FUNZ.
+ YOU ARE THE FUNZIEST. +

+
+ +
+

VII. The Final Boss

+

+ But seriously. Haven't you heard about NoFi.lol? +

+

+ Do less, poindexter. +

+

+ Stop reading manifestos on satirical websites. Stop optimizing your + grant pipeline. Stop attending the meeting about the meeting about + the meeting. The funz were inside you all along—or something. + I don't know. I've been writing this site instead of my own impact report. +

+

+ The point is: the quest never ends. Not the quest for funds—god, + no, that definitely never ends, that's the whole problem—but the quest for + funz. The quest to find the joy in the work. To yeet appreciation + at the people who make the commons feel like a place worth commoning in. +

+

+ To build a world where giving a funz actually means something. +

+

+ And maybe, just maybe, someday the funz will become funds. +

+

+ But honestly the funz were always the point. +

+

+ The funds are just how we keep the lights on while we have the funz. +

+

+ ...please fund public goods though, seriously, we are very tired. +

+
+
+ + + + +
+

Begin Your Quest

+

+ Yeet funz. Receive funz. Question everything you thought you knew + about coordination mechanisms. Forget to eat lunch again. +

+ +

+
+ + + + +
+

+ FUNZ.QUEST — a public good about the quest for public goods funding
+ No actual tokens were harmed in the making of this website
+
+ dokindthings.fund · + nofi.lol
+
+ © The Commons, Obviously · +

+
+ + + + + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..aac0a9d --- /dev/null +++ b/nginx.conf @@ -0,0 +1,27 @@ +server { + listen 80; + server_name funz.quest www.funz.quest; + + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } + + # Cache static assets + location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff2?)$ { + expires 30d; + add_header Cache-Control "public, immutable"; + } + + # Security headers + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + + # Gzip + gzip on; + gzip_types text/html text/css application/javascript; + gzip_min_length 256; +}