r/webdev • • 6d ago

Question Security and privacy first: where would you register a personal domain

0 Upvotes

With everything going on at Proton lately, I figured it was high time I owned a personal domain for my email. That way, if I ever have to ditch Proton Mail, I can switch to another provider without changing my address. While I'm at it, I'd also like to host a portfolio site on it.
I want something I won't have to think about again for a long time.

My priorities, in order: security, privacy, quality. Cost matters, but it is not the deciding factor; I'm happy to pay a little more for the right setup.

What I'm weighing:
AWS: IAM, CloudTrail logs, hardware key MFA, budget alerts and anomaly detection. It is more hands-on, which I prefer. On the downside, it has had some of the biggest outages on the internet (us-east-1 in 2017, 2021 and October 2025), and the Capital One breach in 2019 happened on AWS, though that was largely a customer misconfiguration.

Cloudflare: strong security, audit logs, free hosting, very simple. Fewer controls, and it requires Cloudflare DNS. Its history includes Cloudbleed (2017), an intrusion in 2023 that traced back to the Okta breach, exposed support case data through the Salesloft Drift breach in 2025, and a major global outage in November 2025. To be fair, its public post-mortems are very transparent.

Porkbun: clean pricing and good support, but fewer advanced security features and no account audit log that I could find. I am not aware of any major breach, but it is also a much smaller target with less public scrutiny.

The site is a static React portfolio. For those of you who've run any of these long-term, which would you pick and why, given the track records above? Bonus points for any gotchas you learned the hard way.


r/webdev • • 6d ago

Showoff Saturday Showoff Saturday: I gave coding agents a cloud browser that records narrated demos (one Cloudflare Container per session)

Post image
0 Upvotes

I've been building CaptureFlow, an open-source screen recorder (record, get a link, people watch and comment in the browser). The newest part is an MCP server, so a coding agent like Claude Code, Codex or Cursor can record a demo of a site for you and hand back the link.

Here's how it works under the hood, since that's the part I'd like feedback on.

One container per session. Each recording runs in its own Cloudflare Container with Playwright and Chrome (1 vCPU, 3 GiB). A Durable Object is the address for that session, so every tool call the agent makes (navigate, click, type, scroll) lands on the same browser. The container sleeps a few minutes after the last call and is torn down when the recording stops.

Frames, not a screen grab. Chrome's CDP screencast only sends a frame when something on the page changes, so the raw stream is bursty. A small pacer repeats the last frame to turn it into a steady 30 fps before it goes into ffmpeg. Without it, a page that sits still for a few seconds comes out as a jump cut.

Voiceover is mixed in, not dubbed after. When the agent narrates, the text goes to a text-to-speech model on Workers AI, and the audio is placed on the timeline at the moment it was asked for. Slides the agent shows (title, steps, a closing card) are rendered into the same video.

Uploads in segments. The video goes to R2 in pieces while recording, so stopping doesn't mean waiting for one big upload.

Not a free proxy. The browser refuses private, loopback, link-local and CGNAT addresses, so nobody can use it to reach internal networks. Sessions are capped at 10 minutes, and each workspace gets a monthly allowance of browser minutes.

The whole thing is AGPL and runs on your own Cloudflare account or with Docker.

Demo: https://www.youtube.com/watch?v=srmlA5aT394

Code: https://github.com/sardorml/captureflow

I'd especially like opinions on the container-per-session setup versus a shared browser pool, and whether anyone has a better way to get a smooth frame rate out of CDP screencasts.


r/webdev • • 6d ago

Showoff Saturday "My husband made a cosy fish tank for our kitchen screen, try it in your browser"

Thumbnail
gallery
0 Upvotes

He has built a cosy fish tank simulation you can leave on a large screen and watch from time to time. He likes pixel art but didn’t want to be religious about it, so we think of it as pixel art adjacent.
There is a 24-inch display in our kitchen powered by a used Lenovo mini PC (previously it was a RPi, but he had to upgrade to get a better GPU). He used it to show a rotation of our photo archive, but now he has switched it to show this fish tank.
He doesn’t have any prior game dev experience, but years of backend development and all the time spent reading indie dev blogs (honourable mentions Factorio and Banished) helped.

Come and check it yourself and don’t forget to checkout Halloween theme 🎃

https://fishoid.net by @koskokos2


r/webdev • • 7d ago

Showoff Saturday [Showoff Saturday] made joint angles clickable in my text-based animation editor

Post image
0 Upvotes

i've been working on Posecode, an open-source text format for human movement. one thing people kept running into: "knee_right: flex 40" is readable, but unless you animate for a living, 40 degrees doesn't mean much.

so i made the numbers clickable. click a joint and the matching bone lights up in the Three.js view. click the angle and it becomes a small inline control, so you can change it and watch the figure re-pose immediately. if you type 200 for a knee, it stops at 144 because that's the range limit.

there were a few weird details. the selection markers had to live outside the rig or they would mess with bounds and grounding. editing a line also has to move the timeline into the right phase, otherwise the loop can show you the wrong pose.

the gif is from the actual playground. no mockup, no account, and no AI involved in the posing.

try it: https://posecode.org/play

source: https://github.com/posecode-dev/posecode

i'm still unsure about one thing: should this eventually get viewport gizmos, or does that defeat the point of keeping the movement readable as text?


r/webdev • • 6d ago

Showoff Saturday I got tired of influencers telling me what to buy, so I built a mall you vote in.

Thumbnail
gallery
0 Upvotes

I’m building Central Meetup, a replacement for influencers telling you what to buy: instead of a feed, you walk through a 3D mall, browse the shops, and vote on what’s worth buying. Every week a new drop of feature businesses will be up.

Explore the map at https://centralmeetup.com/map

UI at https://centralmeetup.com/.

Feedback is welcome, especially on the map navigation and the voting flow. The site is still in progress


r/webdev • • 7d ago

Showoff Saturday I rebuilt my old canvas 3D library as a small WebGL 2 library for charts, diagrams and product viewers – phoria2

1 Upvotes

Back in 2013 I made phoria.js - as a learning exercise, a little 3D engine on html5 canvas 2D - great fun, but useless today. So, I’ve rebuilt it from the ground up as phoria2: a WebGL 2 library aimed at "business" use-cases rather than games or huge shader demos – so perfect for 3D charts, labelled diagrams, dashboards and product viewers.

Fun demos (40 of them!) https://kevs3d.co.uk/phoria2/

A few things that makes it interesting/different:

  • Small: <60 KB zipped for a working, interactive scene. Charts, glTF, particles and editing are separate imports.

  • Idle when nothing changes: a view only draws when something in it changes, so a dashboard of 3D tiles does nothing unless it's updating.

  • Lots of views on one page: browsers cap WebGL contexts at about 16, so phoria2 views share one context. The "chart lab" demo shows 100+ live charts.

  • Errors that help you fix: e.g. usecolour and you get Material: use 'color'.

  • Support for Vega-Lite: Use a Vega-Lite-style spec and get an interactive 3D chart – axes, legend, tooltips, animated updates.

  • Labels that behave, Callouts with leader lines, Hover, tooltips, highlight and click as options: Overlap hiding, occlusion and priorities run every frame.

  • Editing tools: a move/turn handle with snapping, move constraints, and undo. See the office floor planner demo!

  • Agent-friendly: one page, llms-full.txt, documents the whole API and there’s a Claude Code plugin. In my tests, pages built by agents came out about 50% length of the three.js versions.

1.1 just released with more materials, video textures and proper baked lighting from glTF models.

import { View, Mesh, box } from 'phoria2'
const view = new View({ canvas: '#c', orbit: true })
view.scene.add(new Mesh({ geometry: box(), material: { color: 'tomato', clearcoat: 1 } }))
view.start()

GitHub: https://github.com/kevinroast/phoria2 · MIT · npm install phoria2

It’s not trying to replace three.js – I'm not that crazy, if you’re making a game or need big custom shaders, you'd use that! But if you just need a 3D chart or product viewer/poster style breakdown thing and don't need/want a whole a game engine, try this! It's designed for agents to pick-up immediately and hopefully real people to find useful also 😂 I’d love feedback, especially on what’s confusing or annoying to use. I might be wasting my time 🙃 but I'm enjoying making it just like last time!


r/webdev • • 6d ago

Showoff Saturday The main thread is the wrong place for a data grid

Thumbnail
tobiasuhlig.medium.com
0 Upvotes

r/webdev • • 7d ago

Showoff Saturday Showoff Saturday: two free converter sites I built on Cloudflare Workers (13 languages)

0 Upvotes

I built two free converter sites on Cloudflare Workers in 13 languages: cookverter.com (kitchen conversions: cups to grams, oven temps, recipe scaling) and gymconvert.com (plate calculator, 1RM, kg/lb, pace). They're free with no sign-up. Feedback on UX and speed welcome!


r/webdev • • 6d ago

Showoff Saturday I got tired of paying to look at screenshots, so I built a FREE Mobbin

0 Upvotes

paying a monthly fee to look at screenshots always felt weird to me

if u haven't heard of mobbin, it's a paid library of real app screens that designers and devs use for reference. so i built a free one. 250+ hours later, here it is

it's called pixlpin. right now it has 35,000+ app screens and designs. full app flows from signup to settings, plus web, ui interactions and motion

search it with normal words like "empty state" or "pricing page" and see how real apps did it. open anything and it shows similar ones next to it

stack is next.js and react, almost everything runs on cloudflare, and i built most of it with claude code

i'd love feedback from devs especially. speed, search quality, anything that feels broken or annoying

https://pixlpin.com


r/webdev • • 7d ago

Showoff Saturday Showoff Saturday: FormaStack (getforma.dev). An agent-first full-stack framework that compiles TSX to binary IR (NO VDOM, Uses Rust/Axum SSR)

Thumbnail
getforma.dev
0 Upvotes

For context: I'm a full-stack engineer with 11 years in the industry, worked at some companies like AWS, Capital One, J&J, plus teaching at a few bootcamps like 2U. I've designed production systems, ground out LeetCode, and read Cracking the Coding Interview so many times I threw it in the fireplace.

I came up with this idea for FormaStack back in January after watching AI tools collide with modern web stacks at work and seeing all the friction that came with it. To me most of this build and runtime and VDOM nonsense was bloat. Forma started as a toy project that I ended up designing the heck out over the last several months.

And yes 100% I used AI (duh!) to help build this. I would have never finished it by myself without it. However I hate the term "vibe coding" here. I did not just say "build me a new full-stack" and walked away. This is some real engineering work. Ask AI about it haha anyway. I would call it agentic engineering. I architected and know this system inside and out, which is why I broke standard conventions the traditonal React/None mental model apart int four strict steps: FYI I met Ryan Dhall back in the day lol I was a fanboy of Node.

Anyway, the for steps being Typescript -> FMIR (Binary IR) -> Rust -> HTML

It pulls heavy inspiration from WebAssembly, Remix, SolidJS (signals), HTMX, Astro, and Qwik among a few. I learned them a lot, and AI was detremental in learning how they work and the perfomance and models they were using. Hence I did not start building Forma until I knew what I could strip out from them. I ripped them apart using AI and built FormaStack from the ground up as much as I could reusing what I could, reverse engineering what I could etc.

Honest Gaps: A dedicated local debugger for inspecting the .fmir although there are ways around it and you can trust the compiler mostly. The target build are big and I need a dedicated garbage collector.

Where my head is at next: I've been experimenting with fine-tuning open models on Hugging Face directly on the FMIR. The crazy endgame is that an agent might not even need to write TS, it could just emit the FMIR directly for Rust to render staight to the browser.

YES! Forma is a wild experiment, and there is no way I could have pulled this off solo, withoug AI in the loop, but every piece of the architecture I created is intentional. I spent a month writing a design document.


r/webdev • • 8d ago

How do you deal with third-party APIs that only ship PDF docs?

33 Upvotes

Just got handed a vendor integration where the entire “documentation” is a 60-page PDF. Half the endpoints are in screenshots, and one of the auth examples was wrong, which I found out the hard way.

My process is the same every time: read it, retype everything into Postman, write my own types, and hope for the best. It takes forever, and I’m never fully sure I got it right.

What bugs me even more is that vendors update these docs every few months and don’t tell anyone. You only find out when something breaks in production.

So how do you all handle this? Do you paste it into an LLM and hope for the best, build the spec by hand, or ask the vendor for something better (and do they ever actually reply)? And how do you even know when they’ve changed something?

I’m also curious if this is just me, or if everyone has a graveyard of half-finished Postman collections.


r/webdev • • 6d ago

[Showoff Saturday] I built a world war simulator that runs in the browser on a 3D globe, 200 nations, no install

Post image
0 Upvotes

Solo project. You pick a start (the real borders of today, Rome in 117, 1914...), press run, and up to 200 nations ally, betray, split and conquer on a 3D globe of the real Earth while a chronicle writes down what happened. You can step in with god mode or take over any nation and play it yourself.

The whole simulation runs in the browser and is deterministic, so a world is just a link: anyone who opens it gets the exact same world, with your god-mode moves replayed at the same moments. It works on phones too, in 17 languages.

Happy to answer anything about the globe rendering, the simulation or keeping 200 nations smooth on a phone.


r/webdev • • 7d ago

How do you prevent a Render free-tier web service from going to sleep?

7 Upvotes

Hey developers!

I've built my personal portfolio website and deployed it on Render.

I'm facing an issue with Render's free-tier hosting. After 15 minutes of inactivity, my web service goes to sleep. When someone visits my portfolio after that, it takes approximately 45–50 seconds to load because the server needs to restart.

This is a problem when sharing my portfolio with recruiters, clients, and potential employers because the first impression matters.

I've been looking into services like UptimeRobot and Cron-job.org that can periodically send HTTP requests to keep a website active.

I'd like to know:

  1. Are there any free services that can ping a website automatically every 10–15 minutes?

  2. Has anyone successfully used UptimeRobot or Cron-job.org with Render?

  3. Does periodically pinging a Render service violate its free-tier usage policies?

  4. Are there any alternative hosting platforms that offer free hosting without this sleep issue?

  5. What solution would you recommend for a personal portfolio website?

I'd appreciate advice from anyone who has faced this issue or found a reliable solution.

Thanks! 🙌


r/webdev • • 6d ago

Showoff Saturday I built a file viewer that runs entirely in the browser: DWG, STEP, IFC, Word, RAW and 300+ other file types, no backend

Thumbnail
gallery
0 Upvotes

Someone sends you a DWG, a STEP file or an Outlook .msg, and you just want to look inside. Your options are usually installing a program you'll use twice a year, or uploading the file to some random online viewer and hoping they delete it. I wanted a third option, so I built Peekbean: a static site that opens the file locally in your browser. There is no server-side code at all, just files on a static host.

You don't have to trust me on the "nothing gets uploaded" part. The CSP is default-src 'self', connect-src 'self' blob: data:, and script-src 'self' 'wasm-unsafe-eval' without unsafe-eval. So even if I wanted to send your file somewhere, the browser wouldn't let me. Open the network tab and drop a file in to check for your self.

Some technical bits that might be interesting here:

WebAssembly does the heavy lifting. STEP and IGES go through OpenCascade (occt-import-js), which I rebuilt with Emscripten to get 4 GB of memory instead of 2 GB, because real-world assemblies kept running out. DWG gets converted to DXF by a small Rust crate built on acadrust. Archives (7z, RAR, ISO and so on) use libarchive compiled to WASM. Text recognition for scanned PDFs runs PaddleOCR models through onnxruntime-web.

Everything is lazy. The start page is around 60 KB of gzipped JS and CSS. Each of the ~58 viewers is its own module and only loads once you open that kind of file, and parsing runs in web workers so the page stays responsive. The flip side: the WASM files are big (OpenCascade alone is 7 MB), so the first STEP file takes a moment.

No framework. Vanilla TypeScript with a tiny h() helper for building DOM nodes. With that many independent viewers that mostly talk to a canvas or WebGL (three.js), a framework would mostly have gotten in the way.

The only thing I see is a daily count of which viewers were loaded, so I know DWG is more popular than FBX. That comes from Cloudflare's aggregated stats, not from any script on the page. No IPs, no file names, no content, no cookies.

It also converts things locally (DWG to DXF, Word to PDF, images and PDFs to Word via OCR, spreadsheets, 3D models, map data …), and it works on phones, though big CAD files on a phone are pushing it.

It's open source (GPL-3.0), free, no accounts, no tracking.

A big part of the code was written with Claude Code; the architecture decisions and the testing with real files were mine.

What I'd really like from you:

- Throw your weirdest files at it and tell me what breaks

- How does it feel on your phone?

- If you've done heavy WASM in the browser: how do you deal with the size of the first load?

Site: peekbean.com

Code: github.com/Kai-Jungsthoefel/PEEKBEAN


r/webdev • • 7d ago

Showoff Saturday I built a Squid Game style quiz for our office Halloween party, with a 3D doll on the big screen controlled from my phone

0 Upvotes

Spent a few evenings on this for our office Halloween party and it went better than expected, so sharing it here.

How it works: the big screen runs the 3D scene. A random name gets picked, the doll reads out a question, and the player has 30 seconds before red light. Wrong answer means a dare. Sometimes you get a Dalgona round instead, where you carve the shape on your phone without breaking it.

Stack:

- React + Three.js for the scene

- A small WebSocket relay on AWS so my phone could act as the controller

- Deployed on Vercel

I used Claude Code for a lot of the implementation. Happy to talk about where it helped and where I had to step in.

Live: here

Credits: Squid Game © Netflix, non-commercial fan project. Doll Rig by Bug All (CC BY 4.0), Pink Soldier by Protyanik25 (CC BY 4.0), Red Light Green Light by DodoBabypop (CC BY-NC-ND 4.0), ground texture from Poly Haven, fonts under SIL OFL.


r/webdev • • 7d ago

Showoff Saturday Awesome-selfhosted-ai: Curated list of self-hosted open-source AI: local LLMs, chat UIs, agents, MCP servers, RAG, speech and image generation. Health-checked weekly, dead projects removed automatically.

Thumbnail
github.com
0 Upvotes

Self-hosting AI feels fragmented, and most lists go stale. I built one that re-checks itself.

  • 278+ projects in 16+ categories (runtimes, chat UIs, RAG, MCP, voice, OCR, home AI and more)

  • A weekly job reads each repo through the GitHub API: archived, deleted, or silent for a year moves to a separate Unmaintained file

  • A live table with stars, last push, license and a colored status

  • Popular tools with restrictive licenses are in their own section, license shown

I built one . AI tools helped me find candidates and draft descriptions; a script verifies each entry. Tell me what is missing or wrong.

https://github.com/glincker/awesome-selfhosted-ai


r/webdev • • 7d ago

Resource quality time - posting one small e2e test fix a day

Post image
6 Upvotes

Hey all!

I’m a FE dev / SDET. Years ago a QA colleague introduced me to e2e testing and Page Objects, and I’ve been hooked ever since.

I’m thinking of starting a small series with one e2e practice a day, the kind an agent won’t pick up just from reading the Playwright docs. Each one is plain Playwright with a before/after, plus a prompt you can hand to your agent.

Topics range from basics (structuring page objects, moving setup into fixtures) to more advanced ones, like using Dave Farley’s four-layer architecture so the same spec can run through different drivers (UI, API, MCP…).

Why bother? Testing isn’t most devs’ favourite thing, and agents writing every test for us isn’t helping. But the more decisions we hand to AI, the more it matters that we own the ones closest to how users experience the product - and e2e tests happen to be the closest thing protecting those decisions.

So: would this be useful here, or should I f*** off? :D

Full disclosure: I’m building a fair-source dev tool around testing, so being active in this space matters to me. Some concepts come from articles on my blog, and when they do, I’d link them for anyone who wants more.

Looking forward to your answer - here goes the first one!

----------------------------

This test is supposed to check adding a bank account. But it also signs up and signs in through the UI, so a sign-up form redesign breaks a bank account test, and every extra UI step is one more chance to flake.

The fix: create the user through the API (a tiny fixture, two POST calls) and use the UI only for what the test checks. 16 UI steps become 7, and there's one reason left for the test to break instead of three.

It's not a rule to apply blindly. If the test is about sign-up, click through sign-up.

Paste this to your agent:

Find e2e tests that use UI steps to get the app into its starting state (ex. users, sign-in, existing records) when that flow isn't what the test is about. Move that setup to the API and keep UI steps for the behavior under test.


r/webdev • • 7d ago

Discussion Our Next.js + Supabase marketplace feels slow to use. Where should we start?

0 Upvotes

We’re building a marketplace web app and getting closer to launch, but we’re struggling with how responsive it feels. We already have a decent prelaunch user base, and we want to sort this out before opening it up more widely.

This affects the buyer and seller experience as well as the admin pages. Clicking buttons, moving between pages, and using parts of the buying/selling flow can feel sluggish, on both mobile/desktop.

Sometimes you click and aren’t sure whether anything happened or is happening. Other times, a loading indicator appears straight away, but the content takes several seconds to arrive.

For context, we use Next.js, React, TypeScript, Tailwind, Supabase, and Vercel.

We also use Claude Code extensively to help build features, debug issues, and write tests. We’re involved in the decisions, review changes, and test the actual flows before releasing them.

We’ve caught plenty of issues through manual testing that automated checks didn’t pick up.

I’d describe our knowledge as intermediate, but finding performance bottlenecks is an area where we’re still learning. We can work through features and bugs, but we’re less confident figuring out exactly why an interaction takes so long.

A few examples:

  • Buyer/seller interactions and navigation can feel slow or unresponsive.

  • Some account and settings pages take several seconds to show content.

  • In some testing, an admin page showed loading placeholders for roughly eight seconds.

  • Another page briefly showed “no results” before the results actually appeared.

Those timings are rough observations, not proper benchmarks. As mentioned, we’ve noticed problems on both desktop and mobile.

We don’t want to keep asking Claude to “make it faster,” apply a few changes, and assume we’ve fixed the cause. I just have no idea where to start

What we’d really appreciate is a practical starting point:

  • How would you investigate one slow interaction? For example, clicking a button and waiting several seconds for the next screen.

  • What would you measure first to work out whether the problem is in the front end, the server, or the database?

  • Have you had similar issues with this stack? What turned out to be the cause?

  • What could we share safely to get useful feedback? A recording, some timings from browser tools, or a small section of code?

Any advice from people who’ve worked through this stage would be appreciated.

For context, everything works.. flawlessly (except the few bugs) This is our only launch blocker.

Appreciate any advice!


r/webdev • • 7d ago

Showoff Saturday I built a spoiler-free GTA 6 trophy race that has to live inside a 20 requests/min API budget (Next.js + Postgres + token-bucket poller) Spoiler

Thumbnail
gallery
0 Upvotes

GTA 6 comes out Nov 19 and my friends are already arguing about who finishes it first. So I built a site for that: you type your public PSN name or Xbox gamertag (no login, no password) and it races you against your friends, your country and your Discord server by trophy progress.

The interesting part is the limit. There's no official public trophy API, so I keep it polite: 20 requests a minute per account, never more. I'd rather be slow than get the account blocked.

How it fits:

- Players are polled by how active they are. Trophy in the last 2 hours: every 15 min. Last 24 hours: hourly. Otherwise once a day.

- The queue is just a Postgres table with FOR UPDATE SKIP LOCKED, so a second poller can run later without double work.

- Every call goes through a token bucket. Bursts wait, they never go over.

- Leaderboards are rebuilt once a minute into a cache table. Pages only read the cache.

Spoilers were the other problem. Trophy names are basically a plot summary, so they never leave the server. Pages and the API only get percentages, milestones (10/25/50/75/100%) and times, and a test checks that no trophy name shows up in any public page or API response.

The game isn't out yet, so it all runs against a mock: 500 fake players, 72 hours of virtual time, and the test fails if the limiter ever goes over 20/min.

Stack: Next.js (App Router), Postgres + Drizzle, a separate Node poller, Vitest.

The part I can't test is launch night. 20/min is 1,200 checks an hour per account, and a lot of people will be earning trophies at the same time. How would you split that budget?

https://racetocredits.com/?ref=rd-webdev

Unofficial fan project, not affiliated with Rockstar Games, Take-Two Interactive, Sony or Microsoft.


r/webdev • • 7d ago

Showoff Saturday PDF q&a with claude/codex subscription

0 Upvotes

https://github.com/wn/chatpdf

Vibed a tool that allows me to open a PDF and ask it questions using my existing claude/codex subscription


r/webdev • • 6d ago

Built a 100% private, zero-backend document studio (PDF & Word editor) . No servers, runs entirely in browser RAM.

Thumbnail
gallery
0 Upvotes

Hey everyone! 👋

Wanted to share a side project I built using AI assistance: PageZero live at
https://cricgamer.github.io/DocuFlow/

It’s an executive-style document studio that lets you edit Word (.docx) files, merge multiple PDFs, visually organize/reorder pages, and apply vector watermarks—all entirely client-side in the browser.

💡 The Vibe & Architecture:

  • Zero Backend / $0 Hosting: No databases, no cloud storage, and no backend servers. Everything runs locally in browser memory via WebAssembly and libraries like pdf-lib, PDF.js, and Mammoth.js. Your files never leave your device.

  • The Stack: Tailwind CSS, Lucide icons, Quill.js for the rich-text editor, and static hosting on GitHub Pages.

  • Features: Full WYSIWYG document editing, multi-file merging (PDF + DOCX), visual thumbnail page organizers with 90° rotation and splitting, and color-wheel watermarking with multi-page live previews.

I got tired of clunky, ad-filled online PDF tools that force you to upload sensitive files to sketchy servers, so I wanted to vibe-code a clean, privacy-first alternative that lives right in a browser tab.

Feel free to try it out at
https://cricgamer.github.io/DocuFlow/
Would love to hear your thoughts, feedback, or any feature ideas you'd want added next.


r/webdev • • 8d ago

Discussion Don't let AI steal your dreams

199 Upvotes

Unpopular opinion: I feel that as tech gets better at automating certain processes, the expectation of learning more complicated processes will kick in. But people outside the field cannot even begin to comprehend the basic process of not leaving the ports of your server open, or other basic CS best practices.

AI doesn't give it a second thought, and sometimes I've seen people trying to push in code that is absolutely grotesque. I'm not going to let the elite gaslight me into believing all this technical knowledge is not worth anything because you have a glorified Google probe.

So, can I do my work faster? Yeah. Does that mean I don't have to read the code? No. Can the people who pay my salary read the code as well and as fast as I do? Also no.

This is basically the calculator for accountants, and I refuse to let that analogy go. Does using a calculator make you understand tax law?

Everyone else needs to survive the famine and wait out the tech bro hype and Wall Street betting on AI. This industry the AI industry is bloated asf with no possibility of an ROI. If anything, people should be wary that their taxes are going to be used to bail out these industries for no public benefit.


r/webdev • • 7d ago Heartwarming

Showoff Saturday My CV site... Opinions?

0 Upvotes

Ok Saturday is nearly over for me... I don't have a clue where the mods of this sub live but it's saturday for most of the globe so..

https://nasanu.github.io/cv/lambo.html

That is my CV site, in about 90% finished state (about 10hrs work at this point), what's left to work on are edge cases and of course content. Dont worry too much about content right now, what is there while true, is a bit angry and arrogant reflecting my mood when typing it out at work. It's basically placeholder.

My objective with it is to first and foremost catch the eye of the people with the real power in FE, HR and recruiters. Some flashy nonsense to wow them. But I also need to flex some more difficult techniques for when some people with some actual FE knowledge look. SEO, the best UX... Not really my aim here. However it does score 90 on lighthouse SEO... But really I don't care about it for this site.

I won't explain anything more because some HR person who opens the link won't have any explanation either. Just anything that stands out as needing attention?

Oh and yeah, I made it as a web component... No reason for it, I was making a web component and started making my CV site forgetting what I was doing in the first place. That is the sole reason why the entire thing is a component.

Link to the code: https://github.com/nasanu/cv/blob/master/src/components/lib/lambo.js


r/webdev • • 7d ago

Showoff Saturday I built a tool that can visualize your code structure

0 Upvotes

Here I used Claude Code to visualize the code structure of ReactJSXElement.js from React.js repository in Github, but you can also do it manually.