❌

Normal view

GitHub - orange-groove/react-map-annotate: Draw on Mapbox, MapLibre, Google, Leaflet, or ArcGIS in React

GitHub - orange-groove/react-map-annotate: Draw on Mapbox, MapLibre, Google, Leaflet, or ArcGIS in React

I built an open-source React map drawing library because I got tired of fighting drawing controls that wanted to own the UI.

react-map-annotate lets your application control the drawing session. Put the toolbar in your sidebar, header, or command palette. Select tools, finish shapes, edit labels and colors, undo/redo, and persist annotations through React state.

It supports Mapbox, MapLibre, Google Maps, Leaflet, and ArcGIS through separate adapters, with a shared annotation model.

The goal is simple: the map should render the drawing, not dictate how your application works.

It includes freehand drawing, polygons, rectangles, circles, arrows, markers, text, and measurement tools, along with editing handles and a headless API.

The project is MIT licensed and available on npm. I’d love feedback from developers building GIS, field-service, site-planning, or other map-heavy applicationsβ€”especially anyone who has had to work around existing drawing controls.

GitHub: https://github.com/orange-groove/react-map-annotate

npm: https://www.npmjs.com/package/@orange-groove/react-map-annotate

What would you need from a drawing library before using it in a production application?

submitted by /u/Silly-Calligrapher21 to r/reactjs
[link] [comments]

NavCN: My New Project for Navigation UI Components Please Share Your Feedback and Suggestions!

Hi everyone! πŸ‘‹ I’m excited to introduce NavCN, a project I’ve been building to provide a collection of beautiful, customizable, and ready-to-use navigation UI components. The goal is to help developers build modern interfaces faster without creating navigation elements from scratch. Components are built with Nextjs, Tailwind CSS, Motion, and Lucide, with a focus on customization and developer experience. You can browse, preview, install it via shadcn command line, and adapt components to your project. I’m also improving the installation and distribution experience. I’d genuinely love your honest feedback and suggestions!

(currently supports nextjs only.)

project link:- https://navcn-phi.vercel.app/

submitted by /u/Suspicious-Smell-868 to r/reactjs
[link] [comments]

I've been working on virtual scrolling in React and found a weird issue in Safari.

I've been working on virtual scrolling in React and found a weird issue in Safari.

When scrolling normally, everything was fine. But if I scroll very fast, sometimes I could see a white empty area for a very short moment before the next rows appeared.

First I thought React rendering was just too slow.

So I increased overscan and kept more rows above and below the viewport. It helped a lot, but I could still see the problem sometimes.

After looking into it more, I found that Safari's scroll/compositor layer can move before React finishes rendering the next virtual rows.

So basically Safari was already showing the next position, but React was still catching up.

I kept trying to make React faster, but then I tried something a little different.

Instead of trying to always win the race, I put a simple CSS background behind the real rows.

It's just a repeating-linear-gradient with the same row height, background and border.

Something like:

Safari scrolls ↓ CSS row background is already there ↓ React renders next rows ↓ Real rows cover it 

There is no real data in the background. No cells, no events. It's just visual. I also set pointer-events: none and aria-hidden.

With this + extra overscan above and below, the flicker was almost gone.

I thought it was interesting because at first I was trying to solve a React performance problem.

But maybe it wasn't only about making React faster.

Sometimes it's enough to make those few milliseconds invisible. :)

Anyone had a similar problem with Safari and virtual scrolling?

I'm curious how you solved it.

submitted by /u/JangKiYoung to r/reactjs
[link] [comments]

React Surgeon: click a broken element, it maps it to the JSX and repairs it, but only calls it fixed if a browser replay passes

I have been building this for a while and it is finally on npm, so I would rather put it in front of people who will tell me what is wrong with it.

How it works. A development-only Vite plugin stamps source coordinates onto intrinsic JSX during serve. You click the broken element in your browser and it reports the file and line that rendered it. Babel then assembles a narrow slice of context from the clicked component, its imports and related components, and a small local model proposes an exact substring replacement. Not a file rewrite. It has to match a unique existing substring or the patch is rejected.

The part I actually care about is that the model's opinion does not count. After every edit it runs your typecheck, lint, tests and production build, then replays your acceptance scenario in a real Chromium instance. Only if all of that passes does it report VERIFIED. Otherwise it reports BLOCKED, leaves the diff in your working tree so you can read it, and tells you the undo command.

That distinction earned its keep while I was testing. One patch passed typecheck, lint, tests and the production build and was still completely wrong. It set state back to the previous array reference, React bailed out on Object.is, and nothing re-rendered. Four green checks on a broken fix. Only the browser replay caught it.

It also refuses to run if your acceptance scenario already passes against the unmodified app, so it cannot invent a reproduction to look useful.

Everything is local. Qwen 2.5 Coder 1.5B on CPU through node-llama-cpp, which npm installs as a prebuilt binary, so nothing needs to be on your PATH. If you already run Ollama or LM Studio you can point it there instead. No API keys, no telemetry, nothing leaves the machine.

npm install -g @react-surgeon/cli cd your-react-app npm install -D @react-surgeon/vite-plugin react-surgeon init 

Honest limitations, because I would rather say them than have you discover them:

  • The 1.5B model solves roughly half the bugs it attempts on my three-bug demo app and refuses the rest instead of guessing. Read every diff.
  • Analysis resolves ordinary relative imports. Path aliases, higher order components, re-exports and provider chains are where it will get the context wrong, and that is the next thing I am working on.
  • You write the acceptance scenario. There is a command that drafts one from a recorded interaction and tells you which values changed, but you still decide what correct means.

Repo, docs, and a demo app with three reproducible bugs: https://github.com/waleedmustafa971/React-surgeon

MIT licensed.

I am genuinely after criticism on the approach, particularly whether the verification gate is strict enough or whether I am fooling myself with it.

submitted by /u/Sudden_Advantage_911 to r/reactjs
[link] [comments]

Looking for a free dashboard template/skeleton for a Bitcoin Forensics project (React/Graph UI)

Hi everyone, I'm building a Bitcoin Forensics and AML (Anti-Money Laundering) dashboard that visualizes pre-computed ML classification results and network graphs using React and Cytoscape.js. My backend and core graph logic are fully functional, but I'm struggling to put together a clean, professional dashboard UI layout (sidebars, risk score cards, metrics, alert logs) under a tight deadline. Does anyone know of any open-source dashboard boilerplates, free UI kits, or quick workarounds suitable for data-heavy forensic tools? Any recommendations would be greatly appreciated. Thanks!

submitted by /u/Cautious_Today_1830 to r/reactjs
[link] [comments]

[For Hire] Senior React.js / Next.js / React Native Engineer | 10+ Years | Remote | Any Time Zone

Hi everyone! πŸ‘‹

I’m currently exploring full-time remote opportunities as a Senior React.js Engineer / Frontend Engineer / Tech Lead, and I’m open to working with teams across any time zone.

I have 10+ years of software engineering experience, with a strong focus on React.js, Next.js, TypeScript, JavaScript, and React Native.

A few things that define my experience:

β€’ πŸš€ React.js & Next.js β€” building production-grade applications, reusable component systems, performance-focused UIs, SSG/ISR, and modern frontend architectures.

β€’ πŸ“± React Native β€” full ownership from architecture and development all the way to iOS/Android builds, CI/CD, signing, TestFlight/App Store and Google Play releases.

β€’ πŸ§‘β€πŸ’» Strong hands-on ownership β€” I’ve independently designed and delivered products end-to-end, including working directly with requirements, architecture, development, deployment, and ongoing improvements.

β€’ 🌎 Multiple clients & products β€” experience working across different client projects and business domains, adapting quickly to new requirements and technologies.

β€’ πŸ‘₯ Technical leadership β€” experience leading teams, mentoring developers, conducting interviews, establishing engineering processes, and driving projects from kickoff to delivery.

β€’ 🀝 Client & stakeholder communication β€” comfortable communicating directly with clients and stakeholders, translating business requirements into practical technical solutions, and working effectively with distributed teams.

β€’ ⚑ Performance & scalability β€” Core Web Vitals, caching, lazy loading, virtualization, memoization, bundle optimization, and scalable component architecture.

I’ve also worked on enterprise platforms, logistics systems, LLM/RAG applications, content management platforms, and white-label mobile products.

I’m looking for a team where I can stay hands-on technically while also bringing my leadership and ownership experience.

πŸ“ Location: Hyderabad, India
🌍 Preference: Fully Remote
πŸ• Timezone: Open to any time zone
πŸ’Ό Availability: Full-time/ Contract opportunities

LinkedIn: https://linkedin.com/in/anurag-vasi-46595810a

If you’re hiring for a senior React/Next.js/React Native role, or know of a team looking for someone with this background, I’d be happy to connect.

Thanks! πŸ™Œ

submitted by /u/anuragnoddy to r/reactjs
[link] [comments]

TipTap vs Lexical for a chat app project

I am creating a little chat app for practice, but I was unsure what direction to take with the editor, out of the options I found TipTap and Lexical, I tried a bit of both (Didn't get very far with either yet) But I am still so torn on which one I should try first

In this I want more possibilities of what you can put in the chat, for example: Embedded images, tables, maybe some excalidraw integration, etc.

I also don't want to spend too much time on either and realizing that picking one over the other was not worth it long-term because of the timetaken

If anyone has used tiptap, lexical or both could you give some pro's and con's to each and some guidance on what I should pick?

Thanks! :)

submitted by /u/BrotherManAndrew to r/reactjs
[link] [comments]

I'm building a visual builder for React components, is this actually useful?

I’ve been working on NexoreUI(v1.5), but this time I focused on the visual builder.

You can customize a component visually, change its props, preview the result, and then copy the code into your project.

The goal is to make it easier to go from β€œI like this component” to β€œI actually use it.”

Still early, so I’d love to hear from React developers:

Would you actually use a tool like this?

https://nexoreui.site
Github: https://github.com/Al1mov77/NexoreUI

submitted by /u/Al1mov_77 to r/reactjs
[link] [comments]

LaunchPad Lite: An open-source starter pairing Next.js 15, Better Auth, and Drizzle ORM

Hi all,

Sharing a project I recently finished and open-sourced: LaunchPad Lite.

It’s a clean starter template built around the Next.js 15 App Router ecosystem with a focus on type safety and modern auth:

- Better Auth: Handled via Server Actions and route handlers, avoiding legacy NextAuth quirks.

- Drizzle ORM: Minimalist schema setup designed to connect effortlessly with Supabase, Neon, or local Postgres.

- Tailwind CSS v4 + Radix UI: Fast UI primitives without CSS bloat.

GitHub: https://github.com/BZDevelopments/LaunchPad-Lite

For anyone who eventually needs full Stripe subscriptions, AI SDK v5, or multi-layout support, I also maintain a Pro version, but Lite is 100% self-contained and free forever. 

Take a look at the repo structure and let me know what you think of the architecture!

submitted by /u/Willing-Novel6708 to r/reactjs
[link] [comments]

i made an english learning app

Hi, I made an free english learning app site

it has ipa (rachel english) and speech rules with annotations to study connected speech

give it a try and use the flag button to report issues which im sure there are a lot since im not a native speak and rules are generated with ai.

thanks !

submitted by /u/No_Mud_4629 to r/reactjs
[link] [comments]

I built a PDF processing web app from scratch β€” looking for feedback from developers

Hey everyone πŸ‘‹

I recently finished building PDFForgeLib, a project I started to explore the challenges involved in building a web application around PDF processing.

Tech stack: typescript+next.js + Python/FastAPI + supabase+vercel+render

The project focuses on common PDF operations such as:

  • Merging and splitting PDFs
  • Compressing PDFs
  • Converting files
  • Working with different PDF utilities
  • Handling file uploads and processing
  • Responsive UI for desktop and mobile

Project: [https://pdfforgelib.com/](https://)

One of the things I found interesting while building it was that PDF processing becomes quite different once you start thinking about larger files, processing time, browser limitations, error handling, and keeping the user experience simple.

I'm interested in hearing from developers who have worked with file processing, document systems, or similar web applications.

A few things I'd like to discuss:

  • What problems would you expect with this type of architecture as usage grows?
  • What are the important security considerations when processing user-uploaded PDFs?
  • Would you handle PDF processing primarily on the client or server?
  • What performance issues should I be looking out for?
  • Are there better approaches for handling large files?
  • What functionality would you consider essential in a PDF utility?
  • Is there anything about the UX or workflow that feels unnecessarily complicated?

I'm still improving the project, so I'm particularly interested in technical criticism, alternative approaches, and things I may have overlooked.

Would be great to hear how other developers would approach the same problem.

Thanks!

submitted by /u/ShariQ-24 to r/reactjs
[link] [comments]
❌