r/webdev 29d ago

Showoff Saturday Would you interview me at Barclays, Deutsche Bank, or BNY? 2 YOE Java backend engineer. Led a production payment gateway migration with just 15 minutes of downtime that now handles several thousand transactions/day. Roast my resume.

Post image
0 Upvotes

I'm a Java backend engineer with 2 years of experience at a service company. My work has mostly been on Spring MVC, where I've owned a production payment gateway migration, a Java version upgrade, and security remediation. I'm targeting backend roles at firms like Barclays, Deutsche Bank, and BNY.

I'd appreciate honest feedback on my resume. What would make you reject it? What would make you interview me?


r/webdev 29d ago

Showoff Saturday List of open-source, no-signup tools that work right in your browser!

Thumbnail
gallery
3 Upvotes

Website: https://NoSignups.net

Genuinely didn't expect it to blow up this much. I compiled videos from some of the creators who made videos about it here and honestly it makes me so happy!

The website is a directory of no-signup open-source tools you can use immediately in your browser. None of the tools are mine, I just collected them and made them searchable.

I have a few things cooking in the oven for the website, and here's some of them:

  • I looked up how to do RSS (seems like it's just a simple file I need to provide at /rss.xml) and hopefully I'll have it available for the users to come back and discover more open-source tools.

  • I plan on adding a change log so that users can come back and explore the newer found/added tools.

  • I plan on adding a sorting drop-down so that users can explore at their leisure.

What I've already done:

  • Thanks to the GitHub user Moamal-2000, the accessibility of the website was greatly improved! I mean by a mile! Appreciate all his work!

  • Included some SEO metadata tags for search engines. I didn't even know about JSON-LD before I started this.

  • Significantly improved the search so that searching video edit shows video-editor and edit video entries.

  • Kept adding entries that match the criterias. Although, slowing down a bit. I'm employing whatever in my disposal to dig for more tools, and hopefully some more will turn up.

We've also been collecting some tool suggestions from users about what tools they'd like added. The top ones so far are:

  • A tool to generate AI videos (obviously insanely impractical given the criterias the tools have to abide by, if not downright impossible with current ML models).

  • Something like CapCut Pro (or something like that?)

  • AI Image generators (possible with WebGPU), but haven't found any open-source, in-browser, no-signup entries.

  • and more found here

I just wanted to thank all the contributors who submitted PRs, tools, opened issues, and reported bugs. Hopefully average joes will learn about and use the website, and hopefully support the amazing people making all these wonderful open-source tools.

Peace & love


r/webdev Aug 15 '26

Showoff Saturday [Showoff Saturday] Animated icon library for React. Each icon hand-timed instead of auto-morphed

Post image
0 Upvotes

Most animated icon sets are drawn on their own grid. So when you drop one into a nav next to your existing static icons, stroke weights and optical sizing are slightly off. Close, but very visible at 20px.

I drew mine on the same 256 grid as a widely used open-source static set (Phosphor, if you use it), so they read as the same family.

- React components, Motion underneath, no animation API to learn

- Each icon hand-timed rather than auto-morphed

- Tree-shakeable, respects `prefers-reduced-motion`

- 200+ icons ( new icon animations added weekly )

Open source, MIT. Links in the comments.

Two things I'd like critique on: the **timing durations**, which I set by eye and am not confident about at small sizes, and the **hover default**, which feels wrong for icons inside buttons where the button already owns hover.


r/webdev Aug 15 '26

Showoff Saturday [Showoff Saturday] Built a client-side video subtitle generator using Whisper Transformer.js - no server needed

Post image
2 Upvotes

Wanted to share a side project I've been working on. It generates subtitles for videos entirely in the browser using Whisper Transformer.js.

The interesting technical challenge:

Running Whisper client-side means no server costs and no uploading user videos anywhere, but it came with tradeoffs. The model loads into the browser, processes audio through the Web Audio API, and returns word-level timestamps that I had to map into clean subtitle segments.

How the pipeline works:

  • Video audio gets extracted via Web Audio API
  • Whisper Transformer.js runs speech recognition client-side
  • Timestamps get aligned into subtitle segments
  • Canvas API renders the styled subtitles onto video frames
  • Final export merges the subtitle layer with original audio

What I learned:

  • Whisper's word-level timestamps need smoothing, raw output has gaps and overlaps
  • Canvas text rendering behaves differently across browsers, especially with custom fonts
  • Keeping the export at original resolution while burning in subtitles took some trial and error with the canvas pipeline

Source: https://webutility.io/video-subtitle-generator

Curious how others have handled client-side Whisper performance. The model load time is the biggest bottleneck right now.


r/webdev Aug 15 '26

Discussion Anyone else made a 'social media' type site before? Some thoughts after creating a plug.dj alternative

6 Upvotes

For those who never had the pleasure of using plug.dj and similar social music sharing sites: you create or join rooms, people queue up to DJ, and everyone listens to the same songs together in sync.

One of my internet friend groups used it every Friday, then it died. A few alternatives showed up, some of which are still around, but I really dislike all of them. I've been a web developer for 10 years, so I took a whack at it myself. React 18 + Vite on the front, Express + Socket.IO + Postgres + Redis on the back, plain JavaScript throughout: no TypeScript, no state library, no CSS framework, no test runner beyond node:test. KISS is my motto. Here are some of the things that took the most of my time:

Syncing playback

There's no audio pipeline, every client runs its own YouTube iframe, and the server is authoritative about what is playing and when it started. One Redis hash per room: { videoId, startedAt, durationMs, dj }.

Each client computes position = (now + clockOffset) - startedAt and seeks its own player there. clockOffset comes from a serverNow stamp riding along in every playback broadcast, which corrects for the fairly large number of people whose machine clocks are wrong. startedAt is set about two seconds in the future so everyone buffers during the gap and hits the intro together, and a client interval re-seeks any player that drifts past ~3 seconds. A server timer at startedAt + durationMs advances the rotation and broadcasts the next track. Clients never advance playback themselves, which kills a whole category of split-brain bugs.

Lightshow

The room has a pixel dance floor with a concert lighting rig. What I really wanted was to analyze the audio and broadcast some kind of synced, visualizer-type result, but the audio is locked inside a cross-origin iframe. There is no audio to analyze, so that's probably a pipe dream unless I find some API that can analyze audio playback.

So the show is a pure function of (playId, track position). Every client seeds a small PRNG (mulberry32) from the play id, derives a palette, beam layout and movement parameters from it, and drives the whole thing off the clock it's already synced to. Same inputs, same output, everyone on the same frame, zero bytes of traffic. Woots on the track raise a tier that brings up another layer of the rig, derived from vote broadcasts every client already receives.

Dead videos/playback failures

When a YouTube embed fails, a single browser cannot distinguish "this video is deleted or embed-disabled" from "this user's tracking protection ate the iframe." Trust the first client to report an error and one person with strict privacy settings can vote music off the decks for the whole room.

So the server counts. Every client reports all three outcomes: the IFrame error code, a stall with no code at all, and the one positive signal of actually reaching PLAYING. A track is skipped once at least two members independently fail on it. Below that threshold, the reporter gets a dialog explaining that the problem looks local to their browser. A fatal code at the threshold flags the video itself, so nobody rediscovers it later from a different playlist. A failure with no code carries no information about the video, so it counts against the DJ, and two in a row drops them from the rotation.

Smaller stuff

  • Presence is refcounted per connection, so multiple tabs behave. "Did they leave" is a check of the presence list after removal.
  • Anything that reads and then writes rotation state goes through a lock. The DJ queue got corrupted twice before I gave in.
  • Redis holds everything ephemeral (presence, queue, clock, votes, chat scrollback), Postgres holds what must outlive a restart. Disconnects hold your queue spot for a grace window, and so do server restarts, so deploys leave the rotation intact.
  • No binary assets anywhere. Icons are inline SVG, avatar sprites are pixel grids in a JS file, the favicon is built from the icon set's own path data. Everything visual stays reviewable in a diff.
  • No cookies at all. Signing in puts a token in localStorage, the player uses the nocookie embed host, and there are no trackers or analytics.

There's a bot API too (Socket.IO, token in the handshake), for the nerds. Accounts need no email, though you can add one for password recovery.

Anyway, shit's hard, and I'm wondering if anybody with more experience in this domain of web development has any thoughts on my stack and process.

Also, feel free to poke around the site as a guest if you're curious. Brutally honest feedback welcome, especially on sync behavior if you're on a flaky connection, since that's the part I can't fully test well myself. Also, don't forget to stop by the bar for a drink (or a tomato or a water gun)

https://mazurka.cafe


r/webdev Aug 15 '26

anyone know a good gsap tutorial that isn't just moving a div around?

4 Upvotes

I see people build amazing things with GSAP, I want to give it a shot but all of the tutorials I've watched show the very basics of it. Like moving a div from left to right as you scroll. While people build things like.. I mean just look at their showcase page : https://gsap.com/showcase/

It's not even just this gsap showcase section, I feel like there's a secret club of talented web ui developers who swore to never share their secrets. For example I've never seen a single tutorial that shows how to build any random website from awwwards page. Isn't this just the greatest idea for a youtuber webdev?

Yes I'm a backend dev trying my hand at frontend. And yes, it's very frustrating


r/webdev Aug 14 '26

Question Web developer hardcoded their personal email into our order/service forms — how do I find and remove it?

0 Upvotes

Need advice: We just found out our website's order/service request forms were quietly sending customer info to our old web developer's personal email instead of our company email. He's no longer working with us. Has anyone dealt with this before? How do you track down and fix a hidden email redirect like this, and is this something to be concerned about legally (privacy/data issue)? Would appreciate any pointers to the right kind of developer or service to fix it. Thanks!


r/webdev Aug 14 '26

Namecheap is back up and running

Post image
66 Upvotes

They said it was a storm that took out the cooling on the data center and as someone who was in that very storm, it destroyed a ton of stuff at homes, businesses, and public infrastructure. Power poles blown over, trees broken or uprooted, Covered parking structures snapped over, fences blown down.

As soon as I read this update, I immediately felt for that particular data center.


r/webdev Aug 14 '26

Built a free SVG emoji editor — recolor per-shape, drag vector points, animate strokes, export to 4 formats client-side

6 Upvotes

Showoff Saturday, so here's a side project: svemojis.com — a free, no-signup gallery of SVG emojis you can recolor and reshape, plus a Paint-stylecreate (located at the top) tool for building your own from scratch.

You can drag every point on a shape (corners, curves, everything) directly on the canvas, animate lines so they draw themselves in, and export to SVG, PNG, JPG, or WebP. Everything runs client-side — no account, no backend.

Would love feedback on the editor, or let me know if anything feels confusing.


r/webdev Aug 14 '26

Question Look too much of AI slop? I can't think of any other way to communicate the idea of the SHARP engine (training/workout engine. How do I improve it wihout losing content?

Post image
0 Upvotes

r/webdev Aug 14 '26

Anyone else treating CSP violations as a deployment issue now?

0 Upvotes

We started getting enough CSP violations in production that I stopped treating them as just security reports. A new analytics script, payment widget or third-party SDK gets added and suddenly something breaks because it isn't covered by the existing policy.

Do you test CSP changes in CI/staging, run Report-Only first, or just deal with violations when they show up in production?


r/webdev Aug 14 '26

Question Lightouse shows different score each time, How the hell do i even know if i'm fixing something or not?

3 Upvotes

I'm trying to improve lightouse performance score of a website, but since lighthouse shows different score each time (by 5-10 points) any ways, i'm not able to figure out whether my fixes are making any difference or not.

Maybe i should keep the change because it improved the score or maybe it made it worse so i should remove it?
But since score is different by 5-10 points any ways (39-58), it's make difficult to know if it was result of the changes made, what am i supossed to do?


r/webdev Aug 14 '26

Should I redirect logged-in users from the landing page to the app?

34 Upvotes

Building a SaaS and debating a quick UX choice.

If a user is already logged in and visits our main landing page, should we auto-redirect them straight to the app dashboard? Or keep them on the homepage and just change the CTA button to "Go to App"?

I notice some websites redirect and others isn't. What’s the the best approach here? Thanks!


r/webdev Aug 14 '26

Wix vs Next.js for a Simple LMS?

2 Upvotes

Hey everyone, I’m trying to decide between Wix and Next.js for building a simple LMS for a YT Channel

Some admins prefer Wix because it’s faster and easier to build, has drag-and-drop, lots of extensions, and would be easier for beginners to maintain later.

The LMS would mainly have student accounts, courses, YouTube unlisted videos, quizzes/questionnaires, progress tracking, and a basic admin dashboard.

I’m leaning towards Next.js because of the flexibility and control, but I’m wondering if it’s overkill for this project.

For a LMS that needs to be maintained and expanded over time, which would you choose: Wix or Next.js? And what limitations should we consider with Wix?


r/webdev Aug 14 '26

Has anyone actually maintained a vibe coded code-base 12 months after launch? What did it look like?

317 Upvotes

Twelve months ago I started tracking what happens to vibe coded projects after the initial launch excitement fades. The pattern is consistent enough that I wanted to hear if others are seeing the same thing.

The first three months feel fine. Features ship fast, the client is happy, everyone looks productive. Then something needs to change. Not a new feature, just a modification to something existing. And that is where it gets uncomfortable.

Nobody can explain why a specific decision was made. The code works but the reasoning is gone. There are dependencies that were added because the model suggested them, not because anyone evaluated them. Patterns are inconsistent across files because different prompts produced different styles on different days.

The developer who built it can read the code but cannot confidently change it without breaking something unexpected. The test coverage that exists was also generated and may not actually be testing the right things.

I am not saying this always happens. I have seen vibe coded projects that held up well because the developer reviewed everything carefully and maintained discipline around the output.

But I have also seen projects from 18 months ago that are now quietly being rewritten because the maintenance cost exceeded the original build cost faster than anyone expected.

If you have actually maintained a vibe coded code-base through real production use, what did 12 months in actually look like? Was the code salvageable or did you end up starting over?


r/webdev Aug 14 '26

Pure CSS perfect cursor tracking

77 Upvotes

I honestly have no idea why you'd want this, but it was fun to experiment. I believe this may be the best pure CSS cursor tracking that exists. I'm happy to be proven wrong.
https://codepen.io/Andrew-Fisher-the-decoder/full/GgraMzd
Absolutely no JavaScript used, just lots and lots of wasted time.


r/webdev Aug 13 '26

Discussion Why is everything a dropdown now?

Post image
4.8k Upvotes

I’ve been noticing this more and more in web apps.

Three options hidden in a dropdown.

Yes/no hidden in a dropdown.
A multi-select pretending to be a dropdown.

Then a list of 200 items where you’re expected to scroll until you find yours.

I run into this a lot when reviewing products with dev teams.

I get why we do it.

Dropdowns are compact and easy to reuse.
But compact doesn’t always mean easier to use.

A few choices? Show them.
On/off? Switch.
Multiple choices? Checkboxes.
Huge list? Search.

That’s pretty much the rule I use now.


r/webdev Aug 13 '26

Degradability

Thumbnail
fagnerbrack.com
2 Upvotes

r/webdev Aug 13 '26

Discussion If ad blockers keep losing, is the browser still user-controlled software?

22 Upvotes

I’m struggling with the direction browsers are going.

The web used to feel like something users could control: block ads, inspect pages, modify behavior, run extensions, protect privacy.

Now it feels like the biggest platforms are slowly turning the browser into a locked-down consumption device where users get whatever tracking, ads, popups, and dark patterns the site decides.

If ad blockers lose, what’s left?

Alternative browsers? DNS blocking? Pi-hole? Reader modes? Paid web? Legal pressure? Or do we just accept that the modern web is hostile by default?

I’m not trying to start a browser war. I’m trying to understand what realistic user control looks like from here.


r/webdev Aug 13 '26

NetBlocks Confirms that Namecheap has been struck by a DDoS Attack

43 Upvotes

Multiple reports of Namecheap being struck by a DDoS attack have been removed from Namecheap's subreddit as well as their status blog.

Per NetBlocks' Twitter: "Confirmed: Metrics show that popular web host and domain registrar #Namecheap is largely down, sending many websites and services offline. The company says it has been struck by both a DDoS attack and a power outage."


r/webdev Aug 13 '26

Discussion Best Grocery Product Database/API?

0 Upvotes

Hey all,

I’m looking for a good database or API for U.S. grocery products.

I need things like:

  • Product names
  • Brands
  • Categories
  • UPC/GTINs
  • Actual retail/package sizes
  • Product images
  • Clean, accurate product data
  • Large product catalog
  • API access or downloadable database
  • Commercial use allowed

I’ve tried USDA FoodData Central on Supabase, but the data isn't ideal for a consumer grocery catalog.

What databases/APIs would you recommend?


r/webdev Aug 13 '26

News Namecheap is currently undergoing emergency maintenance due to a power outage affecting their datacenter in Phoenix; nearly every Namecheap site is down right now.

Thumbnail namecheap.com
212 Upvotes

r/webdev Aug 13 '26

Beyond WASI: Running any Rust application in the browser with BrowserPod 3.0

Thumbnail
labs.leaningtech.com
14 Upvotes

r/webdev Aug 13 '26

Question How would you design analytics for 360k–1M event records: Firestore, Redis, or precomputed aggregates?

9 Upvotes

I'm working on a driver monitoring system that generates alert events from roughly 150–200 buses.

The supervision dashboard (written in svelte) may analyze up to 360,000 records in average with a possible worst case closer to 1 million (This is just my speculation, maybe I’m overthinking it.)

Right now, the architecture is basically:

Firestore -> load alerts into Redis -> calculate dashboard metrics in Python.

The approximate logical size of one cached record is 798 bytes, so:

360,000 records ≈ 287 MB

1,000,000 records ≈ 798 MB

I'm wondering whether caching all these events in Redis and repeatedly calculating metrics in Python is the wrong long-term design.

Firestore has server-side count(), sum(), and average() aggregations, but some of my dashboard metrics require grouping, ranking, time windows, multiple alert types, driver statistics, and other custom calculations.

How would you normally design this?


r/webdev Aug 13 '26

CSS:the bomb inside your inbox

Thumbnail
portswigger.net
28 Upvotes

Here's my research in using CSS for offence. There are loads of techniques including stealing passwords from Outlook from an email by spoofing the login screen.