/r/webdev

Photograph via //r/webdev

A community dedicated to all things web development: both front-end and back-end. For more design-related questions, try /r/web_design.

  • Beginner question? Try the FAQ first! or the WebDev Resources Post then post in the Beginner Questions thread
  • Help fill out the wiki
  • Posting Guidelines

    1. No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.

    2. Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.

    3. Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.

    4. We do not allow any commercial promotion or solicitation. Violations can result in a ban.

    5. Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.

    6. If you are asking for assistance on a problem, you are required to provide

    • Context of the problem
    • Research you have completed prior to requesting assistance
    • Problem you are attempting to solve with high specificity
  • General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.

  • Questions in violation of this rule will be removed or locked.

    Related Subreddits

    Discords

    /r/webdev

    2,881,780 Subscribers

    1

    I want to make a personal blog for fun, where do I start

    I'm thinking about making a personal blog just for fun and I don't know where to start. I'm not trying to make anything complicated or serious, it's just for me to mess around and share with friends. I have made a blog before in high school using HTML but don't remember how we got the domains or anything else. I just need direction on what to look for and do.

    I'm using this website as a reference to what I want my blog to look like: https://oklama.com/

    Appreciate any help :)

    1 Comment
    2025/02/02
    04:53 UTC

    5

    I built a tool to instantly copy the perfect TailwindCSS color!

    3 Comments
    2025/02/02
    04:31 UTC

    1

    I recreated parts of Windows Media Player 11 and 12's UI in SVGs, and built a simple HTML/CSS/JS player element to use them

    Windows Media Player 11 introduced a sleek glassy design with a great dark theme. Microsoft eventually moved on from the dark theme, and -- with Groove Music -- from glassy designs altogether... but I didn't. For a while now, I've wanted to recreate the glassy Windows Media Player design in SVG and, possibly, as a functional HTML/CSS/JS video player. A few days ago, I finished the project.

    I started prototyping some stuff for this back in March, tinkering every so often. Early on, I figured out how to extract the original raster assets from WMP (or at least, the version I have installed), but my time was occupied with other work. I started working on the project much more over the last couple months, building an image comparison slider so I could compare my SVGs to the original graphics as I edited them. (To give some idea of what I was aiming for parity with, the HD rasters for the Stop/Previous/Play/Next button group^[1] are 364x102px, which is sufficient for desktop but probably not for mobile.)

    The SVGs were all coded by hand. The vector graphics are used as spritesheets in an HTML/CSS-based layout, to allow for features like programmatically showing, hiding, and rearranging the player controls. Unfortunately, this leads to sub-pixel rounding issues in web browsers, so depending on your browser, platform, and zoom level, you may see visible seams in some places. A pure-SVG design would probably avoid those issues entirely, at the cost of the ability to configure the player controls beyond maybe a few hardcoded presets.

    The player is done in vanilla JavaScript with no build system. Since my two primary goals were the graphics and the rearrangeable UI, I didn't really focus on perfecting the JavaScript. There's definitely room for improvement, but the whole thing seems to function well enough. It was definitely fun to build.


    ^[1] In "Library" view, that is. The "Now Playing" view shows the player controls at 92% scale (but with the icons' label glyphs still at 100% scale) and the sizes of those rasters reflect that.

    0 Comments
    2025/02/02
    04:19 UTC

    2

    Anyone Have Experience Getting Advanced Permissions for Meta's WhatsApp API?

    Hey everyone,

    I'm trying to get advanced access to the WhatsApp API beyond the test number Meta provides, but I’ve hit a roadblock. My startup isn’t incorporated yet, and they’re asking for a bunch of documents that I don’t have.

    Has anyone successfully navigated this process? I’d be willing to pay for guidance or help in getting this approved. Any insights would be greatly appreciated!

    Thanks in advance! 🙌

    0 Comments
    2025/02/02
    03:48 UTC

    1

    Nodemailer, Oauth, and Redirect URI

    So I'm kind of confused on what the redirect URI is or what it does, despite reading about it a million times.

    I have nodemailer working in development. And for the deployment, it's just a contact us! form on a website, so I really don't need to publish the app, I can just keep it in test mode and use a test user since a)not a massive amount of traffic and b)users aren't accessing the API (gmail API).

    So for testing, we are told to use https://developers.google.com/oauthplayground as the redirect URI. Should I just keep that as the redirect URI for deployment?

    I kind of read stuff that I should have a router for oauth2/callback and such, I just don't understand why. Does it go to api.example.com, or example.com?

    Thanks. Nodemailer was so much simpler with app passwords a few months ago so hard to find answers. A lot of tutorials out there aren't great because they just keep things in test settings anyways, don't really answer questions, etc.

    I imagine I'll put in a verification request to google to set it to publish at some point too, just to keep things professional.

    2 Comments
    2025/02/02
    02:48 UTC

    1

    LinuxReport.net, a focused and very fast news site.

    Hi;

    Everyone says Python is slow, so I wanted to build a Flask app to learn it better and figure out how to build a high-performance, customizable, mobile-friendly news aggregator, a bit like https://drudgereport.com for the Linux community. I also decided to make one for Covid, and AI.

    With caching, it typically executes 15 lines of my Python, it's basically seems instantaneous, so that the $5/month Linode VPS could (almost) handle the front page of Reddit.

    https://preview.redd.it/baymkjs5zmge1.png?width=1220&format=png&auto=webp&s=a0bfa5a9464df04572a1321854f9547865da50bb

    You can find all the links and code from https://linuxreport.net. ChatGPT helped me with pagination to make the websites more of a rabbit hole of interesting things to learn.

    It of course has dark mode, you can also change the order, remove the underlines, or use your own feeds, but I'm more focused on having the best default choices for average users, so if you know of better links for any of the sites, or other ways to improve, let me know!

    1 Comment
    2025/02/02
    00:51 UTC

    2

    I am not sure why I am creating this anymore but I've been doing it for a few months now.

    https://preview.redd.it/4bvqsmipgmge1.png?width=1264&format=png&auto=webp&s=80a39434be78be2e9e5bf7ce720183be48ecb650

    The Project: Script Bound

    Originally, when I started this project, I wanted to create a framework for generating small, frontend-loaded widgets. I had some initial notes on what I wanted to achieve—some of which you can see in the README. My main goal was to make it simple to create forms and calculators—nothing too fancy.

    However, as I worked through the functionality, most of my original plans went out the window.

    I've been on the fence about sharing this, as it's still in an incredibly early (alpha) state. But I'm curious to hear what other developers think about some of the design choices I've made so far:

    • Attribute values in HTML can be JSON (e.g., settings={"property":true}).
    • Attribute values can contain code—not just as a string but as actual code that doesn’t need to be escaped (e.g., if=(myCondition)).
    • Event-handling code is placed inside a <script> block under a component, with the event it listens to as an attribute.
    • Stricter attribute handling—instead of allowing arbitrary attributes as parameters, data is passed through the bind attribute, and settings/arguments are passed through the settings attribute. Exceptions include id, class, and control attributes like if and repeat.
    • Namespaced/categorized components—I took a cue from the way HTML handles input types (e.g., <input type="checkbox"> or <input type="text">). I applied this approach to other constructs like lists and containers. This is optional, but I think it improves readability.
    • Components can be marked as repeatable in their definitions—if a component is always expected to loop over an array, it can bind to the array, and the framework will handle the iteration internally. No need to have the layout markup say things like repeat or <foreach items as item>

    Additional Notes

    The scripting language used in this project is another one of my creations. It’s a simple language with fewer features, but I wanted to reduce complexity. By starting with a simpler scripting language, I aim to eventually infer change detection based on how developers write their code.

    If I came across this framework today, I’m pretty sure I wouldn’t use it myself—mainly because many of the concepts don’t transfer easily to other frameworks. But in a way, it has become an inspiration for me.

    It makes me wonder: If I were designing the foundational web technologies in an alternate universe, what would they look like?

    0 Comments
    2025/02/02
    00:38 UTC

    0

    My Project got a patch update thanks to the feedback i got!

    My project Oracle Viewer had received some feedback that i was able to immediately implement. the changes are as follows:

    - we accept URLs and file uploads if you are using any of our tools.
    - Text checker now has more increased word limit and more language support.

    like before, please check it out and i hope you everybody can use this if the need arises.

    0 Comments
    2025/02/01
    23:39 UTC

    74

    Never thought I'll say it but I got a Windows phone user today

    3 Comments
    2025/02/01
    23:05 UTC

    0

    Why No. 1 result from Google when you search for "charts reactjs" has almost empty documentation?

    4 Comments
    2025/02/01
    23:02 UTC

    1

    Frutiger Aero portfolio template for Github pages?

    Looking to make a portfolio following the Frutiger Aero design language. Something that's reminiscent of older websites.

    I'm not a webdev, so making my own is out of the question.

    1 Comment
    2025/02/01
    22:21 UTC

    1

    Is this just a random bot scan, or is my API being targeted?

    Hey everyone,

    I've been getting some suspicious requests in my API logs, and I’m wondering if this is just a typical bot scan or if my API is being specifically targeted. Here’s a snippet of the logs:

    https://preview.redd.it/oig0emn4nlge1.png?width=869&format=png&auto=webp&s=04e20810f8d762790f7cb93287daf6980f75b358

    (and many more similar requests from different IPs).

    From what I can tell, these look like automated scans trying to check for sensitive files (SSH keys, database configs, .git directories, etc.). However, what concerns me is:

    • My API does not have SEO or any public exposure.
    • The only way to learn about my API domain is through my client app (which is not widely known).
    • These requests got a 403 Forbidden response, meaning they didn’t get through, but I still want to know if I should be concerned.

    So, is this just a random bot scanning the internet, or does it look more like someone specifically probing my API for vulnerabilities? Should I take any additional security measures?

    4 Comments
    2025/02/01
    21:59 UTC

    8

    I made a webapp to keep track of some code implementations i did and i did not want to forgot

    Hi, i made https://code-chunks.app/, a simple webapp to save code snippets i make once, i will find useful in the future and i don't wnat to forgot (often, is code i make on some customer's repo which is not business logic or NDA protected) and i just want to remember how the hell did i made that thing if i need.

    You can search by title, context description, and code content and filter by language

    https://preview.redd.it/rh2uomueelge1.png?width=2256&format=png&auto=webp&s=7bed9c26aaceb3cec940b515a338e30fcd1edb32

    View, create, edit and save your chunks

    https://preview.redd.it/aoob08srelge1.png?width=2256&format=png&auto=webp&s=df8051468051b4f8024effd4219c73b5b6039eae

    Customize your settings

    https://preview.redd.it/acduj7qvelge1.png?width=2256&format=png&auto=webp&s=2259a61fbbb2c594f563341df1d89c4b8821d33c

    The tool is entirely free and available with github auth.
    The data is completely owned by the user. I do NOT handle any AI training on this data, nor i have the intention to do so in the future

    4 Comments
    2025/02/01
    21:09 UTC

    1

    Done with tutorials, need to start practicing solving coding challenges.

    Hi everyone! I'm stuck in tutorial hell. I think it's time I start trying to solve JavaScript/React pronlems. Are there any free websites which provide good coding challenges or projects from beginner to advanced levels? Any help would be appreciated.

    4 Comments
    2025/02/01
    21:07 UTC

    6

    [Showoff Saturday] Made in Canada products directory

    Everyone loves to buy local, but it's hard to know which products are truly local—especially in Canada, where many items come from the US and Mexico. That's why I created this Made in Canada directory to help fellow Canadians.

    It's built with Next.js, shadcn/ui, Tailwind CSS, Supabase, Vercel AI SDK, and AI Agents!

    Live site: fyiCanada.ca

    I'm looking for overall feedback and suggestions for data and UI.

    4 Comments
    2025/02/01
    20:53 UTC

    1

    [Showoff Saturday] wanted to share a unique design we made for a surf lessons business in California. HTML and css with 11ty static site generator.

    Site:

    https://learntosurfhb.com

    This one was a little challenging because there wasn’t a lot of great surf site inspirations to pull from. But think we did a pretty good job with the vibe.

    3 Comments
    2025/02/01
    20:48 UTC

    2

    Looking to get into web development as a career

    I’m learning to code with CS50 and plan to take CS50w once I am finished. I also have a degree (in maths). I currently work in an unrelated field. I am aware that these things on their own will likely not be enough to land a job, but my questions are:

    1. Will these courses be enough to build a robust portfolio?
    2. Will these courses be able to land me a job when paired with a robust portfolio?
    3. What are the timescales involved?

    Thanks

    2 Comments
    2025/02/01
    20:08 UTC

    1

    What do you use to edit videos?

    I have a task, in automatic mode, in javascript to process a large number of videos, I need to crop them and adjust them to a certain resolution, put a small plate with rounded edges on top and add text on top, then just save it and automate it to edit the order 150 videos

    Has anyone encountered something like this, what did you use?

    3 Comments
    2025/02/01
    19:51 UTC

    3

    Anonymous Webhosting?

    Please forgive me if this isn’t the place to ask this.

    I’d like to build a website that is just simple text based information. I’d like it be anonymous in the sense that my employer could not trace it back to me or my fellow coworkers.

    Is this possible?

    If so, please help me with the steps needed to do this.

    Thanks in advance!

    13 Comments
    2025/02/01
    19:50 UTC

    2

    Side Project: A Base Template for Your Next Startup

    Hey,
    Recently, I've been developing a side project implementing Clean Architecture and using building blocks from Domain-Driven Design. I have now added an authorization and authentication layer using OAuth2 and Keycloak. All details are described in Chapter 5.
    Soon, I will add two client applications—one built in Flutter and the other in Angular—which will utilize the authentication layer to log in and refresh tokens.

    The goal is to provide a complex, production-ready solution to anyone who wants to start their own project without implementing everything from the ground up.

    https://github.com/mikolaj-jankowski/Clean-Architecture-And-Domain-Driven-Design-Solution-Template

    0 Comments
    2025/02/01
    19:28 UTC

    2

    How do you handle large data entry?

    What is the best way to handle large scale text data entry?

    The task is to add 100s of legal texts that are themselves fairly long docs (100s of pages) into a template typescript format, so that chapters, lists etc are all entered into the code format?

    What was historical way of doing this, and what is the current best approach here post AI boom.

    Thanks

    2 Comments
    2025/02/01
    19:14 UTC

    25

    I built Canine.sh to help you save money hosting apps

    I've been building https://canine.sh for the past year, based on some learnings I've had in the past building startups where we quickly outgrew the single VPS type deployments, moved onto managed platforms like Heroku and Render, and watched our costs explode, with an annoying amount of vendor lockin.

    It's totally free to use as long as you bring your own infrastructure!

    It basically tries to make Kubernetes (which you can now get fully managed for $12 / month on linode), as easy to use as Heroku. It has a Github integration, SSL auto-provisioning, team accounts, etc. You just have to bring a generic Kubernetes cluster, that almost every infrastructure provider supports very cheaply these days (cheapest I've found is $4 for 2GB of memory on Hetzner)

    This lets you take advantage of a ton of things that Kubernetes does really well, like automatic healthchecks, zero downtime deployments, auto scaling, etc, while also making it easy to use for solo developers or small teams.

    The additional benefit of Kubernetes is that it's also possible to host a bunch of other stuff in your cluster via Helm charts, that you’d normally have to pay for like:

    • Sentry
    • Wordpress
    • Metabase
    • Dagster
    • Airflow
    • MongoDB
    • Redis
    • PostgreSQL
    • … And basically every single open source tool under the sun

    I've been hacking around on random projects like Reframe and Whiteboarder for myself, and deploying it with Canine and been really happy with it so I figured it was worth a shot sharing it.

    I’ve had a hard time communicating the value of this relative to other stuff out there like Coolify, Dokku, etc, to others in the past. The main value add I think is the fact that it tries to take advantage of the huge amount of effort that is put into Kubernetes.

    Would love feedback, roasts, suggestions!

    Source code: https://github.com/czhu12/canine

    Reframe deployments

    https://preview.redd.it/q7kk83oxskge1.jpg?width=1080&format=pjpg&auto=webp&s=50d7d43092910101c45139b3b9f4611c25a17a27

    2 Comments
    2025/02/01
    19:12 UTC

    57

    Should I stop using AI while coding?

    So, I've been using lots of AI services like chatgpt, claude, deepseek. I feel like I'm dumb. Not using my brain enough for basic coding.

    93 Comments
    2025/02/01
    18:53 UTC

    2

    ScreenDemos - Record engaging video demos with zoom effects directly from the browser.

    https://i.redd.it/3yha1arypkge1.gif

    Hello r/webdev! I'm excited to share ScreenDemos, a browser extension that lets you record engaging video demos directly from your browser.

    With ScreenDemos, you can create professional product demos, tutorials, and social media posts without any editing skills. The features include zoom effects, smooth cursor animations, shortcut hints, and much more! It's made for marketing, product and design teams that want to improve their communication through video demos.

    Try it out here: https://screendemos.com

    It's the first SaaS I've launched, and I'd love to hear your feedback and suggestions on how to improve it!

    0 Comments
    2025/02/01
    18:50 UTC

    1

    Crux - Developer community

    I built a free dev collab platform. We currently feature:

    - GitHub/Google OAuth (Import repos to auto-fill project form data)

    - In-app messaging & notifications

    - Extensive project filtering

    - Detailed dev profiles with social links

    Need: Project posts. Active users ready to collaborate - just need more projects to match them with. If you're building something cool, post it.

    Live: cruxapp.org

    Stack: Vue 3, Vite, Go, Postgres, Redis

    Project Section

    Profile Section

    0 Comments
    2025/02/01
    18:34 UTC

    Back To Top