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