r/react

▲ 0 r/react

I built a UI library for interfaces that shouldn't look like everyone else's

wensity-ui

been working on Wensity UI for a while and finally launched it.

the goal is to build components that feel a little different from the usual UI libraries. would love some feedback from React devs here.

ui.wensity.com

reddit.com
u/Low-Trust2491 — 10 hours ago
▲ 22 r/react

Nearly 3 years of MERN experience, ~30 interviews in 4 months, consistently reaching later rounds but no offers. What am I missing?

I have around 3 years of full-stack development experience (MERN/PERN), and over the past 4 months I've attended almost 30 interviews. The good part is that I've improved a lot through the process. My communication skills have become much better, and in technical interviews I can usually answer around 90-95% of the questions confidently. I've reached the 2nd or 3rd round in about 9 interview processes, but I keep getting rejected in the final stages with either generic feedback or no feedback at all.

Recently, I interviewed with a startup building LLM-based products and models. I made it to the 3rd round, where I explained in detail (second round):

- Features I built in my previous company

- Overall system architecture

- CI/CD pipeline and deployment process

- Business model and why the product was valuable to customers

- Technical decisions, challenges, and how we solved them

- The first round focused on React, Node.js, and PostgreSQL. Most of the questions were based on these technologies, covering core concepts, practical implementation, and problem-solving.

The interview felt like it went really well, but I still haven't heard back.I'm curious about a few things:

- How common is it for companies to continue interviewing candidates even after they already have a preferred candidate?

- Do teams often finish scheduled interviews just for comparison, company policy, or to have backup candidates?

- For hiring managers and senior engineers: what are the most common reasons a candidate who performs well in technical interviews still gets rejected in the final rounds?

Honestly, I'm starting to lose hope. It feels like the market has become significantly harder compared to even a year ago. Despite constantly improving my communication, interview skills, and technical knowledge, I still can't seem to convert final rounds into an offer.

I'd really appreciate honest insights from recruiters, hiring managers, or developers who've been on either side of the hiring process. Is this just how the market is right now, or is there something I should be focusing on that I might be overlooking?

reddit.com
u/cryptomallu123 — 1 day ago
▲ 7 r/react

meet limboo alternative to codex app open source

Over the past few months I've been building an open-source desktop application called Limboo, and I wanted to share the idea behind it because I'm curious whether anyone else has been running into the same problems.

One thing I've noticed with AI coding tools is that they're incredibly good at writing code, but once a project becomes large, the actual engineering workflow still feels fragmented.

The AI is usually in one window.

Git is somewhere else.

The terminal is somewhere else.

Build logs are somewhere else.

Documentation is in another browser tab.

Project decisions are spread across old conversations.

The longer I work on something, the more time I spend rebuilding context instead of actually building software.

That observation is what started Limboo.

The goal isn't to replace coding agents like Claude Code, Codex, or other agent-based tools.

I actually want to use those.

The idea is to build everything around them.

Instead of treating the AI as the entire application, Limboo treats it as one component inside a much larger engineering workspace.

Every task becomes its own isolated session.

Each session has its own conversation history, terminal state, Git branch or worktree, checkpoints, permissions, local memory, search index, execution timeline, and task list.

If I stop working on a feature today and come back in two weeks, I don't want to explain everything again.

I want to reopen the session and continue exactly where I left off.

Another thing I wanted to improve is transparency.

I don't like when an agent runs commands that disappear into a log somewhere.

If it's running a build, I want to watch the build.

If it's modifying files, I want to see the diffs while it's working.

If it wants approval, I don't want a giant modal that interrupts everything—I want approvals to appear naturally inside the conversation stream.

Planning is another area I'm spending a lot of time on.

Instead of generating a plan that disappears after one response, the plan becomes a living task board.

Once it's approved, the agent starts implementing those tasks while updating their progress in real time.

Git is also treated as a first-class part of the workflow instead of an afterthought.

Every change is visible through diffs, checkpoints, snapshots, commit previews, and history before anything gets committed.

The goal is to make it obvious what changed, why it changed, and which conversation produced those changes.

I'm also experimenting with isolated Git worktrees so multiple sessions can work on completely different features without stepping on each other.

Another area I'm investing in is local memory.

Rather than asking the agent to rediscover architecture decisions, coding conventions, and previous implementations every session, the application stores that knowledge locally and retrieves only what's relevant before each request.

Everything is designed around long-running software projects instead of one-off prompts.

The stack is Electron on the desktop, Rust for native services, and AI agents orchestrated through the Claude Agent SDK.

It's still very much a work in progress, and I'm sure there are plenty of design decisions I'll end up changing as I build more of it.

I'd genuinely appreciate feedback from people who use AI coding tools every day.

I'm especially interested in hearing what parts of your workflow still feel disconnected, because that's really the problem I'm trying to solve.

Repository: https://github.com/BotCoder254/limboo

I'd love to hear what you think—both the good and the bad.

▲ 4 r/react

Contributing to Open Source projects is impossible, Any tips?

I have been trying to improve my resume by contributing to open source projects with open tickets, it seems like every ticket is always taken. Any tips to mitigate this? Suggestions to repos where i could learn the codebase by reliably and regularly contributing would help.

reddit.com
u/Background-Mode6592 — 1 day ago
▲ 0 r/react

Day 31 of Learning React ⚛️

Today I learned:

- Form Handling

- State Lifting Up

- Conditional Rendering

- Single Way vs Two Way Binding

- Creating UI from Figma designs using Tailwind CSS

Built a simple Login/Register switch using:

u/utkarsh__kushwaha — 1 day ago
▲ 139 r/react+2 crossposts

Domternal: a rich text editor with first-class Angular components (signals, OnPush, zoneless-ready)

Domternal is an open-source (MIT) rich text editor built on ProseMirror, with first-class Angular components.

The clip shows one editor core as two surfaces: a Notion-style block editor and a classic toolbar editor.

The Angular part ("@domternal/angular")

- 6 standalone components (no NgModule): editor, toolbar, bubble menu, floating menu, emoji picker, Notion color picker
- Signals-driven, OnPush, zoneless-ready (the demo runs on zoneless Angular 21)
- The editor is a ControlValueAccessor, so it drops straight into ngModel or a reactive FormControl; outputFormat="json" emits JSON
- Toolbar and menus auto-render from whatever extensions you load, so there is no manual button wiring
- Works from Angular 17.1 through 21

Features

Notion-style blocks (drag handle, slash menu, smart paste, floating table of contents), tables, LaTeX math, images, @mentions, emoji, collapsible details, syntax-highlighted code blocks. 126 chainable commands, 70+ nodes, marks and extensions, all tree-shakeable. Light and dark theme via 160+ CSS variables. getHTML({ styled: true }) inlines the CSS so exported content still renders in an email client or a CMS.

Under the hood

Built on ProseMirror, strict TypeScript throughout. About 117 KB gzipped including ProseMirror. The same Playwright e2e suite runs green across all four framework wrappers, on top of 4,400+ unit tests.

It is MIT and currently at v0.11.2. I would love your feedback.

Site: https://domternal.dev
GitHub: https://github.com/domternal/domternal

u/Thomas_17188 — 3 days ago
▲ 1 r/react+2 crossposts

I built an app to help students connect and travel to exam centers together [Tech Stack: React, Tailwind, Firebase]

Hey folks,

I wanted to share a side project I've been working on called ExamBuddy.

The Problem:
During competitive exams, a lot of students get assigned centers that are far away from their homes. Traveling alone is expensive and sometimes unsafe, and coordinating transport is a hassle.

The Solution:
I built a platform where students can find others who are traveling to the same exam center or nearby areas. It allows them to connect, pool resources for cabs/buses, and share travel plans.

Tech Stack I Used:

  • Frontend: React (Vite) + Tailwind CSS for styling.
  • Backend/Auth: Firebase Authentication (Google Sign-in).
  • Database: Firestore for storing user profiles and real-time travel coordination.
  • Hosting: Google Cloud Run (currently in preview).

Challenges I faced:
Initially, I struggled with deciding between Vercel and Firebase for hosting, but eventually leaned towards Firebase/Cloud Run because it integrated seamlessly with my database and Auth setup. I also learned a lot about structuring real-time data for chat and coordination.

I'm looking for feedback on the UI/UX and any suggestions on what features I could add next!

If you want to check it out, the live preview link is here: https://exam-buddy-app-dywc.vercel.app/

(Any feedback on the codebase or architecture is highly appreciated!)

u/keerthivasan_7765 — 3 days ago
▲ 81 r/react+10 crossposts

Hi! I’m the dev behind PostSpark, a tool for creating beautiful image and video mockups of your apps and websites.

I recently launched a new feature: Mockup Animations.

You can now select from 25+ devices, add keyframes on a simple timeline, and export a polished video showcasing your product. It’s built to be a fast, easy alternative to complex motion design tools.

Try it out here: https://postspark.app/device-mockup

I’d love to hear your feedback!

u/world1dan — 3 days ago
▲ 27 r/react+1 crossposts

Hi! I’m the dev behind PostSpark, a tool for creating beautiful image and video mockups of your apps and websites.

I recently launched a new feature: Mockup Animations.

You can now select from 25+ frames & devices, add keyframes on a simple timeline, and export a polished video showcasing your product. It’s built to be a fast, easy alternative to complex motion design tools.

Try it out here: https://postspark.app/templates

I’d love to hear your feedback!

u/world1dan — 3 days ago
▲ 4 r/react+1 crossposts

GSAP + React: How can I move an image into a target container on scroll?

import { RefObject } from "react";
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
import { useGSAP } from "@gsap/react";


gsap.registerPlugin(ScrollTrigger);


type HeroAnimationRefs = {
  heroSectionRef: RefObject<HTMLElement | null>;
  heroTextRef: RefObject<HTMLDivElement | null>;
  floatingImageRef: RefObject<HTMLDivElement | null>;
  storyTargetRef: RefObject<HTMLDivElement | null>;
};


export default function useHeroAnimation({
  heroSectionRef,
  heroTextRef,
  floatingImageRef,
  storyTargetRef,
}: HeroAnimationRefs) {
  useGSAP(() => {
    if (
      !heroSectionRef.current ||
      !heroTextRef.current ||
      !floatingImageRef.current ||
      !storyTargetRef.current
    ) {
      return;
    }


    const imageRect = floatingImageRef.current.getBoundingClientRect();
    const targetRect = storyTargetRef.current.getBoundingClientRect();


    const imageCenterX = imageRect.left + imageRect.width / 2;
    const imageCenterY = imageRect.top + imageRect.height / 2;


    const targetCenterX = targetRect.left + targetRect.width / 2;
    const targetCenterY = targetRect.top + targetRect.height / 2;


    const x = targetCenterX - imageCenterX;
    const y = targetCenterY - imageCenterY;


    const scale = Math.min(
      targetRect.width / imageRect.width,
      targetRect.height / imageRect.height,
    );


    const tl = gsap.timeline({
      scrollTrigger: {
        trigger: heroSectionRef.current,
        start: "top top",
        end: "bottom top",
        // pin: true,
        scrub: 1,
        markers: true,
        invalidateOnRefresh: true,
      },
    });


    tl.to(
      heroTextRef.current,
      {
        opacity: 0,
        y: -250,
        ease: "none",
      },
      0,
    );


    tl.to(
      floatingImageRef.current,
      {
        x,
        y,
        // scale,
        transformOrigin: "center center",
        ease: "none",
      },
      0,
    );


    ScrollTrigger.refresh();
  });
}

I'm trying to animate the hero image so that it moves into the red box while scrolling. I calculated the distance using getBoundingClientRect(), but the result isn't what I expected. Could someone point out what I'm doing wrong? Here's my code:

u/Upper-Click-9445 — 3 days ago
▲ 46 r/react+5 crossposts

I built a tool that turns any image into self-drawing SVG line art

Thought it would be cool to add a self-drawing SVG animation to my portfolio, but it took some time to figure out. anime.js has this feature, but getting it to work properly and converting an image into a clean SVG paths (with the right threshold and other settings) may take some time. So I built a tool for it.

You drop in a photo or logo -> it converts it into SVG paths -> animates those paths(they draw themselves like a pen sketch)

features/how to use

  • upload an image and it converts into single-color SVG line art
  • choose custom path and background colors
  • adjust the trace settings: threshold(usually 100 works best), invert dark/light
  • control the animation: duration(in ms), delay between paths, easing, direction (forward/reverse/ping-pong), looping, fade-in fill at the end
  • Export as copy-paste SVG, a downloadable SVG file, or a self-contained HTML file with everything included

Works best with illustrations, cartoons, and clean line drawings. Real-world photos can be harder to convert into clear SVG paths

Links:

Open to feedback or suggestions if you have any

u/Equivalent-Banana328 — 4 days ago
▲ 4 r/react+2 crossposts

[Discussion] How painful is migrating legacy React Class Components to Hooks? Are there good tools for this?

Hi all,

I'm a developer exploring a potential tool idea and wanted to get your honest take.

**The problem:** I've heard from several developers that migrating old React Class

Component codebases to Hooks is tedious and error-prone. Converting lifecycles

(componentDidMount → useEffect), refactoring state logic, handling HOCs... it's all

manual work that eats up days.

**My questions:**

  1. Do you have legacy Class Component code that needs converting? How much of your

    codebase is still Class-based?

  2. How painful has the migration been? Is it mostly manual refactoring, or have you

    found tools that help?

  3. Do you know of any existing solutions (open-source or paid) that auto-convert Class

    to Hooks? How well do they work?

  4. If there was a tool that could automatically convert your Class components to Hooks

    with ~90% accuracy (so you just need to review and tweak), would you use it?

    Would you pay for it?

I'm genuinely curious about the scale of this problem and whether it's worth solving.

Thanks for any insights!

P.S. - Not trying to sell anything here, just validating an idea before investing time.

reddit.com
u/Emergency-Yam169 — 3 days ago
▲ 23 r/react+1 crossposts

You’ve never sent files this fast - introducing AltSendme (8.3k github stars)

Hi all,

I’ve been working on AltSendme for the past 8 months, a free and open-source file transfer app built around one simple idea: file transfer doesn’t need to be complicated.

Instead of uploading your files to cloud storage first, AltSendme uses peer-to-peer transfer powered by Iroh. You drop a file or folder, AltSendme creates a one-time share ticket, and the receiver pastes that ticket to start the transfer.

Available as cross-platform desktop applications, Android and CLI.

Some of the main features:

- Peer-to-peer direct transfers, with no cloud storage in the middle

- End-to-end encryption using QUIC + TLS 1.3

- No accounts or personal info required

- Send files or folders of any size or format

- Resumable transfers if a download gets interrupted

- Broadcast mode to share the same file/folder with multiple peers

- Preview before downloading

- Fast transfers, including support for multi-gigabit connections

- NAT traversal with encrypted relay fallback (Self-host Iroh relays)

- Free and open source

I’m sharing it here because I’d love feedback from other web/dev folks, and I’m also looking for contributors.

GitHub: https://github.com/tonyantony300/alt-sendme

u/Rare_Squash93 — 4 days ago
▲ 18 r/react+2 crossposts

Component Communication Patterns in React Applications

React gives you a lot of ways to make two components share data but it gets more and more complicated based on the data and how far apart the components are. Lets see the different ways components can communicate with each other.

neciudan.dev
u/creasta29 — 3 days ago
▲ 86 r/react+1 crossposts

Is anyone else tired of the "Everything must be a microservice" mindset in Indian startups?

I've been talking to a few founders and senior devs recently about scaffolding a new SaaS product, and it feels like everyone is blindly copying enterprise architectures before they even hit 100 users.

People are spinning up independent Node/Spring Boot microservices, setting up separate Docker containers, and wrestling with Kubernetes configs just to handle basic operations like user onboarding, multi-tenant DB isolation, and auth fallbacks.

Why has the monolithic approach become so taboo?

If you are building on a modern stack like Next.js with TypeScript and a solid relational DB (PostgreSQL/SQL), you can scale a clean monolith incredibly far using optimized Edge runtimes and server actions. It eliminates network latency between services, keeps the codebase unified, and doesn't require a dedicated DevOps engineer just to deploy a hotfix.

Are teams actually seeing a performance bottleneck that justifies the microservice overhead early on, or is it just CV-driven development to look "enterprise-ready"? How are you structuring your SaaS/product backends in 2026?

reddit.com
u/IterateFast — 7 days ago
▲ 2 r/react

After learning React, what should I focus on next to become a better frontend developer?

I've become comfortable with React and have built several projects, but I feel like I've reached the point where tutorials aren't enough anymore.

For those with real production experience, what skills made the biggest difference in your career after React?

Was it architecture, testing, performance optimization, TypeScript, accessibility, animations, design patterns, system design, or something else?

I'm looking for advice from developers who've already been through this stage.

reddit.com
u/ShobitThakur — 6 days ago
▲ 3 r/react+1 crossposts

advice on modularizing a growing Next.js App Router codebase

Hey everyone,

I’m working on a real Next.js App Router project that has grown past the small app stage.

A few feature pages have become large client components that handle too much at once: forms, dialogs, tables, local state, helper functions, types, and server action calls. There is also some duplication across the app, especially around shared types, utility logic, and data-fetching patterns.

One feature in the project feels much cleaner because it uses a route-level feature pattern: the route owns its page, a local _components folder, smaller pieces for things like filters, tables, modals, headers, and pagination, plus a local types.ts and a small barrel file for exports.

I’m considering using that pattern more broadly, but what I’m really interested in is how larger Next.js projects stay structured over time. Once an app has many routes, shared UI, server actions, types, hooks, utilities, and domain logic, what keeps the codebase understandable?

For people who have worked on large Next.js App Router projects, what structure has actually held up in production?

Do you organize mostly by route, feature/domain, layer, or some mix of those? When do you move code into shared folders instead of keeping it colocated? How do you avoid both extremes: giant route files on one side and an over-engineered architecture on the other?

What has worked for you and what would you avoid?

reddit.com
u/Gold_Whole_2372 — 6 days ago
▲ 3 r/react+2 crossposts

[Code Review] responsive-keepalive: Maintain mobile/desktop state across breakpoints (React 19.2 Activity)

Hi everyone,

As a korean junior developer, I'm sharing v0.1.0 of responsive-keepalive and would genuinely appreciate any feedback before I commit to the 1.0 API. It's still early, so honest criticism is more than welcome.

The problem I was trying to solve

Most responsive libraries just toggle CSS. But sometimes mobile and desktop layouts are structurally different — different component hierarchy, different data fetching — and the usual pattern ends up being:

{isMobile ? <MobileNav /> : <DesktopNav />}

The issue is that every breakpoint switch unmounts and remounts, which blows away local state and scroll position.

What it does

It wraps React 19.2's <Activity> to keep both trees mounted but one hidden, so state survives across switches.

const { Desktop, Mobile } = createResponsive({
  breakpoints: { mobile: 0, desktop: 768 }
});

function App() {
  return (
    <>
      <Mobile><MobileNav /></Mobile>      {/* mounted, state preserved */}
      <Desktop><DesktopSidebar /></Desktop>
    </>
  );
}

It also tries to handle: anti-thrash debounce, IME-safe switching (CJK keyboards), SSR, and falls back to a clean swap on React < 19.2 — though I'm sure there are edge cases I haven't thought of yet.

If you have a moment, I'd really appreciate thoughts on

  1. Does the createResponsive API feel natural, or is there anything that seems off?
  2. Are there use cases where you'd reach for something like this but it would fall short?
  3. Is there anything that would make you hesitant to use it in a real project?

Any feedback at all — even "this isn't something I'd ever use, because..." — would be incredibly helpful.

Architecture Docs: responsive-keepalive · Architecture & API Pipelines
GitHub: https://github.com/vi-wolhwa/responsive-keepalive
npm: https://www.npmjs.com/package/@audemodo/responsive-keepalive

Thank you for taking the time to read this!

reddit.com
u/More_Application_591 — 5 days ago