# Narsi Bhati > Building robust web apps and cloud solutions. Focused on clean architecture, DevOps, and UX. Building robust web apps and cloud solutions. Focused on clean architecture, DevOps, and user experience. ## Resources - llms.txt: https://www.narsibhati.com/llms.txt - Sitemap: https://www.narsibhati.com/sitemap.xml - Source: https://github.com/narsibhati-dev/narsibhati.com ## Tech Stack - AWS - Better Uptime - Blockchain - Blog - Bun - CLI - Canvas API - Docker - Equipment - Express.js - Framer Motion - Git - GitHub Actions - Next.js - Node.js - Open Source - Ordering - PostgreSQL - React - Rental - Restaurant - Rough.js - Rust - SMTP - Solana - Starter - Tailwind CSS - Temp Mail - Turborepo - TypeScript - Web3 - WebRTC - WebSockets - Zustand ## Projects ### Audora Link: https://github.com/NarsiBhati-Dev/audora Period: 01.2025 – Present Section: Featured Skills: Open Source, TypeScript, Next.js, Express.js, WebRTC, Turborepo, Bun, PostgreSQL, Docker, AWS, GitHub Actions Description: - Architected an end-to-end WebRTC recording platform with a custom WebSocket signaling server handling 50+ concurrent sessions. - Designed backend services for session management, authentication, real-time state synchronization, and media processing pipelines. - Deployed on AWS using Docker, achieving ~99% uptime over 3+ months of active usage. ### CoSketch Link: https://github.com/NarsiBhati-Dev/cosketch Period: 02.2025 – 05.2025 Section: Featured Skills: Open Source, Next.js, TypeScript, Tailwind CSS, Framer Motion, WebSockets, Zustand, PostgreSQL, Canvas API, Rough.js Description: - Built a real-time collaborative canvas supporting 40+ concurrent users with sub-50ms synchronization latency. - Designed WebSocket-based state synchronization with conflict-safe updates to ensure consistent shared drawing state. - Implemented session handling, user presence indicators, and drawing history persistence. ### Rit Link: https://github.com/narsibhati-dev Period: 01.2025 – Present Section: Rust Skills: Rust, Git, CLI Description: A minimal git implementation in Rust. Learning core version control concepts by building from scratch. ### Ghost Mail Link: https://github.com/narsibhati-dev Period: 01.2025 – Present Section: Full Stack Skills: SMTP, Node.js, Better Uptime, Temp Mail Description: Temporary email service with a custom SMTP server and Better Uptime integration for monitoring. ### create-audora-next Link: https://github.com/audoralabs/create-audora-next Period: 01.2025 – Present Section: AudoraLabs Skills: Next.js, TypeScript, Node.js, Bun, CLI, Starter Description: - Create a new Audora Next.js app with one command. - Scaffolds project structure, dependencies, and config for fast onboarding to the Audora stack. ### NextBlog-Starter Link: https://github.com/audoralabs/nextblog-starter Period: 01.2025 – Present Section: AudoraLabs Skills: Next.js, TypeScript, React, Tailwind CSS, Blog, Starter Description: - Starter template for building modern blogs with Next.js, MDX, and Tailwind. - Pre-configured for content, SEO, and deployment so you can ship a blog quickly. ### Solana Starter Link: https://github.com/NarsiBhati-Dev/solana-starter Period: 01.2025 – Present Section: Web3 Skills: Solana, Rust, TypeScript, React, Web3, Blockchain Description: - Starter template for building Solana blockchain applications with TypeScript and React. - Pre-configured tooling and project structure for dApps and program development. ### Solana Programs Collection Link: https://github.com/NarsiBhati-Dev/solana-programs-collection Period: 01.2025 – Present Section: Web3 Skills: Solana, Rust, TypeScript, Web3, Blockchain Description: - Curated collection of Solana programs for learning and practice. - Covers common patterns and program types; in progress. ### J&M Rentals Link: https://github.com/NarsiBhati-Dev/jm_rentals_ltd Period: 01.2025 – Present Section: Full Stack Skills: TypeScript, Next.js, React, Node.js, Express.js, PostgreSQL, Tailwind CSS, Rental, Equipment Description: - Full-stack equipment rental platform for lawn, garden, scissorlifts, and earthmoving machinery. - Inventory management, booking flow, and multi-tenant support for rental operations. ### JMB Restaurant Link: https://github.com/NarsiBhati-Dev/jmb_restaurant Period: 01.2025 – Present Section: Featured Skills: TypeScript, Next.js, React, Node.js, Express.js, PostgreSQL, Tailwind CSS, Restaurant, Ordering Description: - Built a restaurant POS and loyalty system with real-time order tracking using WebSockets, reducing checkout latency by ~30% and improving operational efficiency. - Full restaurant management and ordering system for menus, orders, and kitchen flow. ## Folder Structure ``` src/ ├── app/ │ ├── (app)/ │ │ ├── (root)/page.tsx │ │ ├── blog/[slug]/page.tsx, page.tsx │ │ └── layout.tsx │ ├── (llms)/llms.txt/route.ts │ ├── layout.tsx │ ├── manifest.ts │ ├── robots.ts │ ├── sitemap.ts │ ├── maintenance/ │ └── not-found.tsx ├── components/ │ ├── header, footer, navbar, hero │ ├── theme-toggle.tsx │ ├── providers.tsx │ └── ui/ ├── config/ │ └── site.ts ├── data/ │ └── llms.ts ├── features/ │ ├── portfolio/data/ (projects, user, experiences) │ ├── blogs/ (components, content, data) │ └── analytics/ ├── lib/ │ ├── seo.ts │ └── utils.ts ├── styles/ │ └── globals.css └── utils/ └── cn.ts ``` ## Development Commands | Command | Description | |---------|-------------| | `next dev -p 3000 --turbopack` | Start development server | | `next build --turbopack` | Build for production | | `next start -p 3000` | Start production server | | `eslint` | Lint code | | `prettier --write .` | Format code | ## SEO Configuration This site uses production-ready SEO defaults: ### Metadata (src/lib/seo.ts) - getMetadata(): Default site metadata with Open Graph and Twitter cards - getPageMetadata(): Page-specific metadata generator - getViewport(): Viewport configuration with theme colors ### Structured Data (JSON-LD) - getWebSiteJsonLd(): WebSite schema - getOrganizationJsonLd(): Organization schema - getBreadcrumbJsonLd(): Breadcrumb navigation schema ### Configuration (src/config/site.ts) - name: Site name - url: Base URL for canonical links - ogImage: Default Open Graph image - tagline: Short tagline - description: Full description - sourceCodeUrl: URL to the site's source code repository ### Files - robots.ts: Generates robots.txt with sitemap reference - sitemap.ts: Dynamic sitemap generation - manifest.ts: PWA web app manifest ## Conventions ### Path Aliases Use @/* to import from src/*: - import { cn } from "@/utils/cn" - import { SITE_CONFIG } from "@/config/site" ### Theme Dark mode uses CSS custom properties. Toggle with ThemeProvider and ThemeToggle components. ### Components Uses Radix UI and shadcn-style components. Styling via Tailwind CSS. ### Styling Tailwind CSS 4 with PostCSS. Global styles in src/styles/globals.css. ## Environment Variables | Variable | Description | |----------|-------------| | `NEXT_PUBLIC_SITE_URL` or `SITE_URL` | Base URL for sitemap, robots.txt, and Open Graph | ## Key Files ### src/config/site.ts Site configuration (name, url, tagline, description, sourceCodeUrl). ### src/lib/seo.ts SEO utility functions: - getMetadata() - Root layout metadata - getPageMetadata() - Per-page metadata - getViewport() - Viewport with theme colors - JSON-LD generators for structured data ### src/app/layout.tsx Root layout with metadata exports, theme provider, font configuration. ### src/components/theme-toggle.tsx Dark/light mode toggle using next-themes. ### src/features/portfolio/data/projects.ts Portfolio project data (id, title, period, link, section, skills, description). ### src/features/blogs/ MDX blog components, content, and data (mdx.ts, content/, components/). ## License MIT