Namaste Frontend System Design -

In the Namaste framework, performance is designed on day zero, not during QA.

Critical Metrics to Model:

The Namaste Rule: If a user on a 3G network with a Moto G4 can render your app in under 5 seconds, you have passed.

The course utilizes popular industry examples to teach system design interviews and real-world architecture:

  • Designing a Video Streaming Platform (YouTube clone): Namaste Frontend System Design

  • Designing a Chat Application (WhatsApp Web):

  • Here is how your feature folder should look (using React as an example):

    src/
    ├── features/
    │   └── product-detail/
    │       ├── components/
    │       │   ├── ProductImage.tsx (Lazy loaded)
    │       │   ├── ProductReviews.tsx (Lazy loaded)
    │       │   └── AddToCartButton.tsx
    │       ├── hooks/
    │       │   ├── useProductData.ts (Uses React Query)
    │       │   └── useAddToCart.ts (Uses Mutation)
    │       ├── api/
    │       │   └── productAPI.ts (Single responsibility)
    │       └── types/
    │           └── product.types.ts
    

    The Data Fetching Flow (React Query):

    // useProductData.ts
    import  useQuery  from '@tanstack/react-query';
    

    export function useProductData(productId) // Query for product details const productQuery = useQuery( queryKey: ['product', productId], queryFn: () => fetchProduct(productId), staleTime: 5 * 60 * 1000, // 5 minutes ); In the Namaste framework, performance is designed on

    // Query for recommendations (depends on product) const recommendationsQuery = useQuery( queryKey: ['recommendations', productId], queryFn: () => fetchRecommendations(productId), enabled: !!productQuery.data, // Only run after product loads );

    return productQuery, recommendationsQuery ;

    This module deals with the macro architecture—how the application is delivered to the browser. The Namaste Rule: If a user on a

  • Micro-Frontends: Breaking a monolithic frontend into smaller, independently deployable units owned by different teams. Covers routing strategies and module federation.
  • Module Federation: Sharing code and dependencies between separate builds at runtime (Webpack 5).
  • You cannot design a system without choosing your rendering architecture. Each has a trade-off.

    Namaste Approach: Never assume SSR is always better. Measure TTFB (Time To First Byte) vs. TTI (Time To Interactive). A poorly hydrated SSR app is slower than CSR.

    The term "Namaste" (a respectful greeting) in the context of technical learning, popularized by educators like Akshay Saini, implies a ground-up, core understanding. You don't just learn syntax; you learn the essence.

    Namaste Frontend System Design is the art of designing complex frontend applications by first honoring the fundamentals: the browser, the event loop, the rendering pipeline, and the network stack. It rejects the notion that throwing Redux or Next.js at a problem automatically solves it.

    Instead, it asks: