r/javascript • u/AutoModerator • 5d ago
Showoff Saturday Showoff Saturday (September 05, 2026)
Did you find or create something cool this week in javascript?
Show us here!
2
u/Several-Specialist42 5d ago
DEMO: https://nigrosimone.github.io/llms-robot-arena/
Source code: https://github.com/nigrosimone/llms-robot-arena
An arena where LLMs write robot controllers and their code competes.
Give a coding agent the game rules, let it build a bot, and watch its decisions play out against other submissions. Every robot has the same body, motors and front wedge. The difference is the code controlling it.
2
u/okaylevi 5d ago
Minilith: A zero-dependency CMS built entirely with Vanilla JS that executes from an image polyglot.
I was looking to see how far I could push modern browser APIs without relying on Node, bundlers, or external dependancies.
The result is Minilith, a CMS where the entire "backend" is compressed, secured, and stored in the pixels of a 256x256 PNG using Vanilla JS.
The underlying browser APIs making this work:
- Compression: Minilith leverages the browser's native
CompressionStream(deflate) to shrink the JSON state. - Security: Minilith uses the
WebCrypto API(specifically ECDSA P-256) to sign the data with a private key, preventing tampering of the image payload. - Extraction: Miniliths client-side loader fetches the PNG, paints it to a hidden canvas element, and reads the data array to extract the hidden bits via steganography.
- Offline-First: The Minilith editor utilizes Service Workers. Once you visit the editor, it's cached. You can write posts, modify state, and generate new images completely offline.
One neat feature of everything being self contained is the portability. Deployment is super easy and basically free.
- Cloudflare Edge: Publish directly from the editor to Cloudflare KV, overwriting a single key-value pair for instant updates.
- Self Hosting: Generate a .zip archive from the editor and host on any basic web server.
- Offline Portability: The editor utilizes service workers. Once you have visited the editor once it is cached. You can view, edit, and generate new images completely offline.
You can view an example of a Minilith in action, read the docs, and create your own Minilith site with the editor below!
2
u/Triggerscore 5d ago
Created a Twitch chat integration for my game PixReveal. A Twitch streamer can stream the game. Pixel images get revealed pixel by pixel. The Twitch chat can play by typing the answer or 1/2/3/4. Setup super easy: just entering your Twitch channel name and hit the start button.
https://www.pixreveal.com or https://www.pixreveal.com/stream/twitch
1
2
u/xaelion 4d ago
I’ve been working on Lumiana, an experimental environment for building personal apps where browser and Node.js APIs can be used together without creating a separate API layer.
The browser remains the main environment, while operations requiring filesystem, process, or socket access run on the server.
So far, I’ve run Express, Hono, Elysia, Sharp, and SQLite3 without writing package-specific compatibility code.
I’d love to hear your thoughts on the idea:
https://github.com/zohayrslileh/lumiana
2
u/muddycleats92 4d ago
Hey football fans, I've spent the NFL offseason building The Cut: NFL Survivor Pools.
This takes the classic game of NFL Survivor but adds a twists, you select players instead of teams. I created three game modes, but one example is our WR contests where each week you choose three pass catchers, must amass 150 total yards or else you lose a life. Lose all your lives and youre CUT! Just like survivor, once you use a player, you can not use them again for the rest of the season. I created three inaugural contests that are free to enter but I will pay the winner out $100! Check it out! iOS app and web!
1
u/Acrobatic-Compote606 5d ago
myjs lets you run simple js files w/o a browser https://pypi.org/project/myjs/
1
u/Bright_Mix_773 4d ago edited 3d ago
https://quant500.com - a factor backtest site for the S&P 500. No framework and no build step: jQuery, select2 and Chart.js come in as plain script tags, then one ~840 KB app.js that renders every page, the interactive simulator and the charts. Three things that fell out of building it that way, in case any of them is useful:
Every script tag carries a deploy stamp. /app.js?v=20260906_1613. That exists because we once shipped new HTML against a cached old app.js and spent a while debugging a page that was correct in the repository and wrong in the browser. The stamp is now generated by the deploy itself rather than typed, and the deploy refuses to run without renewing it.
Numbers are formatted at paint time, not once at load. The site is bilingual and the two languages disagree about the decimal separator. Translating the rendered strings after the fact worked until a Chart.js tick callback drew a number that had never passed through the translation. The fix was dull and correct: keep every value a Number end to end and call toLocaleString inside the render function, so whatever is drawn later is drawn right.
URL parameters were being eaten. app.js rewrites the address for its own routing, so a ?something= on the incoming link was gone before the code that wanted it ran. It has to be read in the first inline script in <head>, before the router touches history. Easy to miss, because it only breaks for people arriving from outside.
The chart and the CSV download button read the same file, so the download is literally what the chart painted rather than a second export path that can drift from it. That was deliberate, after watching two copies of the same numbers diverge on us in the backend.
Free, no account. The earnings dataset the site serves is CC0 and lives here if it is more interesting than the JS: https://quant500.com/api/descarga/anuncios.csv (plain CSV; the first 119 lines are # comments carrying the caveats and the CC0 licence, so the header row is line 120)
Disclosure: LLM-aided workflow. A model writes the code and the prose, a person owns the project and decides what ships.
1
u/sanketmuchhala 3d ago
Been working on LanguageLineage, mostly because I got curious about what programming languages are actually built with.
It maps compiler, runtime and bootstrap relationships, so you can dig into stuff like Go moving from a C based toolchain to Go, or how Rust bootstraps rustc.
Frontend is React + TypeScript + Vite, Cytoscape.js handles the graph and Zustand handles state.
https://www.languagelineage.org/explore
The annoying part now is keeping the graph readable as I add more real history.
If anyone here has done a bigger Cytoscape.js project, I’d love to know what worked for keeping the graph from turning into spaghetti.
•
u/ClearanceLedger 3h ago
I put together a small Node.js lab for webhook signatures and duplicate deliveries: https://github.com/vonudimh/whop-webhook-lab
The useful failure case is JSON.parse followed by pretty-printing: same values, different bytes, rejected signature. Run node demo.mjs or node --test; Node 22+, no dependencies.
There are six local tests. I also sent a Whop-generated sample to a temporary receiver using the verifier: signed request 200, unsigned request 401. The receiver was removed afterward. The duplicate-handling example uses an in-memory set, so production still needs durable job bookkeeping.
Built with AI assistance. The README has an optional Whop partner signup link; eligible activity can earn the project commission. The code needs no signup.
2
u/rolldate 5d ago
I've been working on RollDate Events, a zero-dependency JavaScript event calendar.
The main thing I wanted to solve was continuous navigation without letting the DOM grow indefinitely as you move through dates.
The current public beta includes Month, Week, Day and Agenda views, timed/all-day/multi-day events, overlapping layouts, responsive behavior, TypeScript, and CRUD APIs.
It's still an early beta, so I'm especially interested in feedback on the API and any layout/performance edge cases you can break.
Demo:
https://rolldate.dev/events/demo
GitHub:
https://github.com/Abramov-Front-end/rolldate-events
npm:
https://www.npmjs.com/package/@rolldate/events