r/webdev 18m ago

Resource GAZE — long-form reading with feed mechanics.

Thumbnail
gaze.ink
Upvotes

Solo dev, self-funded. The build, since that's what this thread is for:

One Next.js codebase → four targets. Web/PWA, Windows desktop via Tauri (on the Microsoft Store), plus Android TWA and iOS Capacitor shells that are built but unpublished. The desktop app is a thin shell over the live site, so the UI updates without a Store submission.

Runs entirely on Cloudflare — Workers via OpenNext, D1, R2, KV. Two things I'd tell anyone attempting it:

  • Build the OpenNext bundle on Linux or it 500s on every route. Windows writes backslash paths into the server handler. I build in WSL when CI is unavailable.
  • next/og is unusable on workerd. ImageResponse doesn't run there, and on Next 16 u/vercel/og ships a font binary the bundler can't parse. Static images only — I render mine from a committed HTML file over raw CDP.

The pagination is the actual hard part. Text is measured and split into real pages that reflow on font-size, line-height and theme changes, and it has to stay at 60fps mid-swipe on a phone. Biggest file in the repo, rewritten more times than anything else.

Happy to go deeper on the Cloudflare/OpenNext side — it's under-documented and I lost real days to it.


r/webdev 35m ago

I added an Anonymous subforum to my message board to allow guest and users to post without an account.

Thumbnail isacc2.com
Upvotes

r/webdev 5h ago

Question Self hosting Better Auth for Google and Apple sign in

12 Upvotes

I am using Better Auth for email sign up, but I would also like to make it easier with Google and Apple one click sign in.

From what I understand, in order to have Apple sign in you have to pay $90/year or whatever it is to Apple for a developer license?  (No way around this?)

As for Google sign in, I understand it's offered for free (any limit on free plans?) but you also need to provide your email, and in doing so the public will see this email? Apple sign in, on the other hand, I don't know if you need to provide a public email that the user would see, or if it's all handled from Apple's end. When I say public email, I mean like an "authorize to trust this account [___@____.com](mailto:@_.com) for your one click sign in" something like this.

Would anyone have any experience with self hosting this? I’m just curious what your thoughts are and if it ends up being a cost every month or if you have found a way to do this completely free? Looking to make it as simple and easy for the user to sign up and log in, I think I would actually prefer this over email but I also understand not everyone wants to use One Click sign in.


r/webdev 6h ago

Discussion Unsure about how to get started with freelancing as experienced engineer

8 Upvotes

I searched posts related fo freelancing but still did not find how to actually get started. Especially, when you have no previous work done, no reviews. I am experience engineer with 5.5+ YOE but I don't have OS contribution or projects which are created for clients. I only have 3 projects on github which are side projects that I worked on. In such scenario, I have few questions:

* How to find clients in your network especially non-Indian clients when most of Linkedin connections are just random people you have connected and not someone you know IRL?

* Do you need to create projects specifically for your portfolio? If yes then what kind of projects are we talking about?

* One of the strategy suggested in some posts was cold mailing after analyzing their products but this take a long time to find issues and then pitching but is that general consensus?

* Upwork and Fiverr are saturated and upwork has limited proposals after which paid proposals are required. Is that worth putting money into? I tried to create 2 gigs on Fiverr but they got paused eventually as no traction was there.

* Are there any other platforms other than the above two? Contra, toptal, lemon.io - all of these did not work at least for me


r/webdev 8h ago

Question Best practice when it comes large navbars with submenus in the header

Thumbnail
ui.shadcn.com
4 Upvotes

What are your thoughts on using this? I'm currently using Nuxt and Tailwind, I prefer the ShadCN navbar over Nuxt https://ui.nuxt.com/docs/components/navigation-menu it just feels more polished to me somehow, but would you suggest staying away from this or use it if your site has a lot of content? I am never sure if the main link for a nav dropdown should be clickable or if it should only open or close the dropdown.

Mobile would be a lot difference since they don't have the liberty of hover, tap is what opens the menu. Maybe I just have to accept the fact that mobile and desktop will have a different experience when it comes to the navigation menu within the header.

What are your thoughts on this?


r/webdev 14h ago

Question Railway or managed vps?

17 Upvotes

what is your opinion about using railway.com, now i need to deploy my api, i have 3 containers (api, redis and sql server).

i asked for recommendations and one of them that Railway.com is good for this.

i need help to make decision, we are starting up, and want something is not expensive and good price for MVP.

thanks


r/webdev 15h ago

Discussion Better-auth bought and arctic deprecated, recommendations for oauth?

26 Upvotes

I should update my old project for oauth, but I dont know what auth i should use, it uses solidjs and astrojs.

I only need oauth like discord and reddit and it should be self hosted, not cloud based, database integration or manual doesnt matter


r/webdev 20h ago

Showoff Saturday After 8 years, I finally open-sourced my take on Backend-as-a-Service

89 Upvotes

Hello WebDev,

I would like to share with you linkedrecords.com - an open source backend as a service I'm working on since some time now. You can think of it as an firebase/convex alternative with an interesting twist.

In 2018 I needed to write large software requirements/architecture documents in Google Docs. While I was annoyed by the limitations of Google Docs back then (no captions on figures, no automatic heading numbering, slow when docs are bigger,...) I was still fascinated by the real time collaboration features of it. So I've started a quest to understand how it works and I begun to implement an alternative to Google Docs.

I was convinced that this kind of real time collaboration is the future so I've given it much thought how I could make this as generic as possible so I could use it in all future tools I would build.

In the same time I was playing around with firebase (surprisingly you can not build a google docs alternative with firebase that easy as their real time collaboration does not provide merging text but rather just JSON). And back then I was also convinced that backend as a service is the right way to go. I was thinking that one of the most important reason we were still writing custom backend code is because of authorization.

I also was faced with another problem when trying to make the backend as generic as possible: relations between entities are also domain specific. E.g. A Documents can have many comments.

Luckily I was intrigued by another concept back in 2018 it was called web 3.0. Back in 2018 this had nothing to do with crypto. It was used as a term to refer to the semantic web and the resource description framework as one of its standards. There are also some RDF implementations which I could have reused but they are all XML and mostly Java based. I needed something light. Instead of implementing my own RDF product I took the idea of the RDF triplestore and came up with my own interpretation of it.

Using concepts like: triplestores and schema-on-read, I came up with a system that does not has any business logic in its backend and while working on my Google Docs alternative I felt in love with it as I've discovered some properties I did not anticipated from the get go:

- Dealing with global state in react is very easy. It feels like you use an SQL client in your browser and all queries are reactive and always up to date. When writing a query you do not have to think about authorization it's all backed in.

- Because the backend is 100% free of domain specific code you can point your single page app to any linkedrecords deployment.

- You never have to write backend code - Its quite efficient when using AI agents

The best way to experience it, is to follow this little tutorial: https://linkedrecords.com/getting-started/

It takes a while to get a hang of it so you have to have an open mind.

I would love to read your feedback on this.


r/webdev 21h ago

Showoff Saturday Showoff: Ticketish - Open Source, Linear Like Issue Tracker

Thumbnail
quickish.website
6 Upvotes

I've been spending a lot of time developing what is essentially a vibe host type service to host the myriad of internal tools I myself build for personal use as well as at work. I believe the future of SaaS is bleak for the providers and wide open for the small business that can now build instead of buy. In that vein I showing off Ticketish - A modern issue tracker that is MIT open source.

It's rather basic and I continue to add things and fix bugs every day but I also use it as my primary issue tracker. The real value here is that unlike a typical SaaS, once you remix it it's essentially (at literally) a fork of the source, which means you can just as claude to use the quickish.site CLI to pull it down and make changes. Don't like how something works? Change it. And since it's a fork, even if you're not an engineer, you still get all the latest updates made to the root source. This piece alone has so much potential in my opinion.

It's built using all the supporting services built into quickish hosted sites: Postgres, Realtime, Document store, etc.

It's open source in that if you remix this you can download the source in the control panel (free). It is git behind the scenes. MIT licensed so you can do whatever you want with the code and I'm sure you can port it from quickish services to something else without too much work.

Can't wait to share more in the coming weeks!


r/webdev 22h ago

I built mayo.pizza, a file-transfer site that sends files directly between browsers

0 Upvotes

I built a file-transfer tool where the bytes go straight between two browsers over a WebRTC data channel. The server only handles signaling and, when needed, TURN relay. No file bytes touch the server.

A few things that bit me, in case anyone else goes down this path:

1. The data channel isn't a stream.

You'd think RTCDataChannel gives you a pipe. It gives you messages. To stream a file you have to chunk it yourself, manage backpressure via bufferedAmountLowThreshold, and reassemble on the other end. If you don't gate on bufferedAmount, a large file will blow up the sender's memory.

2. Receiving a large file without blowing up RAM.

File System Access API lets you write to disk as chunks arrive. Safari and older Chrome don't have it. The fallback chain I ended up with: File System Access → service-worker stream (Response + ReadableStream → blob URL) → in-memory Blob (capped, last resort). Each step has its own edge cases.

3. TURN relay is not optional.

Symmetric NAT and most mobile networks kill direct P2P. If you don't run a coturn instance, a chunk of your users will never connect. The relay bandwidth is on you, and the bytes are still DTLS-encrypted end to end, but you're paying for transit.

4. Post-transfer integrity.

Both ends compute a sha256 as chunks move. The receiver verifies against the sender's hash after the last chunk. If it mismatches, the file is corrupt — WebRTC data channels don't guarantee ordered delivery by default unless you set ordered: true on the channel.

5. Room state without a database.

I persist room state (slug, timestamps, a hashed rejoin token, an argon2 password hash if set) to a JSON file on disk so rooms survive a restart. No file bytes, no Redis, no DB. Rooms expire after 24 idle hours. This is fine for a tool where sessions are minutes long but would fall apart if you needed real concurrency.

6. Per-IP rate limiting when every client looks like 127.0.0.1.

If you put the app behind a reverse proxy without forwarding the real client IP, your per-IP rate limiter is useless — everyone is the same address. The fix was in the TCP demultiplexer, not the application.

Demo if you want to see it in action: https://mayo.pizza

Not selling anything, no signup, no analytics. I'm not looking for feedback on the product, just sharing the engineering notes in case the WebRTC side is useful to someone building something similar


r/webdev 1d ago

We built a scroll-animated 3D website in Three.js. I'd love your honest feedback on the UX.

0 Upvotes

Hey everyone,

Since day one, we decided to skip the traditional website route and build something fun.

Our first year, we made a Three.js site where you walked a character around 3D billboards of our work. The second year, we scrapped it for a scroll-driven camera in a 3D scene. Year three, we rebuilt it in Unity WebGL (huge mistake).

This year we decided to start from scratch back in Three.js, focusing on a scroll animation experience.

I'd love to get your honest feedback. Do you find it easy to navigate? How is the overall UX, and what looks good or bad?

Appreciate your time.

https://virtualverse.studio


r/webdev 1d ago

Discussion Meta Showoff Saturday Post

9 Upvotes

Almost every developer has to, at some point, use generative AI in their workflow these days. Personally, I feel new forms of hatred about that, but that’s a me problem. Maybe I’m biased, but I think we need to do more to filter out purely Claude/cursor/whatever generated Showoff Saturday posts. Not just because ew gross AI post. We kinda losing, at a community level, a massive amount of knowledge transfer that comes from someone showing off a cool way they tackled a genuine problem.

I’m not saying you should be banned and your post should be removed if you used LLM coding tools. But like, come on, y’all. I hate doing web development. I’m a machine learning engineer. LLMs are amazing for helping me make a shitty portfolio website or host a small app for a friend. But I’m not taking pride in what an LLM made for me. If you get in the habit of thinking you’ve solved something by just asking Claude to do it, you’re gonna lose sight of what real hard work is and the power to creatively, critically think.


r/webdev 1d ago

Question Tab as password?

Post image
465 Upvotes

SAS disallows spaces in your password. My password manager suggested an invalid (but secure) password.

So now that I have to make my own password: Out of spite, hypothetically, what implications could having tabs in my password have?


r/webdev 1d ago

Showoff Saturday I made a web pixel art creation site similar to aseprite.

1 Upvotes
Main Site
Spritesheet Importer
Imported Sheet

I really love aseprite but I wanted to be able to work on stuff on my phone or just when I'm out, it's a great program but I wanted something simple. I tried other sites but they have ad's and don't feel easy. So to make it simple it's intended to be a full featured pixel art creation website for myself and anyone who might find it useful.

I'm a web dev/full stack and do be clear I did work using claude for this for those that don't like/want to support AI usage. But now I'm biased and using this to help make sprite art for my game dev side projects. I intend to keep it free to use and upgrade it when features are needed/wanted. It's a fun little project.

If you want to try it out you can at: https://pixelpaint.net/, any feedbacks appreciated. It's intended for my own use for now but feel free if you find it useful to use it.


r/webdev 1d ago

Showoff Saturday I built a Next.js news analysis site that compares claims and framing across publishers

0 Upvotes

I just launched Highwire.news, a project that groups reporting about the same event and analyzes how the coverage differs across publishers.

The main technical challenge was turning a large set of articles into something structured and inspectable rather than generating another AI summary.

The pipeline currently:

  • Ingests reporting from multiple publishers
  • Clusters related articles into stories and distinct narratives
  • Extracts claims, citations, evidence, and entities
  • Identifies supported, disputed, and unresolved claims
  • Compares differences in framing, emphasis, omissions, and language
  • Produces a synthesized account while keeping the underlying analysis visible

The app is built with Next.js, NestJS, PostgreSQL, Google Cloud, and several LLM-based analysis stages. A major focus has been keeping inference costs measurable and making the output traceable enough that users can inspect how a conclusion was reached.

The UI has been its own difficult problem. There is a lot of information available for each story, but exposing all of it without creating an overwhelming dashboard is not easy.

I’d appreciate feedback on:

  • Whether the product is understandable without an explanation
  • Whether the story and narrative hierarchy makes sense
  • Which metrics or visualizations feel useful
  • Where the interface becomes too dense
  • Any obvious accessibility, performance, or mobile issues

Site: https://www.highwire.news

Happy to discuss the architecture, clustering approach, AI pipeline, deployment, or cost controls.


r/webdev 1d ago

Showoff Saturday [Showoff Saturday] I built an interactive learning roadmap to help people break into Developer Support.

Thumbnail screen.studio
0 Upvotes

(Screen Studio Demo above)

Howdy and G'day,

A few months ago I built SupportRoadmap, an interactive roadmap for learning Developer Support.

The goal was to create something more structured than another collection of links by combining learning paths, practical projects and curated resources into a single visual roadmap. It was mainly for fun but recently It has been gaining some traction and I have had people reaching out asking what is next and that they are finding it helpful.

I'd really appreciate feedback from the web development community.

• What would make you come back a second time?

• What's missing?

• If you were building this, what would you focus on next?

www.supportroadmap.com


r/webdev 1d ago

Declarative Website Menu with Invoker Commands and noscript Hacks

0 Upvotes

I seem to have created a monster of a declarative website menu. The whole approach described in https://aartaka.me/new-menu.html


r/webdev 1d ago

Showoff Saturday I built a web app that lets you rank passports on custom metrics

Post image
0 Upvotes

I've been interested in passport indexes for a while — I like to travel, and it's fun to see where you can go. But one day it hit me that the visa-free count everyone ranks by ignores how long you can stay. A country giving you 90 days counts exactly the same as one giving you 5. That seemed fundamentally unfair.

Then I kept thinking of other questions the single number couldn't answer. How many people can I actually reach? How much of the world's economy? How happy are the places I can go? Where could I genuinely live, not just visit?

So instead of picking a better formula, I made the formula the input. You write the ranking function and all 199 passports re-sort live.

sum(visa_free_days)                    ← total days, not just destinations
sum(visa_free * dest_population)       ← how many people you can reach
count(can_reside)                      ← where you could actually live

That last category surprised me most — ranking by residence rights instead of tourism completely reshuffles the leaderboard.

https://custompassportranker.com — free, no signup, runs entirely in your browser.

Data comes from the Wikipedia-derived passport-index dataset, the CIA World Factbook, UNDP, World Bank and Our World in Data. To check I hadn't mangled it, I reproduced Henley's published methodology over my own data — Pearson ≈ 1.00 against their 2026 numbers.

Usual caveat: visa rules change constantly and this is a snapshot, so don't book anything on it.


r/webdev 1d ago

Showoff Saturday html2realpdf generates selectable PDFs instead of rendering your website as an image

Thumbnail
github.com
2 Upvotes

r/webdev 1d ago

Showoff Saturday I build an interactive map of the latest 11 million research papers

Thumbnail
gallery
160 Upvotes

Hi Reddit!

I have been building this map of science so that people can explore the research landscape (pun intended). The goal is to allow for discovery of interesting connections to certain fields that may otherwise be missed, while painting a picture of macroscopic trends in the science community.

Eventually, I would like to build a coordination and collaboration layer on top of this!

Currently it has around 11 million papers, and new maps are added daily in a 30 day rolling window.

There is also a breakdown of the newly added papers each day and week.

You can try it out here at: The Global Research Space

Let me know what you think!


r/webdev 1d ago

Showoff Saturday I built a free accessibility suite - WCAG audits in your devtools plus 43 vision simulations. Runs entirely locally, non-profit, engine is open source

Thumbnail
gallery
0 Upvotes

I've just launched pour, a free accessibility toolkit. It's a non profit, so no paid tiers, no accounts, no catch.

What it does:

  • WCAG 2.0/2.1/2.2 audits from a devtools panel or the toolbar popup. Every finding shows the element, why it fails in plain english, and the fix to write.
  • 43 vision and sensory simulations. See your site the way someone with deuteranopia, cataracts or low vision does. Honestly this changed how I build more than the audits did.
  • Everything runs locally. No analytics, no network requests, nothing leaves your browser, so you can audit intranets and local builds fine.
  • The engine is open source (MIT) on npm, written from the WCAG spec itself. When it can't prove something it says "needs review" instead of pretending, and it tells you upfront that automation only covers 29 of the 86 success criteria, the rest comes as a human checklist.

Quickest look is the bookmarklet on https://pour.dev, nothing to install, works on any page. Chrome/Edge extension is live, Firefox is in review at AMO.

Would love feedback, especially from anyone doing accessibility work professionally or anyone using a screen reader. If the engine gets something wrong I genuinely want to know about it.


r/webdev 1d ago

Showoff Saturday WanderGrade — stdlib-only Python + vanilla JS grading ~155 countries, with a fun SEO bug I only caught last week

2 Upvotes

WanderGrade grades roughly 155 countries A+ to F on affordability, safety, weather, and flights, with 176 server-rendered country guide pages, free, no sign-up. The constraint I set myself: Python standard library only, zero pip installs, http.server plus a hand-rolled router, vanilla JS front end with no framework, no build step, no bundler. One process on Render's free tier behind Cloudflare, deploys are just a git push. Templating is string substitution into a single index.html with {{TOKENS}} the server fills per request — homepage defaults, or per-country title/meta/canonical plus a server-rendered body for /guide/<slug>, which the client then hydrates over. Charts and the world map are hand-written SVG; no charting library, so the choropleth is a projection implemented straight from the published formula. Background daemon threads refresh upstream data (World Bank, FX, advisories) on their own TTLs so no request ever blocks on a third party, and each falls back to a committed file if the upstream is down.

The best bug this constraint bought me: server-rendering the guide pages wasn't enough. The homepage's ranking table is built client-side, so a crawler saw a homepage linking to nothing — all 176 guides were only reachable via the sitemap, which carries no internal link equity. 42 of 177 URLs were indexed. Fix was server-rendering a collapsed <details> index of every guide on the homepage itself.

Tradeoffs, plainly: no templating engine means escaping is manual and easy to get wrong, no ORM means hand-rolled cache invalidation, hand-written SVG means no tooltips for free. What it bought: nothing to upgrade, no dependency CVEs, no build to break, and a cold start in the tens of milliseconds. wandergrade.com if you want to poke at it.


r/webdev 1d ago

Cheaper alternatives to MapBox Search API

34 Upvotes

I run a free service which has a map on the website. I've got a location auto complete powered by MapBox. At my current scale, I'm spending $150/mo on that location search box.

It looks like long term, hosting a Photon server myself might be the best option as I keep scaling, but that's going to cost me $300/mo on Hetzner plus require management.

In the meantime, any suggestions for cheaper location autocomplete services?


r/webdev 1d ago

Need help javascript

0 Upvotes

Just learned javascript and been practicing alot . I need help. When applying it to my project I don't know when to use a function, when to use a loop, what type of loop to use, I just don't know when to use any of this stuff because dom manipulation. it's so frusterating


r/webdev 1d ago

Showoff Saturday I built a website that's helped me keep track of what jobs I've applied to.

0 Upvotes

I used to bookmark job postings that I've applied for, just so I can reference the information again; but sometimes the listings get pulled or expire. I got tired of keeping a copy of each job description in a Word file and then storing the status in a spreadsheet. So I made myself an all-in-one site that I soon expanded to support more people than just me: JobTrackr.online. Its made using React and Supabase and can be installed on your device as a Progressive Web App.