My photo

Nariman Mani, P.Eng., PhD Computer and Software Engineering

🚀 Flagship Projects

A curated selection of innovation programs, research prototypes, and production-ready platforms I have architected or led.

Analytic Hierarchy Process (AHP) Tool showcase 1Analytic Hierarchy Process (AHP) Tool showcase 2Analytic Hierarchy Process (AHP) Tool showcase 3Analytic Hierarchy Process (AHP) Tool showcase 4
Role
Software Engineer & Researcher

Tech Stack

Deployment : NetlifyViteReactReact RouterTailwind CSSRadix UIReact Hook FormZodFramer MotionRechartsEmbla CarouselLucide ReactcmdkSonnerdate-fnsnext-themestailwindcss-animateclass-variance-authorityclsxtailwind-mergeprop-types

Quick facts

  • Year: 2025
  • Role: Software Engineer & Researcher
  • Project link

Project Overview

The Analytic Hierarchy Process (AHP) app is a Vite + React single-page application that helps teams create, edit, and review decision analyses directly in the browser. It ships with sample scenarios, includes an admin-only dashboard, and operates entirely on client-side storage so it can run on static hosting without server dependencies.

Key capabilities

  • Admin authentication gate protecting the dashboard and editing workflows.
  • Creation and editing of AHP analyses with persisted data in the browser.
  • Dashboard overview cards, recent analysis lists, and quick links into edit flows.
  • Responsive UI composed from Tailwind CSS utilities, Radix UI primitives, and Shadcn-inspired components.
  • Client-only data layer that seeds from JSON and syncs via localStorage (with an in-memory fallback for non-browser contexts).

High-level architecture

  • React SPA with hash-based routing: Uses react-router-dom v7 hash router so routes work on static hosts without custom rewrite rules.
  • Feature organization: Routed pages live in src/pages, shared UI lives in src/components (with components/ui for primitives), and shared logic resides in src/hooks and src/utils.
  • State and persistence: Authentication context tracks login status in localStorage, while the AHP data service provides CRUD operations backed by local storage and emits change events to keep views synchronized.
  • Styling and visuals: Tailwind CSS powers layout and spacing, Radix UI primitives supply accessibility, and Recharts renders analytics visualizations.

Included libraries (high level)

  • React ecosystem: react, react-dom, react-router-dom
  • Styling & UI: Tailwind CSS, Radix UI packages, tailwind-merge, clsx, lucide-react, framer-motion, tailwindcss-animate, react-resizable-panels, embla-carousel-react, react-day-picker, cmdk, sonner
  • Forms & validation: react-hook-form, zod, @hookform/resolvers
  • Data visualization: recharts
  • Utilities and helpers: date-fns, class-variance-authority, input-otp, vaul, next-themes, prop-types

2025 All rights reserved.