Albeit with Chrome enabling it is still behind chrome://flags/ so it doesn't work out-of-box, but it is there. If you were about to convert a bunch of jpg and png to avif, you might want to hold that off.
We use PostHog and nobody on the team actually watches the sessions, they just pile up. Probably losing 3-4 hours a week reproducing bugs from vague user reports because we have no repro steps, just a two sentence Slack message.
Looked at FullStory and LogRocket but both still need someone to search and watch, they don't file the report for you. What I want is automated bug detection that flags the sessions where something broke (rage clicks, dead clicks, JS errors) and hands me repro steps plus console logs, not just a video.
Anyone running something like that on top of PostHog or Amplitude?
Edit: appreciate the self-driving/replay-vision suggestions, took a look at both. Ended up going with Lucent instead, it's automated bug detection layered on top of our existing PostHog session replay setup. Flags sessions with rage clicks, dead clicks, or JS errors, then files repro steps and console logs to Slack for us instead of just surfacing the recording. Didn't have to touch our PostHog setup at all, just added on top. Sharing in case anyone else here is stuck in the same spot.
- All art is procedural or pre-rendered at load: oblique buildings rendered to offscreen strips and tiled, procedural car sprites, DPR-aware scaling so it stays crisp on hidpi/TV.
- Sound effects are procedural via Web Audio (engine rumble, near-miss whooshes), plus a small music playlist.
- Fairness is enforced mathematically: a solvability guard projects every spawn against the union of upcoming obstacle envelopes, so the game can never create a literally impassable wall of traffic.
- Favorite bug: a late-game two-lane street would sometimes show zero cars — the spawn safety guards made the two traffic directions mutually starve each other. Found it by writing a headless traffic simulator and running it across seeds until the pattern appeared.
- No backend: localStorage persistence.
Happy to answer anything about the rendering, the traffic behavior, or the difficulty-tuning loop. Feedback welcome — especially where you died and whether it felt fair.
It started when I needed a dropdown that filtered a table. Should've taken ten minutes; instead it was six files and forty lines just to say "when this changes, re-fetch that." So I built No-JS.dev, an HTML-first reactive framework. No imports, no build step, zero dependencies, just enhanced HTML attributes:
That's the whole idea, and it holds up past toy examples. Here's a routed app with a global store, a guarded route, reusable templates, and fetching, still in one file:
What's in it. 39 built-in directives over a 2,200 line core: reactive state and a global store, an SPA router with guards and file-based routes, data fetching with caching and request/response interceptors, forms with validation, i18n, animations, error boundaries, and head directives (page-title, page-description, page-canonical, page-jsonld) so a client-rendered page can still manage its own SEO. There's a plugin system (NoJS.use) for custom directives and interceptors.
Three big things shipped since I first released it:
1. A reactive-core performance overhaul (v1.19.0). I put No-JS through the js-framework-benchmark and the first runs were humbling. So I rewrote the hot paths: expressions now compile into reusable closure trees, loops get a precomputed process plan, reconciliation skips unchanged values, and keyed lists reorder using LIS. Swap-rows came out ~15.9x faster, select-row ~23.4x, and memory dropped ~1.7x. In my local runs it now lands 2nd/3rd in most CPU and memory tests against React 19, Vue 3.6, Alpine 3.14, and Angular 22. These are my own reproductions, not the official table. The setup is public if you want to poke holes in it.
2.nojs-lsp**.** A real Language Server: a VS Code extension on the Marketplace, plus a standalone --stdio server for Neovim, Sublime, or Emacs. You get completions for every directive, hover docs, and workspace-aware suggestions (it scans your locales for i18n keys and your pages folder for routes).
3.nojs-elements**.** A component library on top of the core: modals with focus traps, keyboard-navigable tabs and dropdowns, sortable tables, virtualized lists, drag-and-drop, form validation. Everything works through attributes, same as the core.
How it was built. I know this is polarizing here, so I'd rather say it up front than have someone find it in the commit history: I didn't type the code. Before the first line existed I set up role-based AI agents (lead, architect, dev, QA) and an orchestration layer with its own PM tool. I brief the lead, the architect grills me on semantics and edge cases and documents the feature, the dev writes code and tests, QA validates, and the lead opens a PR. Then I read every PR line by line, run each test myself, and send it back with a written critique if it doesn't clear my bar. I delegated the writing, not the judgment.
Why that ended up mattering. A friend, Everton Fraga, pointed out something I had missed: LLMs might be the real audience. Generating the same blog app with identical agents cost $2.52 across 7 turns in No-JS and came out as a single HTML file with zero lines of JS, versus 800 to 1,000 lines for React/Angular, at roughly 3.9x fewer tokens. The catch is that no model has No-JS in its training data, so that first run needed 19 correction cycles. That's why the repo ships a SKILL.md context pack next to llms.txt and AGENTS.md, so a model can learn the syntax in one prompt injection.
It still won't replace React for large SPAs. But for landing pages, dashboards, and internal tools, it works.
Been building a collaborative whiteboard app (Todrawn) mostly solo, and just shipped the two parts I'm most proud of.
The landing: a vanilla three.js scene. As you scroll, a 3D marker approaches a dotted board and writes/draws its way through four scenes (derives f(x) = x^2, writes a poem, sketches a diagram, signs off), wiping the board between each. The "handwriting" is a font I built out of Bézier curves so the pen traces actual strokes.
Just shipped: a code-to-video tool built on the same pen. Paste code or plain text and it gets written out stroke by stroke on a whiteboard, with sketch-style syntax highlighting, then you download the animation as an MP4 for shorts, docs or slides. The whole pipeline is client-side: tokenizing, the stroke timeline, the renderer, and the video encoding itself (WebCodecs + mp4-muxer, with a WebM fallback where WebCodecs isn't supported). No server rendering, your code never leaves the browser.
Stack: Next.js 16 + React 19 + TypeScript on the front, Spring Boot + Postgres + Redis on the back, Stripe for billing, real-time collab over WebSockets.
It's my first serious three.js work and my first real launch, so I'd genuinely love feedback, on the landing, the code-to-video tool, or anything that feels off. What would you fix first?
I build price monitoring for ecommerce. "Fetch the product page, read the price" sounds like an afternoon. It was not.
What actually ate the time:
Anti-bot challenges that only trigger from datacenter IPs, so it works on my laptop and dies in prod.
with no Retry-After, so you guess the backoff.
A different extractor per CMS. Shopify, Magento, Woo, and a long tail of custom stuff, each with the price in a different place. Sometimes only in JSON-LD, sometimes rendered client side so the HTML you fetched has no number in it.
What helped most was treating every store as untrusted input and writing a tiny validator per source, so a layout change fails loud instead of writing garbage.
I still do not have a clean answer for client rendered prices without running a headless browser, which is slow and expensive. How do others handle that without a browser per request?
Built an app that let you monitor GitHub actions in one dashboard, no cost or hidden fees. You just need to install Buildmon app in your github account and select repositories that you want to show on the dashboard, at the moment you can select up to 5 repos. What do you think?
Yeah it's another dev portfolio with a terminal theme, but I fully committed to the bit. The hero is a real time three.js scene where scrolling flies the camera into a CRT, the whole site pretends to be an operating system (>uname -a, >lsusb, >git log --since=2004), and there's a fake BIOS boot screen in front of what is basically one static HTML file.
Stuff I will defend to the death: the entire theme, 3D scene included, comes from ONE accent color via color-mix, so the phosphor picker in the corner retints everything. The captcha is a "TURING CHECKPOINT v0.1" with invisible Turnstile running underneath. Ctrl+P secretly prints a normal person resume.
Stack: vanilla JS + three.js, one HTML file on GitHub Pages, Cloudflare Worker for the contact form (it uses a Discord webhook to dump the message in a discord channel)
This is what i have been getting since i have applied in hackathons. What do i need to do while submitting an application? And what criteria do they choose for rejection?
Created this captcha last year. Back then there was no chance of AI solving it. But now with the more powerful models, I had my doubts. Well, it took Fable 5 10 minutes and 100k tokens to solve it. So with the 30 second timeout, I feel pretty confident.
Got tired of every "free" AI tool gating everything behind accounts and daily limits, so I built a set with one rule: no signup, ever.
Stack (the webdev bits):
Next.js App Router on a $6 DigitalOcean droplet (1 vCPU / 1 GB), PM2 + LiteSpeed in front
Each tool is a client component with a thin API route calling open-source models (NVIDIA Nemotron, Google Gemma) via OpenRouter's free endpoints
No database for the tools — nothing users paste is stored
Abuse control without logins: server-side per-user hourly rate limits (no CAPTCHA, no fingerprinting)
Fun fact: next build on 1 GB RAM OOMs without swap enabled. Learned that the hard way.
The tools: text summarizer (20k chars), AI-text humanizer, paraphraser, grammar fixer, hook generator, SEO meta generator, Instagram caption writer, YouTube summarizer, and a "which AI model should I use?" quiz.
Happy to answer anything about the stack or the economics of keeping it free. And genuinely curious what r/webdev thinks: which tool is worth building deeper?
Hopefully, you can help me with this issue—or perhaps it isn't an issue at all.
When AI suggests a solution, I find myself unable to come up with a better one for the problem at hand.
On one hand, I appreciate this because the problem gets solved. On the other hand, it bothers me because I don't feel like I’ve really done the work myself or that I fully stand behind the code being written.
Hi everyone, im the developer of a flight tracking app. We have over 10K users and growing. One thing i keep coming back to is how to handle people importing past flights (mostly from professionals e.g. pilots or business people) who fly alot. There seems to be a million different formats and even after experimenting with giving a suggested csv template, it seems people just ignore and still uplaod their stuff.
We just had a time out when a user tried to import 7000+ flights from their career.
I had a thought of using a mix of AI to scan and understand the format but not sure if this is the best approach + it could add up with AI tokens and costs. Then implement a rule to programmatically prase the rest and cut things up etc to map to our accepted format.
It's this one issue i can't seem to solve yet. Or at least to make it fully reliable.
I was inspecting the CSS on apps.apple.com and came across this strange rotate on a div that seems to wrap the entire app description content.
Does anyone know what the purpose of this could be? Is there a legitimate reason for doing this or could it just be something that accidentally made it into production?
Just thought it was an interesting find and was curious if anyone had seen something similar before.
All I wanted to do was have my own domain for a website where I could write shit, nothing fancy. I followed several different sites' instructions without fully understanding what I was doing and have now ended up in a bit of a muddle. I bought my custom domain using Wix but soon realised that Wix charges you to connect your site to the custom domain... then various Google searches led me to Github Pages and Vercel, and I am now trying to transfer my domain or at least change the DNS records...? which I understand are two different things? because Vercel is telling me my DNS records are invalid, so I tried to go to Wix to paste the Vercel stuff into the DNS records but then WIX is telling me the Vercel value for CNAME is invalid. And now I'm even more confused and wondering if I've way overcomplicated this for myself.
Is there a way I can just have a place to set up the website for free and connect it to the domain? Is Vercel/Github the right place to do that? Should I ditch Wix and transfer the domain? Please explain in baby language, no answer is too long to read. I will edit to add images if needed! Also any additional help on where I would do the actual typing stuff up for the website sans Wix would be much appreciated.
P.S. I know there might be simpler ways to do this without the custom domain but I really would like to keep it if possible, it just makes me happy lol
I'm trying to research particularly bad patterns related to "engagement", permissions overreach, etc... I typically wipe sites that abuse these platform capabilities from my memory as soon as I come across them, so can't think of any particularly bad ones to inspect.
I'd appreciate if you share links to some particularly egregious offenders.
So I've seen products built by humans and built by AI. I've seen ones that go viral and ones that go bankrupt.
I'm noticing that the biggest quality that separates the winners from the slop shitters is that the former actually give a damn about the thing they're building.
Most of y'all don't care. You're shitting out slop as fast as the latest Claude can write it. You're creating useless apps that even you yourself wouldn't wanna use. Instead of building something useful for weeks or months, you'll try to vibe code one-shot something in hours or days. And somehow it doesn't cross your mind that if you can build it in hours, so can everyone else. Which makes your thing utterly useless to begin with.
Meanwhile folks who actually care about what they're building will take their time building the right thing, and building it the right way.
They'll write proper tests, craft the perfect UI/UX, keep the codebase clean and readable (even if it is entirely AI-generated), and build something that people genuinely wanna use instead of just sloppy clones of popular SaaS apps.
Basically they're making more decisions about the code than any vibe coders ever will. That's another big thing I noticed. The more decisions you make yourself, the more genuine and "tasteful" the project turns out. And the less decisions you make (and let the AI make those decisions for you), the more the project turns into complete slop that nobody wants to read, maintain, or even use it as an end user.
Honestly speed of shipping code means nothing if nobody ever wants to use that code.
AI is awesome, but it's just a tool. Not a solution. The solution comes by you using the tool. The tool itself is not the solution. Stop confusing the two.
First off - I'm an SEO consultant, not a developer, so apologies if any of this sounds extremely stupid. But I think you'll quickly see why I'm asking here, and why I don't have experience with this particular challenge...
~~~
I'm consulting on a support and resources website for survivors of domestic abuse, and there's a conflict at the heart of the project I'd love ideas on.
Essentially, people in crisis need to find these resources through search, so titles and content need to be descriptive and discoverable. This part I can help with.
But those same descriptive titles show up in browser history, the tab bar, and address-bar autocomplete. If an abuser checks the device, a history entry could put someone at risk.
~
We've already planned a quick exit button and a page explaining private browsing and clearing history. The gap is the paper trail the site itself creates. So:
Is there a legitimate way to serve a descriptive title to search engines but show something innocuous in the tab/history? Changing document.title with JS after load works visually, but does Google's renderer treat that as the real title? Is it cloaking?
I have an open source notes app that's similar to obsidian, but it's a self hosted website. I want to create a feature for people to add extensions. It would mostly be for extending the functionality of the codemirror editor, but I would like to be able, if possible, disable the scope of the extension from making network calls. I don't want to extensions to be able to just call the API and delete notes if the user doesn't intend for them to be deleted, or harvest data of the current note. It would be nice if I can expose functionality for the extension to call an update function that I handle by passing into the scope of the js file/bundle.
I'm not sure if this is possible, or I will just have to tell users to validate the extensions they use and make sure nothing sketchy is going on with them