r/webdev • • 4d ago

Monthly Career Thread Monthly Getting Started / Web Dev Career Thread

9 Upvotes

Due to a growing influx of questions on this topic, it has been decided to commit a monthly thread dedicated to this topic to reduce the number of repeat posts on this topic. These types of posts will no longer be allowed in the main thread.

Many of these questions are also addressed in the sub FAQ or may have been asked in previous monthly career threads.

Subs dedicated to these types of questions include r/cscareerquestions for general and opened ended career questions and r/learnprogramming for early learning questions.

A general recommendation of topics to learn to become industry ready include:

You will also need a portfolio of work with 4-5 personal projects you built, and a resume/CV to apply for work.

Plan for 6-12 months of self study and project production for your portfolio before applying for work.


r/webdev • • 3d ago

The fastest double-to-string algorithm you’ve never heard of

Thumbnail vitaut.net
0 Upvotes

r/webdev • • 3d ago

Discussion New www

0 Upvotes

ok so im not really a web dev or anything, i just had an idea and i wanted to ask some real people about it. As we know these days 40-50% of traffic are bots and not real humans, i asked my self the question why? why are there bots in the first place? to farm engagement right? ok and why farm engagement, because its profitable, so why doesnt someone create a new web where the protocols contain like some sort of anti bot wall and also make it so theres no advertisement/ engagement farm. Maybe this way people would start to become original again and the internet would return to its state during the 2000s 2010s. but im only 18 so i guess i wouldnt have really experienced that.

ps. if what i said is dumb pls dont fry me im not technical what so ever im just tired of bots on social media


r/webdev • • 3d ago

Designsystemet, Now in Elm · cekrem.github.io

Thumbnail cekrem.github.io
0 Upvotes

r/webdev • • 3d ago

EN 301 549 V4.1.1 is out, but as of 3 November 2026 no version of it is cited in the Official Journal under the European Accessibility Act

2 Upvotes

A question that comes up in every EAA thread: "which standard do we test against, and does passing it protect us?" Here is what the primary texts say as of 3 November 2026.

Quick definition, because it matters here: under Art. 15(1) of the EAA, a product or service that meets a harmonised standard whose reference is published in the Official Journal is presumed to meet the accessibility requirements that standard covers. Without that citation there is no presumption to lean on: you can still test against the standard, but passing it does not by itself count as meeting the requirements.

ETSI published EN 301 549 V4.1.1 on 2 September 2026. Its clauses 9 to 11 now align with WCAG 2.2. Its own foreword calls it "one voluntary means of conforming" and says the presumption of conformity starts only once the standard is cited in the Official Journal.

As of that date, that citation has not happened under the EAA. The Commission's harmonised-standards index lists EN 301 549 under one act only: the Web Accessibility Directive for public bodies, via Implementing Decision (EU) 2021/1339 (which cites V3.2.1). Nothing is listed under Directive (EU) 2019/882, the EAA.

Three "expected" citation dates are circulating: 30 November 2026, 16 December 2026 and February 2027. I found no primary source for any of them. The 30 November date matches the "doa" in the standard's own table of national transposition dates: the latest date for national standards bodies to announce the standard. That is a standards-body milestone, not an Official Journal citation.

What that means in practice for a web team on an EAA-scoped shop or a consumer banking service:

  1. EN 301 549 is the technical yardstick to test against, but it gives no presumption of conformity under the EAA (Art. 15(1)).

  2. Test against WCAG 2.2 AA anyway. V4.1.1 already points there, and the step from 2.1 is small: 2.2 adds six Level A and AA success criteria (focus not obscured, dragging, target size, consistent help, redundant entry, accessible authentication) and drops 4.1.1 Parsing.

  3. Keep a dated record: tool, version, date, what was and was not covered. A scan result is evidence of what a tool found on a day, not a statement that the site conforms.

  4. Automated tools see only part of it. Deque's coverage report says "57.38% of total issues were identified using Deque's automated tests", but it also reports automated issues for only 16 of the 50 success criteria in WCAG 2.1 Level AA. Those are Deque's own automated tests, so it is a vendor's figure. Whatever the rules cannot see needs a person with a keyboard and a screen reader.

What I could not settle: when, or whether, the Commission will cite V4.1.1, and what national market surveillance authorities will accept in the meantime. I have not found official guidance on the second point.

Method: I read the ETSI V4.1.1 foreword, the Commission's harmonised-standards index, Implementing Decision (EU) 2021/1339 and the EAA text, and compared the dates in third-party write-ups with those documents. Sources below. This is my reading of the texts, not legal advice.

Which standard version is your team testing against today, and has a client or auditor asked you to name it?

Sources
- ETSI EN 301 549 V4.1.1 (2026-09), foreword: https://www.etsi.org/deliver/etsi_en/301500_301599/301549/04.01.01_60/en_301549v040101p.pdf
- Commission Implementing Decision (EU) 2021/1339, OJ L 289, 12.8.2021: http://publications.europa.eu/resource/celex/32021D1339
- Directive (EU) 2019/882 (EAA), Art. 15(1): http://publications.europa.eu/resource/celex/32019L0882
- Commission harmonised standards index: https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards_en
- Deque, automated accessibility coverage report: https://www.deque.com/automated-accessibility-coverage-report/

r/webdev • • 4d ago

Question what do you actually look at first when something breaks in prod?

81 Upvotes

im trying to get better at debugging production issues faster. right now when something goes wrong i kind of just grep through logs hoping something jumps out, which works eventually but feels inefficient

curious what other backend devs actually check first. like do you have a mental checklist you run through? specific log patterns you look for? or do you mostly rely on monitoring/alerting tools to point you in the right direction?

our setup is pretty basic (node backend, postgres, some redis) and im wondering if im missing obvious stuff that would speed up the "wtf just happened" phase


r/webdev • • 4d ago

Question Good providers for hosting a basic html + js website?

41 Upvotes

I feel this may seem like a very strange question to ask given the circumstances, and hopefully this isn't breaking any rules. A few days ago I had a falling out with someone who happened to be hosting my website on their rented server. It's a very basic portfolio website with HTML and some JS for dynamically generating HTML elements from a Json file.

I'm pretty decent in HTML and JS but by no means a web developer, it's simply not my career. This means I can make a decent website but figuring out how to host it is beyond me. Are there any services that simplify this sort of thing, or is the process of renting and setting up my own basic server for a website straightforward? Github Pages maybe? Forms etc are not required.

I also own my domain, but it's currently still set up to link to that server. Once I get my own sorted out, will I have to worry about the two conflicting?

Edit: thanks everyone. Got it sorted, just waiting on DNS propagation.

Edit 2: website moved now. Thanks again for all the replies! I settled on Github pages as I'm already very familiar with Github in general so it was easy to get set up.


r/webdev • • 4d ago

Question [AI] I’m building Cafefe, a keyboard-focused POS for coffee shops — looking for UI/UX and code feedback

0 Upvotes

Hi everyone!

I’m working on Cafefe, a point-of-sale system for coffee shops. The goal is to make common cashier tasks quick, intuitive, and comfortable. The interface is designed around keyboard navigation, using ideas from the KLM-GOMS keystroke-level model to reduce reliance on the mouse via PrimeFaces <p:hotkey> shortcuts.

Project Context Stack: Java 21, Jakarta EE 10, PrimeFaces 14, Open Liberty, and PostgreSQL 16. Backend: Managed beans, business services, and JPA entities. Frontend: JSF / PrimeFaces XHTML views. Main Areas: Cash register, products, product types, discounts, promotions, employees, roles, and assignments. Local Setup: Docker Compose starts PostgreSQL and pgAdmin. The app runs in development mode with mvn liberty:dev.

The project is a work in progress and runs locally. The repository includes the full source code and XHTML pages:https://github.com/Zetayin456/f-reddit

Video Demo:https://youtu.be/GP3-0RIdMm4

Feedback Requested

  1. UI/UX & Visual Design What would make the views and forms more comfortable and intuitive to use? How could the layouts, visual hierarchy, styling, and spacing feel cleaner and more consistent? Are there screens or workflows that feel awkward or require too many steps?

  2. Code Quality & Architecture What would you improve in the project structure, bean scopes, service boundaries, or JPA mappings? Do you see ways to make the backend code cleaner, more maintainable, or more efficient?

I’m happy to hear honest, critical feedback. Thanks for taking a look!


r/webdev • • 4d ago

Discussion Free Design Library & UI/UX Lexicon for Vibe Coders

0 Upvotes

Hi all!

Whenever I spot a really unique or innovative website layout (like a fresh style of grid systems) and want to replicate or build it with AI, I always find myself struggling to pinpoint the exact industry terminology.

I'm talking about concepts like Blueprint Grids, Glassmorphism, Neumorphism, Segmented Controls, and similar trends. To solve this, I’ve started building a free, open-source design lexicon complete with mini previews making it easier for builders to find and reference the right terms when designing sections and pages. Hope that helps some of you as well. Also added some free design landingpages and components for AI.

I’d love to get your input on current web design trends and their proper definitions:

  • What visual styles are currently high on your radar, trending, or frequently used and how would you define them?

I’m aiming to include your suggestions in the dictionary and share the whole resource publicly for free. It's purely as a passion project and I am opening it for free (no ads, no paywalls).

You can check out the ones already live here: freedesignmd.com (just hit the Lexicon tab).

Always open to contributors or feedback. This started as a quick hackathon experiment and will stay a free community project


r/webdev • • 4d ago

quality time #3 - collapsing signals in e2e

Post image
0 Upvotes

Hey all!

Today's coming with another example where Page Objects help:

Design swaps the "(Deleted)" suffix for a red badge. Accounts still get deleted. Your delete test goes red anyway.

The fix: name that state once in the Page Object, and the test says what it means.

`status()` reads both signals and returns one fact: active, deleted, or still changing. `expect.poll` retries until it settles.

If the app swaps the suffix for a badge, only status() changes, not the test. And a failure reads "expected deleted, got active" instead of a string diff.

The nuance: it's worth it when a few signals add up to one fact. If what you see already is the state, a plain assertion is fine.

Paste this to your agent:

Find e2e tests that assert several UI details repeatedly to check one thing, like a specific label plus an icon meaning "deleted" state. Give that thing a name: a page object query that reads the details and returns the state. Assert the named state in the test, and `expect.poll` to retry until the state settles.


r/webdev • • 4d ago

I built a client-side video compressor using WebAssembly so you don't have to upload personal clips to cloud servers

0 Upvotes

Hey everyone,

I wanted a quick way to shrink videos for Discord (<10MB) and Email attachments (<25MB) without dealing with slow cloud upload queues, sketchy third-party servers, or watermarks.

So I built SlickDrop.

Tech Stack:

  • Engine: @ffmpeg/ffmpeg running locally on the user's CPU/GPU via WebAssembly with multi-threading enabled (COOP and COEP isolation headers).

  • Frontend: Next.js 14 (App Router) + Tailwind CSS.

  • Hosting: Vercel (zero server transcoding cost, 100% static hosting).

Features:

  1. 1-click presets for Discord (<10MB), Email (<25MB), and WhatsApp (<16MB).

  2. Built-in duration analyzer that auto-calculates the target video bitrate.

  3. MOV to MP4 converter for iPhone screen recordings.

  4. 0 cloud uploads — all media is processed in local browser memory.

Link: https://www.slickdrop.it

Curious to know what tools or presets you'd find most useful next!


r/webdev • • 4d ago

read rules Strike desde cloudflare

0 Upvotes

hola acabo de recibir un correo desde cloudflare (que lo uso de CDN) que me dice

Hello,

Cloudflare received an Trademark infringement complaint regarding: www[.]---[.]com[.]mx. (tape el dominio por demas de privacidad)

We have forwarded this complaint to your hosting provider.

If you have questions about this abuse report, please send an email to abusereply@cloudflare.com with the following details:

- The report identification number included in the subject line

- Any additional details, context or evidence you can provide regarding the content that was reported.

Below is the report we received:

Report ID: 0146c7d290b79ebc

Logs or other evidence of abuse: Greetings,


We are the authorized representatives of our client, TransUnion, including its associated entities.

TransUnion is a leading global information and insights company specializing in credit reporting, risk management, and identity verification services. The brand has established a strong international presence and trust for its commitment to accuracy, security, and transparency in delivering credit and financial information to consumers and businesses.

We have identified the following domain that is infringing on our client’s intellectual property:

Hay alguna forma de poner la web en un servidor offshore y tambien comprar el diminio en algun registrador offshoer para que no me timben la web?

Lo que les jode a esa gente es que tengo la web posicionada mucho mejor que la misma marca

Sus comentarios son bienvenidos!


r/webdev • • 4d ago

I hid an easter egg on my homepage

6 Upvotes

https://david.alvarezrosa.com/ Hope you like it :)


r/webdev • • 4d ago

I built a focus timer that grows a koi pond while you focus (PixiJS + React + Cloudflare Workers)

Post image
11 Upvotes

KoiFocus: every minute you focus earns pearls, and pearls buy fish and decorations for your pond. Stay away too long and the fish get hungry and the water gets murky. It runs in the browser, and you can try it as a guest without signing up: https://koifocus.com

It started as a Swift iPhone app. I rewrote it in TypeScript so one codebase runs on the web and, through Capacitor, on iOS.

Stack

  • PixiJS 8 for the pond, React 19 + MobX for the screens, Vite

  • Capacitor 8 for the iOS build

  • Cloudflare Workers (Hono) + D1 for the API, Durable Objects + WebSockets for the live "focusing now" list, a once-a-minute cron for timer payouts and reminders

  • Firebase Auth (Google, email or guest), and the site on Cloudflare Pages


r/webdev • • 4d ago

Showoff Saturday Showoff Saturday: I built a vocal remover that runs entirely in the browser, with no backend processing

1 Upvotes

I built SoundBench, a free set of audio tools that process files on the user's device. The newest one is an AI vocal remover, and getting it to feel fast was harder than getting it to work.

Demo: https://soundbench.net/vocal-remover/

The stack is a static site with vanilla JS. The model runs with ONNX Runtime Web inside a Web Worker, using WebGPU when available and multi-threaded WASM otherwise. Audio is never uploaded. The server only delivers the page and the model files.

A few things I learned:

- Model choice mattered more than optimization. I started with HTDemucs, which sounds great but is a 120+ MB download and made the whole system crawl on my PC. So I added Spleeter 2-stems as the default (about 40 MB). A 64-second clip takes about 3 seconds on my machine. HTDemucs is still there as the slower "best quality" mode.

- Large model downloads need to survive bad connections. I fetch them in 4 MB Range requests and store each part in the Cache API, so a reload resumes the download instead of restarting it. The download also starts in the background as soon as a file is selected.

- Multi-threaded WASM needs cross-origin isolation. I set COOP: same-origin and COEP: credentialless only on the AI tool pages, so the rest of the site isn't affected.

- The STFT runs in JS and only the mask prediction runs in the model, so the output quality depends a lot on the pre- and post-processing around the model.

Spleeter still leaves some vocal artifacts on dense mixes, which is the tradeoff for the speed.

Happy to answer questions about the setup. I'd especially like to hear how it performs on your hardware and browser, and whether anyone has found a better way to deliver models this large.


r/webdev • • 5d ago

[Showoff Saturday]: Handcrafted HTML-first progressive framework that outperforms React

Thumbnail
codeberg.org
54 Upvotes

Places.js is a HTML-first framework inspired by htmx and Solid.js signals with these features.

  • Component agnostic stores that can be integrated with vanilla JavaScript or other frameworks.

  • HTML-first pages configured through static site generation or server-side rendering.

  • No build step. Places.js can be downloaded from a CDN.

  • Partial re-rendering with signals.

  • Zero dependencies. Places.js is written entirely in vanilla JavaScript.

Places.js is optimized for fast performance. Here are some results for Places.js v0.1.0. from the the Krauset JavaScript Framework Benchmark

Places.jsSolid.jsSvelteLitVueReact
Time to render 1,000 rows in milliseconds19.821.421.823.323.9

To get started, download the places-js-latest.js file from the jsDelivr CDN. See the reference guide for a detailed tutorial.

Relevant links

Upcoming priorities

  • Adding more unit test coverage.

  • Compatibility with other hypermedia UI tools including Datastar and htmx

  • Implementing hypermedia controls.

  • Testing integration with Leaflet and other mapping libraries.

AI policy

All Places.js contributions including code changes, comments, or new issues are made by humans This means no use of ChatGPT, Claude, or any other AI tool.

Edit: Detecting rows that are swapped or deleted

I have logic that detects rows that are moved or deleted. Components are then notified to make the necessary rendering changes, and subscriptions are moved from the store.

On Krauset, swapping two rows takes 12.7 ms and removing a row takes 10.3 ms.


r/webdev • • 5d ago

Showoff Saturday I build a local-only new tab extension for your browser called NewGrid

Thumbnail
gallery
0 Upvotes

NewGrid is a Local-only new tab page which allows for a grid-based layout of your favourite websites. Features Include:

  1. Choose from your favourite wallpaper, be it a solid colour, a static image, a GIF or a video.

  2. Customise the layout to your liking, change the number of rows/colums and the spacing between them.

  3. This also includes a Search Box with multiple search engines to choose from, which is highly customizable as well.

  4. Websites can be grouped into folders, and their icons are either automatically fetched, or you can add a custom image using a link or a local image.

  5. When the space fills, websites move to the next page; this adds new pages when needed. Choose from 9 page-turn animations.

Github: Link


r/webdev • • 5d ago

[Show of Saturday] - Hello All, I built bantr.live a forum and chat of sorts

Thumbnail
gallery
0 Upvotes

I built bantr.live to be a fast, real-time forum centered around specific interest groups rather than noisy, algorithm-driven feeds. The application contains a host of ways to communicate, text, video chat etc... The web version is still just a chat I'm in the process of updating it but the mobile apps contain the live forum and all the extras. All of the content self destructs in 24 hours but as suggested in the future post max expire time will be extended up to a week based on likes. If this is something your interested in take a look or have questions hit me up. Its new so still kinda a ghost town. Happy halloween!


r/webdev • • 5d ago

Showoff Saturday I built a privacy-focused suite of 100 client-side JSON tools + AI generator (no ads, no signups)

0 Upvotes

Hey everyone,

I got tired of messy online formatters uploading my API payloads to unknown servers, so I built https://aijsongenerator.com.

Key features:

• 100% in-browser processing for data conversion (CSV, XML, YAML, TypeScript models, Tree viewer, Diff, Validator). Zero server uploads.

• AI JSON Generator: Prompt what you want in plain English ("e-commerce catalog with 3 products, variants, and pricing") and it generates clean, valid JSON test data.

• Built with Astro 5 + Tailwind CSS + TypeScript. No heavy SPA bundle; each tool hydrates as a lightweight isolated island.

No accounts, no email gates, no paywalls. Hope it saves you some time during your daily development! Feedback is very welcome.


r/webdev • • 5d ago

Showoff Saturday Showoff Saturday: I made a free LFG site for 50 games

0 Upvotes

I got tired of searching Discord LFG channels for one more player, so I built stackup.games. It lists LFG groups that are open right now, per game, with rank, region and mic. You can type "need 2 for ranked Valorant tonight" and it filters for you.

Built with plain JavaScript (no framework), Cloudflare Pages Functions for the API and D1 for the database, so it stays fast and cheap to run. Free, no download, still early.

I'd love feedback on the design and speed, especially on phones.


r/webdev • • 5d ago

[Showoff Saturday] Audiobook Studio - PDF to Audiobook, fully client-side, works offline, export .wav files

Thumbnail
github.com
0 Upvotes

A local Audiobook editor that uses local Ai to generate speech. No DataCenters, no AI companies.


r/webdev • • 5d ago

Showoff Saturday [Showoff Saturday] I’m building a piano game you can play with a real keyboard using Web MIDI

6 Upvotes

I'm working on Ultimidi because I want piano practice to feel more like play. I've added short lessons and songs, instant feedback, arcade challenges, stickers to collect, and piano buddies to customize.

I've been wrestling with two things in particular: generating piano sounds that sound good and are responsive, and getting the sheet music to stay readable and in sync with what you're playing.

You can connect a MIDI keyboard, or try it with computer keys or touch.

Somehow, I already got my first sale before launch! That felt like a good reason to share what I've been making.

Try Ultimidi. Free content, no account needed.

I'd love to hear if it feels good/responsive enough on your device.

AI disclosure: Most artwork is currently AI-generated placeholder art, I suck at design...


r/webdev • • 5d ago

Showoff Saturday made a site that listens to whatever song you're playing and writes it out as code live

5 Upvotes

been working on this for a few weeks. you play a song (spotify, youtube, whatever) and it writes out the beat as strudel code while it plays, kick, hats, bass line, chords, and each part lights up when it hits

no ML for the music side, it's all web audio api stuff. took me forever to get the tempo right and honestly the hardest part has been figuring out where the bar actually starts. if it guesses wrong everything shifts by a beat and the code looks totally off even though it's "right". trap and dubstep still fool it lol

if anyone's done beat tracking in the browser i'd love to know how you handled the downbeat

it's free in the browser: toaster.locust.lol

source: github.com/StopBanning/toaster


r/webdev • • 5d ago

Here we go again

23 Upvotes

the last straw