close
Skip to main content
BERJAYA

r/reactjs


I shipped react-modern-audio-player v2 after 3 years of silence — here's what AI actually helped with (and where it hallucinated)
I shipped react-modern-audio-player v2 after 3 years of silence — here's what AI actually helped with (and where it hallucinated)
Discussion

I maintained react-modern-audio-player solo since 2022.

After v1.4 in Feb 2023, I didn't touch it for 3 years. Every GitHub notification — read, start typing, close tab.

Six weeks ago, I started v2 using Claude Code + CodeRabbit. Here's what changed:

- Tests: 0 → 32 files (unit + integration + e2e)

- Bundle: ~380 KB, 6 deps → ~79 KB, 1 dep (wavesurfer.js)

- Accessibility: zero ARIA → full keyboard nav + VoiceOver tested

- Re-renders: split context + memoization

- Public API: added useAudioPlayer() hook

The part nobody talks about: I gave the same PR review to 4 models (Claude, CodeRabbit, Gemini, GPT). Every single one got something wrong.

The two that got it right rotated depending on the question.

My rule became: if two models agree AND the official docs confirm, ship it. Otherwise, run the code.

That cross-validation caught hallucinated configs at least 3 times before they shipped.

I wrote up the whole process - the validation stack, what AI caught that I missed, and why I think "just vibe-code your own player" misses the point:

https://musgravte.hashnode.dev/the-unfiltered-log-of-shipping-open-source-v2-with-ai-agents

Source is here if anyone wants to dig into the actual changes: https://github.com/slash9494/react-modern-audio-player


Prompt your ideas to life with Figma Make. No more explaining your vision in a doc. Pitch your idea with an AI-prompted proof of concept.
BERJAYA Prompt your ideas to life with Figma Make. No more explaining your vision in a doc. Pitch your idea with an AI-prompted proof of concept.


Am I overreacting? Backend dev contributing to frontend is hurting code quality
Am I overreacting? Backend dev contributing to frontend is hurting code quality

I’m a frontend developer and lately I’ve been feeling pretty uncomfortable with what’s happening on my team.

I originally built and structured the frontend repo I created reusable components, set up patterns, and tried to keep everything clean and scalable. Recently, one of the backend devs started contributing directly to the frontend using my repo.

The issue isn’t that they’re contributing ,I actually welcome that. But the way it’s being done is worrying. There’s very little thought around structure or scalability. I’m seeing files going 800+ lines, logic mixed everywhere, and patterns that don’t really fit the architecture I had in place.

What bothers me more is that I know this could’ve been done much simpler and cleaner with a bit of planning. Even when I use AI, I don’t just generate code blindly , I first think through the architecture (state management, component structure, data flow), and only then use AI for repetitive parts. Then I review everything carefully.

It feels like AI is being used here just to “make things work” rather than “make things right,” and the repo is slowly becoming harder to maintain.

I don’t want to gatekeep frontend, but at the same time, I feel like the code quality and long-term scalability are getting compromised.

Is this something others are experiencing too? How do you handle situations where non-frontend devs start contributing in ways that hurt the codebase?


I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice.
I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice.
Show /r/reactjs

If you've ever needed to embed Office documents in a web app, you know how hard it is. Your usual options are limited to:

  1. Use a JS library to convert to HTML — but lose rendering fidelity

  2. Convert documents server-side — adds infrastructure complexity and a mandatory upload pipeline

  3. Pay for an enterprise viewer — expensive, often heavyweight, and usually comes with lock-in

I've been building docMentis as a different kind of solution: a universal document viewer for the web.

What makes it different:

- a rendering engine built from scratch for high-fidelity viewing across PDF, DOCX, PPTX, SVG, and images
- a Rust/WebAssembly engine that runs in the browser, with client-side viewing by default
- an MIT-licensed, open-source viewer layer, with a closed-source rendering engine that is free to use in commercial products when shipped with the viewer

The result is one viewer and one integration path across formats, instead of stitching together separate tools with different rendering behavior.

Links:

- Website: https://docmentis.com
- GitHub: https://github.com/docMentis/docmentis-udoc-viewer
- npm: https://www.npmjs.com/package/@docmentis/udoc-viewer

If you've dealt with this problem before, I'd be interested in how you approached it. Happy to answer technical questions about the rendering pipeline, the document model, or the tradeoffs between client-side viewing and server-side conversion.