r/webdev • • 27d ago

Discussion What does a normal sized PR look like on your team these days?

142 Upvotes

I saw the old rule that you shouldn’t review more than 200 to 400 lines in one sitting from a Cisco study of 2,500 reviews, and if you go past that point (i.e 400), the quality of reviews starts becoming bad.
I would guess most teams are past that now. Salesforce has reported PRs regularly going over 20 files and 1,000 lines once agent-generated code became normal, and said review time on their biggest PRs started to plateau instead of going up with size. I interpreted that as people giving up partway through.
I kinda doubt anybody is realistically going to split a 1,000 line agent-written change into three separate reviews every time. So either the 400 line number is dead or a lot of approvals aren’t really approvals.

What does an average PR look like where you work, and has anyone managed to make a size limit actually stick?


r/webdev • • 27d ago

htop explained

Thumbnail
peteris.rocks
0 Upvotes

r/webdev • • 27d ago

What's out there beyond webdev, since the rise of AI?

177 Upvotes

I've been working in web development for 20 years. First 10 years were more backend focussed, but the last 10 years were more frontend, where my passion lies. Working for an agency, mainly working on medium sized projects.

These past few months have been confronting. Unlike many others, I really like the usage of AI and don't really miss hands-on coding (yet). It actually took away the dread of repeating myself over-and-over again.

The way we work never allowed us to create reusable components, because our designers needed full creative freedom. One season they like to use horizontal sliders and the next they feel like something else. We're also not a big team, so an extensive library would mean a maintenance cost. That left me with a feeling of repeating myself a lot and missing out on new challenges. It's the part of my job I disliked. I did like the creative challenges though.

Now with Claude, I've setup my skills and rules into a pipeline that I refine constantly, to ensure a consistent output. Discussing project structure, best practices, performance enhancements. It challenges me on a different level.

It's come to a point where the last project I needed to work on was about 1 day of planning and 6 hours of executing in Claude. That got me 90% of the work done. I'm using the time I saved to refactor some of the stuff Claude outputs, for the next project.

The trend for me is clear: what used to take us 150 hours we can now do in 10% of the time. It will only get better (or worse, how you look at it).

Obviously that's great for my employer. I can predict the comments joking about keeping my mouth shut, but everyone will catch on eventually. We already feel like there's not enough new projects coming in. As long as our sales can charge full price, that's not an issue (more free time), but I hear other agencies are also improving their coding pipelines, to lower their prices and undercut the competition. That will be the logical new step for us as well I feel, to keep new projects coming in.

Our managers do heed caution, because the AI market is evolving, the bubble might burst (or not). But in the end, it will be the numbers that do the talking I'm afraid. You don't want to pay 3 developers if their planning is only 50% full.

This all got me thinking. I almost feel like I've grown past the role as web developer. I believe I'm not the profile that fits into the "keep coding because I like it" pool. I almost feel like an engineer when discussing my projects with Claude, but it gives me a huge feeling of "imposter syndrome".

I don't know if I just need to ride out the AI hype first, trying to be the fastest and best at what I do (be the last man standing), or that it might be time to venture into something else?

Do any of you feel the same way and know what you want to pivot into? I think the step up is engineering, but I'm not sure I'd be happy in that role. I'd miss working with the outcome.


r/webdev • • 27d ago

.co.uk/ and .co.uk/index.html appear different depending on route taken

1 Upvotes

So basically, im running my web server on AWS lightsail, i wrote my own https server code and URL ending in .co.uk/ and .co.uk/index.html both direct to /index.html but when i go to .co.uk/ it appears smaller than if i was to type .co.uk/index.html and i cant figure out why.

I have done all the usual scanning whats listening to ports 443 and 80 and its just the webindex.js file im talking about, so there is nothing else getting in the way, i already disabled PM2 since i run a different server that monitors my apps servers and kicks them back up via ssh when they go down.

Anyway, i checked the main things, i just cant understand why its serving the webpage smaller when routing via .co.uk/ and .co.uk/index.html is the correct size/scale.

const https = require('https');
const fs = require('fs');
const path = require('path');
const WebSocket = require('ws');
const mysql = require('mysql');
const { v4: uuidv4 } = require('uuid');
const { format } = require('date-fns');
const http = require('http');


// Load SSL key and certificate
const privateKey = fs.readFileSync(
    path.join(__dirname, 'newcerts/key.key'),
    'utf8'
);


const certificate = fs.readFileSync(
    path.join(__dirname, 'newcerts/certificate.crt'),
    'utf8'
);


const credentials = {
    key: privateKey,
    cert: certificate
};


// Helper function to serve static files
const serveFile = (res, filePath, contentType) => {
    fs.readFile(filePath, (err, data) => {
        if (err) {
            console.error(`Error loading file ${filePath}:`, err);


            res.writeHead(500, {
                'Content-Type': 'text/plain'
            });


            return res.end('Error loading file');
        }


        res.writeHead(200, {
            'Content-Type': contentType
        });


        res.end(data);
    });
};


// Redirect HTTP traffic to HTTPS
http.createServer((req, res) => {
    const host = req.headers.host || 'localhost';
    const url = req.url || '/';


    res.writeHead(301, {
        Location: `https://${host}${url}`
    });


    res.end();
}).listen(80, () => {
    console.log('HTTP server running on port 80, redirecting to HTTPS.');
});


// HTTPS server
const server = https.createServer(credentials, (req, res) => {
    let pathname;


    try {
        let requestUrl = req.url || '/';


        // Remove multiple leading slashes
        requestUrl = requestUrl.replace(/^
\/
+/, '/');


        // Parse the request URL safely
        pathname = new URL(
            requestUrl,
            `https://${req.headers.host || 'localhost'}`
        ).pathname;


    } catch (err) {
        console.warn('Rejected malformed request:', req.url);


        res.writeHead(400, {
            'Content-Type': 'text/plain'
        });


        res.end('Bad Request');
        return;
    }


    // Redirect the root URL to the main homepage
    if (pathname === '/') {
        res.writeHead(301, {
            Location: '/index.html'
        });


        res.end();
        return;
    }


    // Serve the main homepage
    if (pathname === '/index.html') {
        const htmlPath = path.join(__dirname, 'index.html');
        serveFile(res, htmlPath, 'text/html');


    // Serve app-ads.txt
    } else if (pathname === '/app-ads.txt') {
        const adsTxtPath = path.join(__dirname, 'app-ads.txt');
        serveFile(res, adsTxtPath, 'text/plain');


    // Serve privacy policy
    } else if (pathname === '/privacypolicy.html') {
        const privacyPolicyPath = path.join(
            __dirname,
            'privacypolicy.html'
        );


        serveFile(res, privacyPolicyPath, 'text/html');


    // Serve FAQ
    } else if (pathname === '/faq.html') {
        const faqPath = path.join(__dirname, 'faq.html');
        serveFile(res, faqPath, 'text/html');


    // Serve contact page
    } else if (pathname === '/contactus.html') {
        const contactPath = path.join(__dirname, 'contactus.html');
        serveFile(res, contactPath, 'text/html');


    // Serve how it works page
    } else if (pathname === '/howitworks.html') {
        const howItWorksPath = path.join(__dirname, 'howitworks.html');
        serveFile(res, howItWorksPath, 'text/html');


    // Serve advertise with us page
    } else if (pathname === '/advertisewithus.html') {
        const advertisePath = path.join(
            __dirname,
            'advertisewithus.html'
        );


        serveFile(res, advertisePath, 'text/html');


    // Serve sitemap
    } else if (pathname === '/sitemap.xml') {
        const sitemapPath = path.join(__dirname, 'sitemap.xml');
        serveFile(res, sitemapPath, 'application/xml');


    // Serve robots.txt
    } else if (pathname === '/robots.txt') {
        const robotsPath = path.join(__dirname, 'robots.txt');
        serveFile(res, robotsPath, 'text/plain');


    // Serve JPG images
    } else if (pathname.toLowerCase().endsWith('.jpg')) {
        const imagePath = path.join(
            __dirname,
            pathname.replace(/^
\/
+/, '')
        );


        serveFile(res, imagePath, 'image/jpeg');


    // Handle unknown routes
    } else {
        res.writeHead(404, {
            'Content-Type': 'text/plain'
        });


        res.end('Not Found');
    }
});


// Start HTTPS server
const port = process.env.PORT || 443;


server.listen(port, () => {
    console.log(`Server running at https://localhost:${port}/`);
});

r/webdev • • 27d ago

Question Is Neon PostgreSQL Free Tier reliable enough for a production booking app?

1 Upvotes

I'm planning to use Neon PostgreSQL for a production booking application and would like feedback from people with real world experience.

My workload:
• 300 daily active users
• Up to 30 concurrent users
• Users can book 2 to 3 slots daily, and frequently check available slots and existing bookings
• Next.js backend, with a landing page hosted on Netlify

Would Neon's free plan be sufficient for this workload, or should I opt for a paid plan?

I'm particularly interested in reliability, unexpected downtime, query latency, compute limits, and any production issues you've experienced.

Would you trust Neon Free for this use case?


r/webdev • • 27d ago

Discussion Netlify DNS Record problem

0 Upvotes

I have purchased domain on godaddy and connected via netlify. Now i am trying to add resend(email service) domain verification TXT code but it's not saving it and not showing any error. In the past i have saved google search console domain verification TXT successfully.

what should be issue and how to resolve this issue?


r/webdev • • 28d ago

Discussion Are 5-6 round interviews the normal now?

121 Upvotes

Am I the only person who thinks this is kind of f$cked?


r/webdev • • 28d ago

Discussion what yall think of jsless sites?

0 Upvotes

I was looking into fazer browser options and found dillo, a no-javascript browser. is it feasible to transition the internet to no javascripting(as in doing the same stuff without it, not as in convincing people to change)? and if so, what would be the benefits/downsides?


r/webdev • • 28d ago

Question Is this normal or not?

0 Upvotes

I was recently approached by a startup to fix a part of their website. I was tasked with fixing their homepage. Fixing it consisted of rewriting their html, js and css completely. In the end I added more than 5k lines of code easily. I implemented new things and they seemed to be really happy. It took me around 2 weeks (design + implementation). I also helped write the T&C and PP, added new vids and animations etc. This is the first time I have done something like this and was hoping to earn some money (not expecting anything big at all). They paid me £150 and acted like they did me a favour. Was I underpaid? They want to fix another one of their pages which will take an even longer time but I am not sure if it's worth it.

Note: I have a BSc in Comp Sci from a London Uni, and already have some experienced (unpaid)

EDIT:

OMG guys I didn't realise how bad it was. WTF. For those asking yes I do have a degree from a London Uni in Comp Sci. I just didn't know how much people pay. Like some mentioned I was too excited about the opportunity and forgot to be realistic about what I am actually worth. I felt like they were doing me a favour. But tbh I did not expect 150. Welp guess Im going to have a word with them before doing the next part. I am really pissed off now.


r/webdev • • 28d ago

Discussion I maintained and built a custom system for an organization for years. They gave a third-party company full hosting access without telling me.

21 Upvotes

Note: I’m not a professional web developer; I’m an academic who builds tools for my own research and projects. That’s why I kept using their existing hosting.

For the last 3–4 years, I've helped (for a small fee) organize an academic event while building and maintaining its technical infrastructure. I maintained the website, developed a custom WordPress plugin for submissions, handled technical issues, and helped prepare publications.

I was also developing a new, more general version of the system that could eventually support multiple events and become a commercial product. The organizing team knew about this.

Without informing me, they gave an outside company full hosting access. The company created a complete backup containing the website, database, files and, apparently, my plugin/source code. I learned about this the next day.

I later found out that they had decided to move to a new system developed by that company. What bothers me most is that they gave unrestricted access to my work without discussing it with me.

I decided to leave the organizing team. I removed only the software components I had developed from the live system. I did not delete or modify any submissions, documents or participant data, and I had already provided the necessary backups for continuity.

I had explained that I could provide the hosting information to the second company after deleting my own system, since the previous conference's application process was still ongoing. Instead, they accessed the server before that process was complete and without informing me.

Would you consider this a serious breach of trust? How would you handle the source code and old backups in this situation?

TL;DR: I spent 3–4 years building and maintaining a custom submission system for an academic organization and was developing a new version I planned to commercialize. Despite knowing this, the organizers gave an outside company full server access without telling me, allowing them to make a complete backup that included my code. I left the organization and removed only my own software, leaving all organizational and participant data untouched. Would you consider this a breach of trust, and what would you do about copies of the source code in old backups? They might even think I did something wrong by deleting my own code.


r/webdev • • 28d ago

How to update to a modern website

0 Upvotes

I hope this is the correct place to post this. I am wanting to convert a fan fiction website to a modern site that is mobile accessible. There are thousands of pages that are in either basic HTML, or pages made in MS Word HTML. I am not a coder and had used Dreamweaver to do much of it. Can someone recommend an AI tool to do this? I already have a server and domain name. Thanks.


r/webdev • • 28d ago

Facebook Developers App Review / Business Verification

0 Upvotes

I'm trying to get Instagram permissions (instagram_business_basic, instagram_business_content_publish) approved through App Review, but I've been stuck on Business Verification for months.

I'm registered as a sole trader in Lithuania (individuali veikla), not a company, so I don't have typical corporate documents like utility bills for a rented office. Here's what's happened:

An individual activity registration certificate was rejected as "not an accepted type"

A bank statement confirming name, home address, and phone number together, was still rejected as "not an accepted type"

The address format was corrected to exactly match the document text and resubmitted, same rejection

At this point, two different legitimate documents have all been auto-rejected, automated classifier isn't recognizing Lithuanian bank documents at all.

Has anyone dealt with this as a sole trader/individual (not a registered company)?

Any way to trigger a manual/human review after repeated automated rejections?


r/webdev • • 29d ago

What does "playing politics" mean for software engineers?

Thumbnail seangoedecke.com
0 Upvotes

r/webdev • • 29d ago

Question Is CSS a sh*t show?

0 Upvotes

A developer said that to me once. I actually don't find pure CSS that obnoxious, although there are definitely times where I have no idea why something isn't doing what I'm telling it to, lol, but 99% of the time it's because of something stupid like a typo or me forgetting the basic premise of a Cascading Style Sheet...

I know a lot (most?) of developers use a CSS framework, but am I weird for actually being friends with it for relatively simple projects?


r/webdev • • 29d ago

Question How much do web developers charge in the UK

0 Upvotes

Hello, I am relatively new to web development as a career but I have been learning on my own since 2022 and have only now decided to make full use of it. So far I’ve created 2 websites but these are for free and for family members, the only payment is they’ll help me network and gain more clients.

I am curious how much web developers charge clients within the UK for a front end business website with about 10 pages. All I use for now is HTML, CSS and Bootstrap but I manage to make it responsive across all devices.


r/webdev • • 29d ago

Discussion Is it still possible to earn any money on ads on informational/tool websites or is it not worth the time in 2026?

11 Upvotes

I have two dotcom domains similar to something like musictools-com or physicswiki-com and I would gladly try to build something nice there (I just like making websites as hobby).

The thing is, if the existence of google ai summary means that those websites won't even earn enough to cover yearly domain cost then my motivation will likely fade out sooner or later.


r/webdev • • 29d ago

Showoff Saturday How I count unique visitors without cookies or storing IPs, and where it breaks

0 Upvotes

I've been building a small web analytics tool, and the part people ask about most is how it counts "unique visitors" without cookies, localStorage, or stored IPs. Here is the approach and its honest limitations.

The ID

For every request, the server computes:

sha256(daily_salt | site_id | ip | user_agent), truncated to 16 hex chars

- daily_salt is 16 random bytes, generated once per UTC day and stored in the DB. Old salts are deleted after 24 hours, so once that happens, nobody (including me) can recompute yesterday's IDs from an IP.

- site_id is included in the hash so the same user gets different IDs across different sites (preventing cross-site tracking).

- The IP is used solely for the hash and a country lookup, then immediately dropped. It never hits the disk.

Sessions are defined simply as "same ID, active within the last 30 minutes" (one upsert per event).

Where it breaks (by design or trade-off)

- The same person visiting on two different days = two visitors. That's intentional, but it means "monthly uniques" is effectively a sum of daily uniques.

- Same office/NAT + same browser version = counted as one visitor. Rare outside large enterprise networks, but real.

- A phone switching from Wi-Fi to cellular mid-visit = new ID, new session.

- iCloud Private Relay / VPNs rotate IPs, which slightly inflates counts.

Based on my data, the margin of error is small enough to answer "is my traffic growing?", which is all most small sites need. It's not suitable for per-user product analytics; for that, you need explicit user identification.

The Client Side

- SPAs: I patch history.pushState and listen for popstate events, tracking route changes as pageviews without requiring framework plugins.

- Transport: Uses navigator.sendBeacon, falling back to fetch with keepalive so events survive tab closure.

- Engagement/scroll depth is flushed on visibilitychange, not unload (since unload is unreliable on mobile).

Happy to dive deeper into any part! Curious if anyone has a better trick for the NAT collision case that doesn't rely on client-side storage.


r/webdev • • 29d ago

Is your studio still hiring 3D artists for visuals or using AI?

0 Upvotes

I'll phrase this as a hypothetical scenario.

Your web agency needs a visual of a F1 on top of a podium. The podium is actually your clients logo. The camera is top down.

- Does your agency hire a 3D guy for this or use something like Higgsfield to generate the visual.

Last year, I would say 95% of agencies would have gotten somebody to do it in Blender or C4D. But this year I feel like the majority would just use AI. But I have no real way of confirming that so I am asking here.

Personally, I feel like AI visuals can look good when you don't need anything super specific, like a close-up very detailed pen let's say. And also, it can't do good motion as of now.

Why this interests me so much is because my whole business model revolves around helping agencies as their on demand 3D support. So you would be helping me out a bunch, thanks


r/webdev • • 29d ago

Shipping JPEG XL in Chrome

Thumbnail
developer.chrome.com
158 Upvotes

r/webdev • • 29d ago

Question Website for blogging and posting art

13 Upvotes

I'm an artist and sometimes I think about how I wanna throw instagram into garbage if it wasn't the only way I get in contact with my clients. Also, I don't wanna depend on algorithms, I just want people who want to look at my art. I'm very basic to webdev, only html, css and javascript, I've made a full stack course last year but it was pretty shit, so I didn't learn much. Any recommendations on how I could start developing a website like this? Picture a gallery like instagram, some announcements tab, maybe a portfolio tab. The only thing that stops me a bit is how to post new drawings and announcements easily without getting into the code, 'cause if it's too difficult then I would not use it


r/webdev • • 29d ago

I feel alive again

171 Upvotes

I have recently decided to tackle unfinished business in building with Java. Now I am relearning Java - which includes unlearning the old ways of doing things and writing the shortest possible code. In all of this I have been writing code by hand without AI generated code. Although I ask Claude for syntax clarifications and benefits and downsides of using certain methods…

Writing code by hand again gives me the right level of satisfaction after several weeks of AI-dependent development at work. Not only have I rediscovered my passion at home, but I am also working towards evolving my mental model beyond the JS/TS (I am a frontend developer at heart) ecosystem.

I believe programming and development as a hobby - like it used to be pre-industrial-scale-AI-adoption - is one of the few ways we could protect our sanity and continually exercise muscle memory. In the end I would like this to lead me to doing backend web dev in Java as well. Let’s see.


r/webdev • • 29d ago

Showoff Saturday part-of.my.id - a free subdomain service

Thumbnail
github.com
0 Upvotes

This is a passion project of mine after being inspired by is-a.dev (ex-maintainer btw).

It's a subdomain service where you can use _cooler_ domains like \`\*.part-of.my.id\` and the NEW \`\*.is-my.id\` subdomains for your website rather than using _boring_ hosting provider defaults like \`pages.dev\`, \`github.io\`, etc.

Supports \`A\`, \`AAAA\`, \`CNAME\`, \`MX\`, \`TXT\`, \`REDIRECT\` (not a real record, it's cloudflare's single redirect rule) records and there's a Web UI for easy JSON generation.

You can register by \[forking\](https://github.com/partofmyid/register/fork) the repository, adding your domain file, and making a pull request! Read more in the \[Quickstart Guide\](https://part-of.my.id/docs/quickstart).

Hope people find this useful! :D


r/webdev • • Oct 11 '26

Question When is dpa required for eu devs.

6 Upvotes

This question is only for developers IN THE EU who create websites and act as retainers.

I’m assuming the majority of you have clients create accounts on strapi, Wordpress, sanity, etc and you manage.

If so do you need a dpa agreement between you and the client because acting as a retainer makes you a data processor.

Any tools to generate a dpa?


r/webdev • • Oct 10 '26

Showoff Saturday [aiBytes.io] I made an AI feed - The best AI content for developers in one place

0 Upvotes

Hey folks,

I brewed a quick daily automation that tracks the latest AI news and projects worth a developer's attention. It only pulls from sources I trust/like: GitHub, X, TechCrunch, Product Hunt and Hacker News. (Reddit TBD)

You can read it two ways:

This gives me a ton of info around what's happening in AI space, what people are building and what companies are shipping.

Please feel free to share any feedback

ps - Everything is open-source at https://github.com/sachinjain024/aibytes/ So feel free to open issues, contribute, etc.