-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
I would pick component library, because building components from scratch is headache. You can go with radix ui and style them as you want or select any popular library and just adjust components if you need (I strongly recommend Mantine, it has plenty of components, hooks, calendars, carousel, text editor, form support and has great support on discord). So for now you have bare react+component library. You need to decide how you want to style application, I think you can't go wrong with css modules but use styled-components if you like them more. Install jest and vitest for unit testing.