Skip to main content

Frontend

We built the NDM frontend as a modern web application to provide developers with a fast, intuitive, and familiar interface. Our team has a background in web development, so we chose to build a website. We wanted developers to immediately understand what NDM is and how it works.

important for devs

only use pnpm and don't add thoughtless dependencies

React​

React

React is our primary UI framework. We chose it because:

  • It is widely adopted in the developer ecosystem.
  • It has excellent long-term community support and tooling.
  • Our team has extensive experience building production-grade React applications.
  • Its component model makes it easy to maintain and extend the NDM interface.

React allows us to build a clean, modular UI that can evolve as NDM grows.

Vite​

Vite

Vite is our build tool and development server.

We chose Vite because:

  • It provides extremely fast startup times thanks to native ES modules.
  • Hot Module Replacement (HMR) is instant, improving developer productivity.
  • It has a smaller configuration footprint than older tools like Webpack.
  • It integrates seamlessly with React, TypeScript, and Tailwind.

Vite ensures that the frontend stays lightweight, fast, and easy to iterate on. It is also very modern.

TypeScript​

TypeScript

NDM’s front end is fully typed using TypeScript.

We chose TypeScript because:

  • It prevents entire classes of runtime errors.
  • It improves code readability and maintainability.
  • It makes refactoring safe as the project grows.
  • It integrates perfectly with React and modern tooling.

TypeScript helps us maintain a stable and predictable codebase.

Tailwind CSS​

TailwindCSS

Tailwind is our styling framework.

We chose Tailwind because:

  • It allows for rapid UI development with utility-first classes.
  • It keeps styling consistent across the entire application.
  • It eliminates the need for custom CSS files and naming conventions.
  • It works perfectly with responsive design and dark mode.
  • It integrates smoothly with Vite and React.

Tailwind enables us to build clean, modern interfaces without slowing down development.

Summary​

The NDM frontend is intentionally simple, fast, and developer-friendly. React, Vite, TypeScript, and Tailwind form an efficient, modern stack that aligns with our team's experience and allows us to deliver a polished UI with minimal overhead. The frontend should not drown out the CLI tool, but rather serve to quickly and elegantly provide information.