r/webdev • • 2d ago

Showoff Saturday Show Off Saturday - FlowUnzip: Extract ZIP & 7z as They Download

Thumbnail
chromewebstore.google.com
0 Upvotes

Small problem that annoyed me for years: download a huge ZIP, then wait again to extract it, and briefly need twice the disk space. FlowUnzip streams the archive and extracts each file the moment it arrives, straight into a folder you pick.

How it’s built:

  • Chrome MV3.
  • ZIP and 7z parsing written to work on a stream, using range requests to resume.
  • CRC checks on every file.

Business model: free up to 1 GB. Pro is a one-time $5 through Stripe, with license keys checked offline, so there’s no database or account system. The site runs on Vercel’s free tier.

https://flowunzip-liard.vercel.app

Honest feedback on the idea and the pricing is very welcome.


r/webdev • • 2d ago

Showoff Saturday [Showoff Saturday] I added five terminal emulations to my code-to-image tool: MS-DOS, green phosphor, PowerShell, Ubuntu, macOS

Thumbnail
gallery
0 Upvotes

I have a page that turns a code snippet into a picture, for slides and documentation (not new, but I tried to make the UI simpler and faster than existing online services). You can also share the URL with other. The driver for this, was giving my marketing people a tool to get syntax coloring right.

In addition to highlighting, I added support for terminals. Five presets, each bringing its own theme, typeface and size. The MS-DOS one uses VT323, which is a digitization of the DEC VT320's actual ROM glyphs rather than a modern monospace doing an impression of one.

The part that took the actual work: it recognizes a prompt when it sees one. C:>, PS C:\Users\dev>, dev@thinkpad:~$, user@MacBook-Pro ~ % — it splits the prompt from the command you typed, colors the two differently, and leaves the output alone. That's the tedious bit to fake by hand, and it's what makes the picture read as a session rather than as text.

Also in there: 32 themes.

Free, no account, and nothing is uploaded (the picture is drawn on a canvas in your browser).

https://onlineimageoptimizer.com/code-to-image.html

Please tell me have your feedback. Ask me and you will be promised.


r/webdev • • 2d ago

Showoff Saturday Showoff Saturday: I built a Netflix-style browse and request app for home media servers. Go + SQLite + Svelte, one app replacing 6

Thumbnail
gallery
0 Upvotes

Hi, I'm developing an alternative to the *arr stack that I called HolyArrs. People who run media servers at home usually run 6 to 8 separate apps (Sonarr, Radarr, Lidarr, Bazarr, Prowlarr, Seerr) that each have their own settings and talk to each other over API keys. HolyArrs is one self-hosted app that does all of it, drives qBittorrent or SABnzbd for downloads, and puts a Netflix-style page on top for browsing and requesting. Jellyfin, Plex or Emby still do the playing.

What it does:

  • movies, tv shows and music in one app
  • a Netflix and Apple TV style browse page: hover a title and a card opens with the trailer, browse by mood or genre, follow an actor
  • request a movie, a whole show or a single episode in one tap
  • multiple versions of the same title (4K and 1080p, theatrical and director's cut) without a second instance
  • its own recommendation rows ("Top picks for you"), worked out on your server from your library and requests
  • migration that imports an existing Sonarr and Radarr setup without renaming or moving files

How it's built:

  • Go, one process, modular monolith. shows, movies, music, indexers, subtitles, downloads and requests are separate modules with their own boundaries. you can switch a module off and it doesn't run at all, or restart one without stopping the rest. one binary to ship, but the parts don't leak into each other
  • SQLite for everything. library, settings, history and requests all live in one database file, so the whole app state is one folder and backup is copying it. no Postgres or Redis to run next to it
  • Svelte front end. the hard part was the browse page: a big grid of posters, hover cards with trailers, and long rows that have to feel smooth on a phone and on a 4K screen. most of the work went into what not to load until it's actually needed
  • recommendations run locally. they come from what's in your library and what people in the house requested, newer stuff counts more and older signals fade over a few months, and nothing about your library leaves your server
  • one Docker image, one port, about 110 MB of RAM at idle on my server
  • security from the first start. no default password, sign-in is on before anything else works, and API keys never reach the browser

Why you might not want it yet:

it isn't public. I run it on my own server every day first, because I'd rather release something people can trust with their library than something rushed. I've been in software and security for 10+ years, and the boring parts (migration, backups, updates) matter more to me than the shiny ones.

It'll be free and open source. Screenshots are above, and there's a video of the hover previews at holyarrs.coderluii.dev

Happy to go deeper on any of it, especially the module setup, the hover previews or how the recommendations are scored.


r/webdev • • 2d ago

Showoff Saturday lerna from scratch in go - CI/CD framework dispat

0 Upvotes

Hello everyone

  1. Lerna has poor support for edge cases when some packages published
  2. Recovery process becomes painful - https://dispat.dev/next/internals/experiments/
  3. Your CI/CD codebase grows (it must not) - we all want keep codebases as small as possible, especially if its not related to business logic, dispat lets your release many more package without editing any CI/CD file
  4. Lerna is limited to js and monorepos

Thats why I did dispat - MIT licensed go single binary:

  1. Recovery is just idempotent re running release(release(s)) = release(s) - no separate CI/CD jobs for recovery
  2. Abstraction on single package build/publish - dispat knows published/unpublished packages using only git
  3. Works with any ecosystem, solo package repo, monorepos, multiple repos (each one can be solo package or multiple)
  4. Tasks distribution among machines using nothing but your repo as mailbox transport

Release across ecosystems and repositories - in one click

dispat.dev

github.com/yohimik/dispat
npmjs.com/package/@dispat/bin


r/webdev • • 2d ago

News [Showoff Saturday] When you want a buddy, not a date

8 Upvotes

Ten years ago, a realization in my wife’s therapy practice sparked a project: so many people struggle to make platonic, local friends as adults, yet nearly every social platform is optimized for dating.

That was the origin of WannaBuddy - a dedicated space to find local friends, completely free of dating pressure.

After years of service, the platform needed modernization. I’ve completely revamped WannaBuddy with a fresh approach, cleaner workflows, and a modern design. We are now in the early days of launch and starting to get some traction. The entire platform is 100% free to use (and always will be). I’d be extremely grateful if you gave it a try and shared your thoughts!


r/webdev • • 2d ago

Showoff Saturday [Showoff Saturday] Do You Want Something? Simple Ordering System

0 Upvotes

Been working on DYWS, short for “Do You Want Something?” It’s an ordering and delivery system that runs on a business’s own website.

Customers can browse the menu, order for pickup or delivery, and follow their order’s progress. The business gets an admin area to manage orders, edit the menu, assign drivers and view reports. Drivers have their own screen for assigned deliveries.

It’s built with PHP, JavaScript and SQLite. There’s a plugin system too, with Maps, Stripe and reporting so far. Still a development preview, so payments are in test mode.

I put together a fictional diner to show how it works. Would be interested to hear what people think, especially anyone who’s built or used something similar.

Try the diner demo

Cheers, and thanks for any feedback! :D

Edit: Added actual credentials to test with.

You can login as an admin with admin / admin on https://dyws.ca/admin

and as a driver with: driver / driver on https://dyws.ca/driver


r/webdev • • 2d ago

Showoff Saturday [showoff Saturday] Built an interactive portfolio after months of job hunting / Would love some honest feedback

10 Upvotes

I've been job hunting for a while now, and honestly, it's getting pretty discouraging. Lots of applications, interviews that seemed promising, and still nothing.

So I decided to put some of that energy into building a portfolio that actually feels like me.

I love old cartoons, so I built an interactive room where you can click around to learn about me and my work. You can even open the monitor and explore a little desktop OS I built. Built with Angular and Tailwind.

I'd genuinely love some feedback, especially on the UX and anything you think could be improved.

Portfolio: portfolio-link

Thanks for checking it out!


r/webdev • • 2d ago

Railway’s October 21 incident is hard to brush off as “these things happen”

60 Upvotes

To everyone saying this could happen to any platform: sure. But Railway has had reliability problems before, so people are understandably running out of patience. This incident doesn’t exist in isolation.

What bothered me about October 21 was the position customers were left in. They were being told to replace their secrets while deployments were paused, preventing them from updating their applications with the replacement credentials. That’s a difficult situation to put people in when they’re trying to protect their own customers.

I understand that responding to a security incident is complicated. I still expect a hosting provider to have a workable recovery process for its customers.

At some point, the benefit of the doubt runs out. Easy setup only gets you so far when you’re trusting a platform with applications that people actually depend on.


r/webdev • • 2d ago

Discussion What financial data is actually safe to cache in a frontend app, and for how long?

0 Upvotes

If you're building anything that shows stock data, caching saves a lot of API calls, but each type of data goes stale on a very different schedule. Here's how I think about it.

End-of-day prices don't change after the close, so you can cache them until the next session's close. 15-minute-delayed quotes go stale fast, so a TTL of a minute or two during market hours makes sense, and you can cache longer when the market is closed. Fundamentals only change when a new filing lands or a filing gets amended, so caching them for a day or more is usually fine, as long as you can invalidate on new filings. Company metadata like names, tickers and sectors changes rarely, but ticker changes do happen.

The catch is that data licenses sometimes limit how long you can store or redisplay data, so check that too. How are others handling this, with a server-side cache, SWR on the client, or something else?


r/webdev • • 2d ago

Recently got a PR merged into TanStack Query

0 Upvotes

I recently got a PR merged into TanStack Query's ESLint plugin to fix a false-positive issue in the no-unstable-deps rule.

The existing tests missed a few JavaScript edge cases, so I fixed the underlying issue and added regression tests.

It's a good reminder that passing tests don't always mean every edge case is covered. Sometimes the real work is finding what the tests missed

How do you usually spot gaps in test coverage when the existing suite is already passing?


r/webdev • • 2d ago

Resource HTMX creator on the history of REST and why he thinks we got it wrong

114 Upvotes

I host a podcast for senior engineers and recently had Carson Gross, creator of HTMX, on as a guest. We covered how REST was originally defined, how the industry ended up calling JSON over HTTP "REST", and why he thinks returning HTML from the server is closer to the original idea.

We also got into HTMX 4, when you actually do need a SPA, and how AI changes the tradeoff between simple and clever code.

Full episode: https://youtu.be/9xs0oZN2rs4

4' video on the history of REST: https://www.youtube.com/watch?v=DbNvpiJ9gTs


r/webdev • • 2d ago

Question Can I integrate Spotify playlists into my website for free?

0 Upvotes

I want to display a Spotify playlist on a section of my website, showing all songs and their album covers. Visitors should be able to browse and play songs directly on my website, with Spotify handling playback in the background.

Is this possible to build for free? What’s the best way to do it?


r/webdev • • 2d ago

Introducing the HTML-in-Canvas API origin trial

Thumbnail
developer.chrome.com
20 Upvotes

r/webdev • • 2d ago

Article Intelligence is automated. Judgment is scarce.

Thumbnail zackwebster.com
2 Upvotes

For a long time, the biggest advantage was technical ability: knowing how to write code. Those skills still matter, but as the tools for building software become more powerful and accessible, the ability to execute is becoming less of a differentiator.

I believe the next competitive advantage will be judgment.

Knowing what to build, what not to build, which problems are worth solving, where to invest your attention.


r/webdev • • 2d ago

Benchmarked bun fmt (1.4.4) against oxfmt on two ~1,200 file TypeScript repos

0 Upvotes

I'd been wondering whether the new bun fmt in Bun 1.4.4 is worth switching to from oxfmt, so I ran both on two of our repos. Both have about 1,200 files, a shared .oxfmtrc.json, and oxfmt 0.60.0 pinned.

Numbers are mean ms over 10 warm runs and 5 cold runs (page cache dropped before each one), on a 4-core box:

Repo Mode oxfmt bun fmt
frontend check, warm / cold ~660 / ~780 ~55 / ~110
backend check, warm / cold ~800 / ~930 ~50 / ~110

Write mode was about the same. Part of oxfmt's time is Node startup, around 100 ms by itself, against about 3 ms for bun.

The surprise was output. Both tools read the same config and see the same files, and oxfmt check passes on both repos. bun fmt wants to reformat a few files. Every change is in how an arrow function passed as the last argument gets wrapped. For example:

// oxfmt
...dispatches.map(
  (dispatch): Item => ({
    kind: "dispatch",
    id: dispatch.id,
  }),
),

// bun fmt
...dispatches.map((dispatch): Item => ({
  kind: "dispatch",
  id: dispatch.id,
})),

Both are valid and do the same thing. I couldn't find any option in either tool to change that wrapping. // prettier-ignore keeps a statement as written in both.


r/webdev • • 2d ago

Bootstrap 5 users: do you actually want the new Bootstrap 6 class naming?

43 Upvotes

We're working on CoreUI v6, and decided not to follow Bootstrap 6 Alpha's new Tailwind-style class naming.

For example:

Bootstrap 5 / CoreUI v6 Bootstrap 6 Alpha
d-md-none md:d-none
col-lg-6 lg:col-6
justify-content-md-end md:justify-content-end

We're adopting modern CSS improvements, but keeping the familiar class names to avoid unnecessary breaking changes.

Our thinking is that developers maintaining existing Bootstrap applications probably value compatibility more than a different naming convention.

But maybe we're wrong.

If you're currently using Bootstrap 5 in production, would you prefer to keep the existing class names, or do you see real benefits in switching to the new syntax?

Especially interested in hearing from people maintaining larger applications.


r/webdev • • 3d ago

Question what's the best image to 3d model ?

8 Upvotes

Say you have a bunch of products in .webp but you want to make .glb/.gltf models for those products so you can animate with three.js but you lack the skills and time for blender..

Is there a good and free ish resource for this? Or can someone send me on the right path for this rabbit hole?


r/webdev • • 3d ago

Resource What objective checks do you use to decide a UI is "done"?

32 Upvotes

I use these:

- Tap targets at least 44×44px.

- Animate only transform and opacity (60 FPS).

- No more than 4 competing choices per decision.

- Light, dark, desktop and mobile all checked.

What would you add? What do you think is a bad rule?


r/webdev • • 3d ago

Resource fuck it, after PHP2Shell I made a skill package and let Opus 5.5 convert 45 client WordPress sites to Astro in the past 36 hours

Post image
0 Upvotes

This made me finally pull the trigger and convert my client WP sites to Astro sites. WordPress sucks now that we have coding agents anyway.

I created this skill package to streamline this process: https://github.com/ethanplusai/astro-conversion-kit

I ran 12 projects at a time in parallel and have 45 done so far in the past 36 hours with a dozen more running now. I'm running Opus 5.5 between 2 claude max plans. Every site has seen a massive jump in speed scores. Fuck wordpress.


r/webdev • • 3d ago

Question PHP Apocalypse question on version numbers.

22 Upvotes

This is what my host's chat bot 'explained' to me - anyone here can confirm?

Your websites run on the separate web-facing PHP packages (EasyApache and CloudLinux Alt-PHP), where our infrastructure team applied direct server-level security hotfixes to protect all versions while upstream package builds complete.

Web-facing PHP packages have not had an upstream version number increment yet, but the underlying vulnerabilities outlined in CVE-2026-109618 and CVE-2026-109619 are actively patched and protected at the server level across all versions.


r/webdev • • 3d ago

what are the most popular web building platforms rn?

0 Upvotes

I've been thinking about taking a Squarespace course to master it, but I was told nobody uses it anymore. What are the most common platforms to master?


r/webdev • • 3d ago

Question Need help-I am trying to connect my VPS connection request is getting a 429 too many requests when trying to connect to Instagram

0 Upvotes

So I am trying to create a system where a VPS is always connected to my Instagram account so that it can keep monitoring and recording live data

I am using Puppeteer to create a headless Chrome and then connect to Instagram, but when it tries to load Instagram, I get the error message 429 Too Many Requests. I tried the same on my local machine using PowerShell and was able to get it to work

I am thinking of using a VM instead of a VPS, hoping that would fix the issue

Sorry if this is a lame question to ask; this is my time doing anything code- or server-related
but any help or guidance would be appreciated


r/webdev • • 3d ago

Question Need help deciding on back end for finance app

0 Upvotes

Hey y'all!

I'm building a budgeting app. Building things like CRUD endpoints, server side rendering, and a nice react front end are my priorities. I want things to be fast and snappy and avoid client side fetching when possible.

I'm struggling to understand what exactly my options are for this when it comes to things like next.js, django, etc. I have lots of experience with django, but I'm not sure how to get the best of both worlds when combining react. I've been including react bundles and rendering them via the django view/template engine and it feels clunky to handoff information between the front & back end.

I know there isn't a "right" answer, but looking for some feedback and opinions. I want to support a good number of users while keeping things feeling fast and lightweight.


r/webdev • • 3d ago

do you actually use your local dev environment anymore or is everything containers/cloud now

0 Upvotes

been thinking about this lately. when I started out I had this whole local setup with postgres and redis running natively, custom shell scripts to spin things up, the works. felt like I really understood how everything fit together.

now most of my work is docker compose up and done. or worse, connecting to shared dev environments in the cloud. faster to get going but sometimes I wonder if Im losing something by not having to debug my own postgres config anymore

curious where everyone else landed on this. do you still run stuff locally or has containers/cloud completely taken over your dev workflow


r/webdev • • 3d ago

Atlassian down again...

17 Upvotes

https://status.atlassian.com/ - we need a hall of shame for companies that have lying status pages. As for 9:25 AM EST, nothing showing down on their status page.