Ask HN: How can a BE/infra developer handle the FE side of personal projects?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • mui-toolpad

    Toolpad Studio: Low-code admin builder. Open-source and powered by MUI.

  • - Vercel for hosting, because they take a Git repo and host it for you in a couple clicks and manage everything. Free or cheap ($20/mo) at MVP stage.

    - Next.js (Vercel's open-source React framework) will handle frontend tooling, routing, type checking, and linting for you with a single command (`npx create-next-app`). Starting the server is one more command (`next dev`) and your page is up and running.

    - For the UI layer, I'd recommend either starting with one of their prebuilt templates (https://vercel.com/templates/next.js) and modifying it as needed

    OR using a modern component system like https://mui.com/ or https://ant.design/ or https://chakra-ui.com/ instead of trying to learn and write your own component and JS+CSS code. Using one of these systems will allow you to compose complex apps out of well-made, well-documented, easy-to-use primitives, making it much easier to focus on business needs rather than basic frontend components and infra.

    The basic MUI system, for example, is totally free. You can find third-party apps built on top of it (https://mui.com/store/#populars) and pay a one-time license fee to essentially "fork" them, getting a prebuilt working app that you just attach your backend API calls to.

    There are also low-code extensions of these frameworks (meaning you start with a GUI, plan out your app that way, but still have access to the source for future advanced changes). Examples are https://mui.com/toolpad/ and https://retool.com/use-case/dashboards-and-reporting

    ----------------------

    Is this a lot? Yes and no. React has a learning curve of its own, but it can take the place of having to learn raw HTML and CSS. (Yes, you eventually should know those things for debugging and polishing, but they are largely a level of abstraction below what you really need for a basic MVP).

    Once you learn React, its primary value isn't that it's a great language (opinions differ) but that it has a humongous ecosystem of third-party vendors, free open-source libraries (basically any component you might think to build is probably already available on npm), and a wide availability of devs from hobbyists to full-timers.

    Others in this topic will suggest going away from Javascript as much as possible (and using things like HTMX or backend-to-HTML solutions like the old days). That's fine, but you lose out on the rich ecosystem of React and Javascript, so you end up having to build more yourself -- which is what you're trying to avoid in your case.

    My own 2¢: As someone who grew up with HTML and made websites since the birth of Javascript and CSS, the web has always been messy. It's always been a semi-open ecosystem controlled by a few major companies (whether that's Netscape or Microsoft or Sun or Adobe, or these days Google and Apple), so it very much suffers from design-by-bullying. Whoever is the power player of the decade gets to add their favorite technologies that everyone else is forced to adopt. Thus the web became a hodgepodge of document markup systems poorly fitted for modern apps, with various hacks on top of hacks built to satisfy some big company or another's in-house needs. Sadly, that means going "vanilla HTML+JS" doesn't leave you with much, just the shattered legacy of poor historical decisions.

    React at least helps by encouraging componentization and abstraction of UI elements to functions, using cleaner data models (actual variables and objects) vs direct DOM manipulation (storing page content as state).

    We've gone through many generational shifts in approach, from the raw HTML days of Geocities to the you-build-it, we-host-it approach of Godaddy and its ilk, to the "all in one" CMSes like Wordpress or Drupal. These days, (if you want there to be), there can be a pretty clear separation between backend and frontend systems, and with that specialization came a bunch of startups (mentioned above) whose approach is "let us help you build it as best as we can, so you can focus on business logic instead of basic UI and infra". After 20 years of doing this, the current state of the web developer experience is actually my favorite so far. HTML and CSS suck for building apps (as opposed to documents), and although Javascript is a lot better since ECMAscript v6 (ES6), it is still inextricably tied to the DOM (and thus HTML elements) unless you use an abstraction like React.

    It's the difference between writing something like:

    ```

  • material-ui-docs

    ⚠️ Please don't submit PRs here as they will be closed. To edit the docs or source code, please use the main repository:

  • - Vercel for hosting, because they take a Git repo and host it for you in a couple clicks and manage everything. Free or cheap ($20/mo) at MVP stage.

    - Next.js (Vercel's open-source React framework) will handle frontend tooling, routing, type checking, and linting for you with a single command (`npx create-next-app`). Starting the server is one more command (`next dev`) and your page is up and running.

    - For the UI layer, I'd recommend either starting with one of their prebuilt templates (https://vercel.com/templates/next.js) and modifying it as needed

    OR using a modern component system like https://mui.com/ or https://ant.design/ or https://chakra-ui.com/ instead of trying to learn and write your own component and JS+CSS code. Using one of these systems will allow you to compose complex apps out of well-made, well-documented, easy-to-use primitives, making it much easier to focus on business needs rather than basic frontend components and infra.

    The basic MUI system, for example, is totally free. You can find third-party apps built on top of it (https://mui.com/store/#populars) and pay a one-time license fee to essentially "fork" them, getting a prebuilt working app that you just attach your backend API calls to.

    There are also low-code extensions of these frameworks (meaning you start with a GUI, plan out your app that way, but still have access to the source for future advanced changes). Examples are https://mui.com/toolpad/ and https://retool.com/use-case/dashboards-and-reporting

    ----------------------

    Is this a lot? Yes and no. React has a learning curve of its own, but it can take the place of having to learn raw HTML and CSS. (Yes, you eventually should know those things for debugging and polishing, but they are largely a level of abstraction below what you really need for a basic MVP).

    Once you learn React, its primary value isn't that it's a great language (opinions differ) but that it has a humongous ecosystem of third-party vendors, free open-source libraries (basically any component you might think to build is probably already available on npm), and a wide availability of devs from hobbyists to full-timers.

    Others in this topic will suggest going away from Javascript as much as possible (and using things like HTMX or backend-to-HTML solutions like the old days). That's fine, but you lose out on the rich ecosystem of React and Javascript, so you end up having to build more yourself -- which is what you're trying to avoid in your case.

    My own 2¢: As someone who grew up with HTML and made websites since the birth of Javascript and CSS, the web has always been messy. It's always been a semi-open ecosystem controlled by a few major companies (whether that's Netscape or Microsoft or Sun or Adobe, or these days Google and Apple), so it very much suffers from design-by-bullying. Whoever is the power player of the decade gets to add their favorite technologies that everyone else is forced to adopt. Thus the web became a hodgepodge of document markup systems poorly fitted for modern apps, with various hacks on top of hacks built to satisfy some big company or another's in-house needs. Sadly, that means going "vanilla HTML+JS" doesn't leave you with much, just the shattered legacy of poor historical decisions.

    React at least helps by encouraging componentization and abstraction of UI elements to functions, using cleaner data models (actual variables and objects) vs direct DOM manipulation (storing page content as state).

    We've gone through many generational shifts in approach, from the raw HTML days of Geocities to the you-build-it, we-host-it approach of Godaddy and its ilk, to the "all in one" CMSes like Wordpress or Drupal. These days, (if you want there to be), there can be a pretty clear separation between backend and frontend systems, and with that specialization came a bunch of startups (mentioned above) whose approach is "let us help you build it as best as we can, so you can focus on business logic instead of basic UI and infra". After 20 years of doing this, the current state of the web developer experience is actually my favorite so far. HTML and CSS suck for building apps (as opposed to documents), and although Javascript is a lot better since ECMAscript v6 (ES6), it is still inextricably tied to the DOM (and thus HTML elements) unless you use an abstraction like React.

    It's the difference between writing something like:

    ```

  • 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.

    SurveyJS logo
  • chakra-ui

    ⚡️ Simple, Modular & Accessible UI Components for your React Applications

  • - Vercel for hosting, because they take a Git repo and host it for you in a couple clicks and manage everything. Free or cheap ($20/mo) at MVP stage.

    - Next.js (Vercel's open-source React framework) will handle frontend tooling, routing, type checking, and linting for you with a single command (`npx create-next-app`). Starting the server is one more command (`next dev`) and your page is up and running.

    - For the UI layer, I'd recommend either starting with one of their prebuilt templates (https://vercel.com/templates/next.js) and modifying it as needed

    OR using a modern component system like https://mui.com/ or https://ant.design/ or https://chakra-ui.com/ instead of trying to learn and write your own component and JS+CSS code. Using one of these systems will allow you to compose complex apps out of well-made, well-documented, easy-to-use primitives, making it much easier to focus on business needs rather than basic frontend components and infra.

    The basic MUI system, for example, is totally free. You can find third-party apps built on top of it (https://mui.com/store/#populars) and pay a one-time license fee to essentially "fork" them, getting a prebuilt working app that you just attach your backend API calls to.

    There are also low-code extensions of these frameworks (meaning you start with a GUI, plan out your app that way, but still have access to the source for future advanced changes). Examples are https://mui.com/toolpad/ and https://retool.com/use-case/dashboards-and-reporting

    ----------------------

    Is this a lot? Yes and no. React has a learning curve of its own, but it can take the place of having to learn raw HTML and CSS. (Yes, you eventually should know those things for debugging and polishing, but they are largely a level of abstraction below what you really need for a basic MVP).

    Once you learn React, its primary value isn't that it's a great language (opinions differ) but that it has a humongous ecosystem of third-party vendors, free open-source libraries (basically any component you might think to build is probably already available on npm), and a wide availability of devs from hobbyists to full-timers.

    Others in this topic will suggest going away from Javascript as much as possible (and using things like HTMX or backend-to-HTML solutions like the old days). That's fine, but you lose out on the rich ecosystem of React and Javascript, so you end up having to build more yourself -- which is what you're trying to avoid in your case.

    My own 2¢: As someone who grew up with HTML and made websites since the birth of Javascript and CSS, the web has always been messy. It's always been a semi-open ecosystem controlled by a few major companies (whether that's Netscape or Microsoft or Sun or Adobe, or these days Google and Apple), so it very much suffers from design-by-bullying. Whoever is the power player of the decade gets to add their favorite technologies that everyone else is forced to adopt. Thus the web became a hodgepodge of document markup systems poorly fitted for modern apps, with various hacks on top of hacks built to satisfy some big company or another's in-house needs. Sadly, that means going "vanilla HTML+JS" doesn't leave you with much, just the shattered legacy of poor historical decisions.

    React at least helps by encouraging componentization and abstraction of UI elements to functions, using cleaner data models (actual variables and objects) vs direct DOM manipulation (storing page content as state).

    We've gone through many generational shifts in approach, from the raw HTML days of Geocities to the you-build-it, we-host-it approach of Godaddy and its ilk, to the "all in one" CMSes like Wordpress or Drupal. These days, (if you want there to be), there can be a pretty clear separation between backend and frontend systems, and with that specialization came a bunch of startups (mentioned above) whose approach is "let us help you build it as best as we can, so you can focus on business logic instead of basic UI and infra". After 20 years of doing this, the current state of the web developer experience is actually my favorite so far. HTML and CSS suck for building apps (as opposed to documents), and although Javascript is a lot better since ECMAscript v6 (ES6), it is still inextricably tied to the DOM (and thus HTML elements) unless you use an abstraction like React.

    It's the difference between writing something like:

    ```

  • antd

    An enterprise-class UI design language and React UI library

  • - Vercel for hosting, because they take a Git repo and host it for you in a couple clicks and manage everything. Free or cheap ($20/mo) at MVP stage.

    - Next.js (Vercel's open-source React framework) will handle frontend tooling, routing, type checking, and linting for you with a single command (`npx create-next-app`). Starting the server is one more command (`next dev`) and your page is up and running.

    - For the UI layer, I'd recommend either starting with one of their prebuilt templates (https://vercel.com/templates/next.js) and modifying it as needed

    OR using a modern component system like https://mui.com/ or https://ant.design/ or https://chakra-ui.com/ instead of trying to learn and write your own component and JS+CSS code. Using one of these systems will allow you to compose complex apps out of well-made, well-documented, easy-to-use primitives, making it much easier to focus on business needs rather than basic frontend components and infra.

    The basic MUI system, for example, is totally free. You can find third-party apps built on top of it (https://mui.com/store/#populars) and pay a one-time license fee to essentially "fork" them, getting a prebuilt working app that you just attach your backend API calls to.

    There are also low-code extensions of these frameworks (meaning you start with a GUI, plan out your app that way, but still have access to the source for future advanced changes). Examples are https://mui.com/toolpad/ and https://retool.com/use-case/dashboards-and-reporting

    ----------------------

    Is this a lot? Yes and no. React has a learning curve of its own, but it can take the place of having to learn raw HTML and CSS. (Yes, you eventually should know those things for debugging and polishing, but they are largely a level of abstraction below what you really need for a basic MVP).

    Once you learn React, its primary value isn't that it's a great language (opinions differ) but that it has a humongous ecosystem of third-party vendors, free open-source libraries (basically any component you might think to build is probably already available on npm), and a wide availability of devs from hobbyists to full-timers.

    Others in this topic will suggest going away from Javascript as much as possible (and using things like HTMX or backend-to-HTML solutions like the old days). That's fine, but you lose out on the rich ecosystem of React and Javascript, so you end up having to build more yourself -- which is what you're trying to avoid in your case.

    My own 2¢: As someone who grew up with HTML and made websites since the birth of Javascript and CSS, the web has always been messy. It's always been a semi-open ecosystem controlled by a few major companies (whether that's Netscape or Microsoft or Sun or Adobe, or these days Google and Apple), so it very much suffers from design-by-bullying. Whoever is the power player of the decade gets to add their favorite technologies that everyone else is forced to adopt. Thus the web became a hodgepodge of document markup systems poorly fitted for modern apps, with various hacks on top of hacks built to satisfy some big company or another's in-house needs. Sadly, that means going "vanilla HTML+JS" doesn't leave you with much, just the shattered legacy of poor historical decisions.

    React at least helps by encouraging componentization and abstraction of UI elements to functions, using cleaner data models (actual variables and objects) vs direct DOM manipulation (storing page content as state).

    We've gone through many generational shifts in approach, from the raw HTML days of Geocities to the you-build-it, we-host-it approach of Godaddy and its ilk, to the "all in one" CMSes like Wordpress or Drupal. These days, (if you want there to be), there can be a pretty clear separation between backend and frontend systems, and with that specialization came a bunch of startups (mentioned above) whose approach is "let us help you build it as best as we can, so you can focus on business logic instead of basic UI and infra". After 20 years of doing this, the current state of the web developer experience is actually my favorite so far. HTML and CSS suck for building apps (as opposed to documents), and although Javascript is a lot better since ECMAscript v6 (ES6), it is still inextricably tied to the DOM (and thus HTML elements) unless you use an abstraction like React.

    It's the difference between writing something like:

    ```

  • wasm-bindgen

    Facilitating high-level interactions between Wasm modules and JavaScript

  • I've never tried it, but apparently some bindings exist, e.g. https://github.com/rustwasm/wasm-bindgen

    So you can either try manipulating the DOM w/ some bindings or draw to canvas.

  • aws-gocljs

    fullstack web should be easy

  • have you tried cljs and reagent? it’s a different vibe.

    my bootstrap: https://github.com/nathants/aws-gocljs

    the project: https://reagent-project.github.io/

  • reagent

    A minimalistic ClojureScript interface to React.js

  • have you tried cljs and reagent? it’s a different vibe.

    my bootstrap: https://github.com/nathants/aws-gocljs

    the project: https://reagent-project.github.io/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts