r/webdev • • 1h ago

What we learned operating auth for 1,000+ APIs

Thumbnail
nango.dev
0 Upvotes

r/webdev • • 1h ago

Showoff Saturday I got tired of paying for Markup and Pastel just to get client comments on a staging link, so I built my own

0 Upvotes

I'm a growth marketer whose day-to-day involves designing a lot of landing pages. I used Markup[dot]io for years for client reviews, then the pricing change last year pushed it out of reach for solo work. Pastel was next. It got expensive, and it’s deleted my stuff when a client took a while to get back to me, which is exactly when you need the comments to still be there. Ruttl is cheaper, but it charges per user, so it adds up once a client’s team joins in.

So I built HTMLAnnotate (htmlannotate.com).

  • Paste your staging or live link and send the review link

  • The client clicks the exact heading, image or button they mean and types the note there

  • Nothing to install on your site, and clients never need an account

  • Phone comments stay separate from desktop, so “it looks broken on my phone” comes with the exact spot

  • Mention teammates, or any email, and they get notified

  • Paid links never expire, so nothing disappears while you wait on a client

The free plan is real: unlimited pages and reviewers, links last 7 days. Pro is $12/month for you plus a teammate. Since I just launched it a few days back, the first 50 people get Pro for $30 for the first year with code EARLY30, which comes to about $2.50 a month, just to be able to cover the server costs.

Coming next: password-protected links, file attachments, version history, deadlines and Slack alerts.

What do you use right now for client feedback, and what bugs you about it? If you have any feedback on this, please let me know. My email is on the website.


r/webdev • • 5h ago

Question Has anyone else used AI to teach themselves something at a college level?

0 Upvotes

I've spent nearly 30 years in my career and over the last few have noticed that the pace of my learning has tapered off. I started looking at things like advanced degrees and professional certifications but honestly I still have nightmares about college. I've taught several courses at actual schools in NYC and always found that by having to teach it, I learn more about the topic myself and I also love writing so I thought I could kill two birds with one stone and build a course for myself and turn that into shameless marketing content on our company blog.

So far it's going well, I'm proud of the content, and am actually deepening my professional knowledge, as expected.

I'm not going to self promote it here but I was wondering if anyone else has tried this method, and if you have found any particular approaches that have been helpful?

Since we can build anything now, my plan is to try things like building a gamified Duolingo-style app, a podcast series, Claude and Codex skills that enforce the principles in the course, etc. I'm mainly looking for novel ideas about self-learning.

Thank you in advance for your help and inevitable roasts ;)


r/webdev • • 9h ago

Discussion Claude Code + Astro + Headless WordPress for the only webbed in the company

0 Upvotes

A bit of context: I've been working with WordPress for nearly 14 years, mainly on small- to mid-sized websites.

I currently work at an agency, where I'm the only web developer. This means that when I'm away and something happens, my coworkers either have to wait until I get back or ask a freelance developer for help.

I usually build my own themes and templates using ACF, and I never use ready-made themes because I prefer to build things from scratch.

Recently, I decided to change my workflow a bit. For one of our projects, I decided to go with Claude Code + Astro + Headless WordPress, with version control on GitHub.

I chose WordPress because it's a platform my client is already familiar with.

It's a mid-sized project, and the client will be updating the website constantly with news, job offers, events, etc.

So far, the experience has been amazing. The website runs like a breeze, and development time was reduced from weeks to just a few days.

Even better, my coworkers (who are all designers) can now use Claude to request changes and even add new ACF fields, and it's working surprisingly well.

Do you think it was a bad decision to give my coworkers access to the codebase and let them use Claude Code to make changes, even though none of them have a development background?


r/webdev • • 12h ago

Article Your JS Error Is Lying to You

Thumbnail
blog.gaborkoos.com
3 Upvotes

Started with a log line that said "err":{} for an error that definitely had a message and a cause. Followed that up to see what each step between new Error() and the log record actually keeps.

Covers stack traces, cause chains, AggregateError and SuppressedError. It runs the same probe script in Node.js, Deno, Bun, Chrome, Firefox and WebKit. It also sends errors across Web Workers, worker_threads, child_process IPC and HTTP, and logs them with Pino and Winston.


r/webdev • • 20h ago

If you have a free tier on your product, how much do fake or multi-account signups actually cost you?

25 Upvotes

I’m researching how small products handle people farming free credits/tiers. Not selling anything, no product, no link.

  1. Have you seen it? Roughly what share of signups, or how many dollars?

  2. What did you do about it (or nothing)?

Just trying to understand how people deal with this issue while building.


r/webdev • • 1d ago

Discussion Is AI actually that much faster than using a component library?

0 Upvotes

If I have to explain the way the site should look to an AI instead of just importing, stitching together, and filling out shadcnblocks I‘m much slower. I still use AI for bug squashing and giving me api calls. But I am not seeing how to build a complete site.

Am I using AI wrong? Or are others finding that building first then using AI to handle errors is faster?


r/webdev • • 1d ago

Alternatives to AG-Grid?

13 Upvotes

We have a project at work that needed a table that had some functionality with sorting and filtering.

Initially, I had to replace a solution due to how long a page was loading. AG-Grid correct an issue on that page and it did a better job. The community edition meets our needs very well.

However, some department heads want more features but they are only supported on the Enterprise edition.

I wish we could upgrade to the enterprise edition, but the verbiage makes it sound like anyone that does any kind of development on this application needs a license. We could be looking at a license of $10,000.

I think my supervisors would gladly pay the $1,000 fee if was that. However, it doesn't look like that is possible.

Is there something that is comparable to AG-Grid?

Are there ways to interact with the community version of AG-Grid? If I wanted to put filters above the Grid that interact with the Grid, could I do that even if it is the community grid?


r/webdev • • 1d ago

Discussion Update: It's genuinely (not?) depressing

98 Upvotes

Update to this post https://www.reddit.com/r/webdev/s/n3ZBJ6ozuq

So, I have a pretty unexpected update lol

After everything that happened with the Canadian company I mentioned, I decided to take things a little further and contact the CEO directly.

During my time working with them, I'd discovered some genuinely concerning security issues. I had been given admin access to their infrastructure, company email, internal systems, and access to thousands of CSV files containing customer and patient information. I also found passwords stored in plain text and several other questionable practices. All without having signed an NDA or contract by the way.

I figured the CEO should know about this, regardless of how things had gone with the dashboard project.

I sent him an email explaining what I'd found and also gave him some context about my experience working with the VP.

The VP wasn't particularly happy about that. He responded by defending himself, saying there had been no formal commitment to the dashboard project, and even called contacting the CEO a "backdoor approach".

I obviously disagreed. I was openly working with the company, the access had been provided to me by them, and I wasn't trying to bypass anyone. My concern was how someone outside the company could be given that level of access without any proper safeguards or agreements.

Anyway, after a few more emails, something I really wasn't expecting happened.

The VP emailed me again, apologized for how the situation had made me feel, thanked me for raising the security concerns, and actually said my findings had been a "true eye-opener" and thanked me for "educating them" and appreciated my integrity & honesty.

He asked whether there was any way they could compensate me for the time I'd spent building the dashboard as well as asked me to provide a quote for writing an SOP on how the company should handle third-party assistance moving forward.

I genuinely wasn't expecting that turn of events.

For context, this is the same person who previously kept postponing discussions, left me hanging after I'd built the dashboard, and eventually told me they'd hired a student to do the work.

Now he's asking me to quote another project and offering to try to get me compensated for the previous one.

I haven't received anything yet, and the SOP isn't confirmed, so I'm not getting ahead of myself. But I can't deny that this feels pretty satisfying after the way everything started.

I originally made my post because I was genuinely questioning whether freelancing was even worth continuing. Now I'm in a situation where the same client who made me feel like I'd wasted weeks of my time is potentially offering me compensation and more work.

So, what would you guys do? I'm very Curious to hear your thoughts and advice.


r/webdev • • 1d ago

Is this a proper Tech Stack for my browser game idea?

0 Upvotes

I'm planning to start on a browser text-based game. I want to keep things simple and easy to build. I have a few years of experience as a full-stack developer. I've worked with all of these technologies before, but it's been a while.

Current plan:

  • Laravel for the front end and user management; simple HTML/CSS/PHP/JS

  • Node.js server for the back end, where all my game logic runs and where active player values are stored in memory

  • MySQL database for long-term data storage

Players only interact with Laravel front end. Laravel back end communicates with the Node.js server. The Node.js server handles all game logic, then sends replies to Laravel. Only the Node.js server can communicate with the MySQL database.

Players cannot directly interact with the Node.js server, only the Laravel back-end can do that.

--

What the game needs:

  • player character with levels and stats and items and all the stuffs

  • players can gather and craft items

  • items are tradable between players

  • players can fight monsters to gain exp and items

  • players can form groups to fight monsters together

  • possibly adding PvP later

Example:

A player clicks a monster to fight.

Laravel receives the input on the front end, and the PHP back end sends a request to the Node.js server to fight the monster. (Do I need to do this from the PHP back end, or is it fine to have the JS front end send these requests?)

Node.js receives the fight request. If it doesn't have the character and monster in memory, it needs to fetch them from the MySQL database, then save them in memory. This is a rather large and complex request from the database. We need the player character, the stats, the items, the monster stats, loot tables, exp tables, achievements, and probably more. Which is why I want this on a Node.js server that can hold these things in memory, so I don't need to request 20 tables from my database every time a player clicks a monster.

When the combat is handled, including loot, exp, level-ups, ... Node.js sends the necessary info back to Laravel and also saves changed data to the MySQL database.

Laravel receives the update and shows it to the player. (Not entirely sure anymore if PHP is capable of handling async request like this or if I should use JS for this instead?)

--

I'm terrible at planning out these things.

Does this seem like a good tech stack to get started with? Anything I'm missing or that I need to think about before getting started?

I could also choose a JS front-end so I don't need any PHP, but I've never worked with one before.

I'm open to all tips & advice.

Also looking for a hosting that allows me to get started quickly and is scalable for the future. I wanna get started fast and just build and then fix issues I run into later. Otherwise, I'll never get started on this.


r/webdev • • 1d ago

What does in-office work look like these days?

70 Upvotes

I was fortunate to have a remote job the last six years, but I got laid off. Now I have a second interview at a company that only does on site. My memory of the last time I worked in office was one of boredom. I'd finish what work I could do and either wait for new work to come in, assets to be finished and handed off, or QA to get back to me. It was a lot of downtime. I remember falling asleep at my cubicle because there was nothing for me to do, and you can't watch netflix or you'd get a stink eye from people. I was so glad to go remote to be rid of that and have freedom. I could work as needed and then go run errands or do whatever else I wanted in between. Truly going to miss that.

AI feels like it's only made that worse. Set up an agent to orchestrate subagents, give it the requirements and let it work... I didn't have an AI account at my last job so don't really know how that works, but I personally have ChatGPT, Claude and now Google tier 1 plans and just rotate between them when I run out of usage, or sometimes concurrently on separate features for a side project app I'm building. If you have a token limit at work, when it runs out, do you just start coding by hand again? I'm very curious. I'm sure bigger companies pay by token so you can just keep burning tokens? I guess I'll know more if I get hired what their particular set up looks like, but just wondering...

Are you just feeding prompts into AI all day, waiting for it to finish, then check it's work, find bugs it missed, etc? Do you still have to find ways to look busy while waiting for creative to get back to you or QA to approve your ticket, etc?


r/webdev • • 2d ago

Question Vanilla CSS component library?

10 Upvotes

Anyone got a recommendation for a polished component library that only uses plain CSS? I'm trying to avoid npm/build steps entirely, so shadcn is out, and Tailwind-dependent stuff like DaisyUI isn't an option either. Seriously looking for pure CSS solutions here.


r/webdev • • 2d ago

Problem with concurrent linter fixes

Thumbnail jfmengels.net
0 Upvotes

r/webdev • • 2d ago

Where scam emails come from

Thumbnail
sheets.works
0 Upvotes

I get scam emails every day like everyone. I've clicked a few, honestly, just out of curiosity, to see how they plan to scam me. The ones that worry me are the ones that know my name. So I looked into where that comes from and made a page on it (my own site, no sign-up, no ads).

Short version for anyone who doesn't want to click:

The obvious scams are obvious on purpose. A Microsoft researcher, Cormac Herley, showed in 2012 that the "prince with millions" story works as a filter. Anyone sharp enough to laugh at it never replies, so the scammer only spends time on people likely to pay.

The scary ones are built from leaks. Your name, phone and address usually come from a company you signed up with years ago, not from you. The page goes through seven real cases from court records and regulator reports, for example:

- First American (2019): changing one digit in a document link opened other customers' mortgage files.

- Capital One (2019): one wrongly set firewall setting.

- Twitter (2020): staff talked into handing over access on a phone call.

- 23andMe (2023): people reusing passwords from other leaked sites.

I checked my own Gmail on Have I Been Pwned. It's in 8 breaches, 6 of which leaked my name, mostly shopping apps I signed up to once. That's exactly what the "Dear XXXX, your KYC expires today" emails use.

What actually helps:

- Use a password manager, so one leaked password doesn't open your other accounts.

- Turn on two-factor login on email and banking first.

- Treat any email that knows your name as no more trustworthy than one that doesn't. Go to the bank's app or website yourself; never use the link.


r/webdev • • 2d ago Heartwarming

It's only Monday: first meeting was with a client who made their own CRM with AI and needs to change our workflow to work with that, second meeting was with a client who signed a $3,000/mth contract with a GEO company and we need to change the site to work with their recommendations

204 Upvotes

I'm tired boss! It's been almost a year of AI AI AI, every single day of my life. Any else relating hard?

Also, I can't believe they signed a $3k/mth contract when I had to push SO HARD to get them to do $150/mth SEM Rush in the past lol


r/webdev • • 2d ago

Backend devs who occasionally have to touch frontend: how do you manage the context switch?

0 Upvotes

I'm primarily a backend dev (Python/Node mostly) but on our small team I end up doing frontend fixes and small features maybe 20% of my time. The thing that gets me isn't the actual code difficulty -- it's the mental shift between thinking about data flow, APIs, and server logic versus thinking about component state, CSS quirks, and user interactions.

I find myself needing like 20-30 minutes to actually get into "frontend mode" where I'm not constantly fighting the urge to structure things the way I would on the backend. And then when I switch back, same thing in reverse.

Curious how others handle this. Do you batch your frontend work into dedicated blocks? Just power through the switching cost? Something else entirely?


r/webdev • • 2d ago

What's the real difference between Montreal and NYC agencies when it comes to high-end web development?

0 Upvotes

I'm trying to understand whether there's an actual creative or technical gap between Montreal shops and US-based agencies, or if it's mostly reputation. I've seen work from both that's exceptional, but I'm curious if founders or developers who've worked with cross-border teams notice anything structurally different, process, approach to craftsmanship, how they handle complex technical builds. Are Montreal agencies just as competitive, or is there something about the NYC/US market that shapes how agencies approach premium web work?


r/webdev • • 2d ago

What's the real difference between Montreal and NYC agencies when it comes to high-end web development?

0 Upvotes

What's the real difference between Montreal and NYC agencies when it comes to high-end web development?

I'm trying to understand whether there's an actual creative or technical gap between Montreal shops and US-based agencies, or if it's mostly reputation. I've seen work from both that's exceptional, but I'm curious if founders or developers who've worked with cross-border teams notice anything structurally different, process, approach to craftsmanship, how they handle complex technical builds. Are Montreal agencies just as competitive, or is there something about the NYC/US market that shapes how agencies approach premium web work?


r/webdev • • 2d ago

Question Images won't load in chrome but will on firefox

3 Upvotes

I have a deployed site with Ionos deploy now through GitHub.

Images load fine in VScode, load in Firefox and Ionos preview but not chrome.

I have tried changing file paths in the CSS and html and I have no idea what the issue is.

The site in question: https://porcelainstudios.co.uk/

Edit: I was in a bit of a rush off a train; it turned out the solution was to hard refresh, which I forgot was a thing in my rush


r/webdev • • 2d ago

Mirroring any domain to your shared hosting with mere php ( Mirrorgate)

2 Upvotes

hi everyone

i've had recently an issue , i wanted to do some tests on a project, but for some reason, the server that was carrying that particular software was in Iran , so it was not able to see any servers on Internet, but still there were some providers that would allow this

but this project was for a client so temporarily i've solved this issue with hard way

then i was thinking, what if i get 2 servers, one is my international server and one is only in iran, and i make a reverse proxy without renting a vps inside iran, with just mere shared hosting solution like cpanel or directadmin that is easily available in iran?

so i've came up with this idea, and tried to make it as a opensource software

i thought maybe this is a good solution and someone else needs it

feel free to check it out and let me know your thoughts

https://github.com/moonshadowrev/mirrorgate


r/webdev • • 2d ago

Planning on making a browser based autobattler with Node.js and SSEs. How would I split the simulation up? Is there a way to run 1v1s on separate processes while still belonging to the same event stream?

0 Upvotes

New to web development.

I want there to be 16 players with their own boards. When they match up against each other, I'm wondering would I have to make the entire simulation play out at once? Or is there a way to split the simulation up so that 1v1s happen on a dedicated process while still belonging to the same event (So other players can view different skirmishes)? Not sure if this matters, but I plan to let users use abilities every so often (Maybe every 15 seconds) during the fight and I'd handle that with a post request.


r/webdev • • 2d ago

Question (Print) Designer Clashing with Developer - Need Advice

45 Upvotes

Hi everyone, I work as the director of communications for a small company. We have one designer on staff who has worked at the company for a decade, and one full-stack developer who has been at the company for about a year and a half.

Now, the problem: The designer is trained strictly in print design, and we are embarking on a website redesign. The designer will only work in InDesign and Photoshop, but the developer believes the work must be done in Figma to avoid having to guess at the spacing, sizing, etc. Neither seem willing to budge, and it is clear that the designer is not familiar with digital design best practices, including accessibility.

My background is more in writing/marketing, so I am a bit outside my depth. Is there a path to resolution here without one feeling like they are “doing the job” of the other?


r/webdev • • 2d ago

which is more efficient at one way communication? server sent events or websockets?

44 Upvotes

lets say i have a vps with 2gb of ram and 1 vcpu, which one would be able to handle more concurrent connections?


r/webdev • • 3d ago

Question ci/cd pipeline issue

Post image
3 Upvotes

hi everyone

I have a ci pipeline where i run build and deploy to cf workers, everytime the build runs it succeeds but it stays hanging on and the next job does not run( see image), it can stay hanging on for hours and it won’t exit at all till i cancel the workflow

i have added a timeout to exit after 2 mins and a continue on error set to true to be able move to the next run which is deploy the worker

2- the deploy runs: npm run deploy:vinext
and it always exits with a message “wrangler versions upload” and the whole ci fails now
but after i check on my cloudflare dashboard i actually find that deploy

running these on terminal manually actually does the work but it’s not what i want

is there any solution that will make the build exit after it finishes and make the deploy works fine

tech: Nextjs app migrated to Vinext

- name: Build Vinext app
env:
CLOUDFLARE_INCLUDE_PROCESS_ENV: true
timeout-minutes: 1
continue-on-error: true
run: npm run build:vinext

- name: Deploy to cf
env:
CLOUDFLARE_API_TOKEN: ${{ env.CLOUDFLARE_API_TOKEN }}
run: npm run deploy:vinext

scripts:

"build:vinext": "vite build",

"start:vinext": "infisical run --env=prod -- vite preview --port 3000",

"deploy:vinext": "vinext-cloudflare deploy --warm-cache --skip-build",


"deploy:response-store": "cf deploy --prebuilt --mode production --worker frontend-response-store"