Skip to content

Senior Software Engineer · IITIL · Vadodara, India

MananMandaliya

Full Stack Engineer with 5+ years of experience building scalable web applications across enterprise HR platforms, AI-powered analytics, and Web3 ecosystems. Specialized in React and TypeScript, with experience developing Node.js and MongoDB backends to deliver secure, high-performance, end-to-end solutions.

Portrait of Manan Mandaliya

Tech stack: React, TypeScript, Next.js, Redux Toolkit, RTK Query, Zod, Tailwind CSS, shadcn/ui, Node.js, Express, MongoDB, PostgreSQL, AWS, Server-Sent Events, Vue / Nuxt, Solidity, Hardhat, Wagmi, GitHub Spec Kit.

01About

A short introduction

I've shipped production software since 2021. I started as an intern at Alite Projects writing Solidity contracts and wallet UIs, moved to full-stack SaaS at Helios Solutions (an AI analytics product, a publishing platform, a MongoDB remodel), and now architect the frontend of a multi-module HRMS at IITIL. The parts I care about most are the ones users never see: permission models, cache invalidation and type-safe contracts between frontend and backend.

Quick facts

  • Senior Software Engineer @ IITIL
  • 5+ years · intern → senior
  • React + TypeScript, Node + MongoDB
  • B.E., Neotech Technical Campus (GTU)
  • Vadodara, India · IST · remote
Download resume(PDF, opens in a new tab)

02Projects

Case studies you can click through

Two production projects, each with a live demo you can try. The originals are under NDA, so the demos are rebuilt with mock data, but the engineering patterns are the real ones.

  1. 01

    HRMS

    IITIL · 2026 – Present · Enterprise SaaS

    A permission-aware HR platform, built as one design system.

    9 modules (employee lifecycle, org, leave, attendance, documents, rosters) on a shared, type-safe component layer.

    React, TypeScript, RTK Query, shadcn/ui, Zod, FullCalendar, Spec Kit

    6 min readLive demo

  2. 02

    SolBI

    Helios Solutions · 2024 – 2026 · AI · Business Intelligence

    Ask a business question in plain English, then watch the answer and chart stream in.

    Natural-language queries to streamed answers and interactive charts and maps, with saved dashboards.

    Next.js, React, SSE, Plotly, React-Leaflet, Express, MongoDB, IndexedDB

    5 min readLive demo

03Earlier chapter · 2021–2024

Designing UI for irreversible actions

A signed transaction can't be undone, so every state between “click” and “confirmed” has to be visible and named. In Solidify, a Next.js dApp at Alite Projects, I built the ICO, governance-token and airdrop flows and contributed to the contracts and their Hardhat tests.

  • 6+ wallet providers through RainbowKit and Wagmi.
  • Real-time transaction tracking from signature to confirmation.
  • ERC-20 and ERC-721 contracts tested with Hardhat across 800+ testnet transactions; gas costs down 10%.

Solidity, Hardhat, Ethers.js, Wagmi, RainbowKit, React

Transaction lifecycle state machineThe happy path runs idle, then awaiting signature, then pending, then confirmed. From awaiting signature, the user can reject the request in their wallet. From pending, the transaction can fail because the contract reverted, or be replaced when the user speeds it up, in which case the interface tracks the new transaction hash.submitsignedminedrejectrevertspeed upidleawaiting signaturependingconfirmedrejecteddeclined in walletfailedreverted on-chainreplacedsped up: track new hash
The transaction states the UI had to render. Solid arrows are the happy path; dashed arrows are the exits. Double borders mark end states.

Also · framework range

Accomplishr

Helios Solutions · 2024 – 2025 · Publishing · Video

Blogs, live fireside chats and session booking in one modular Nuxt app.

  • Publishing CMS as a modular Nuxt app built on Vue composables and Pinia stores.
  • Live fireside chats on the Zoom Video SDK, with event-driven messaging between components.
  • Session booking with Zod validation and date-fns for scheduling logic.

Nuxt, Vue, Pinia, Zoom Video SDK, Zod, date-fns

04Method

Spec first. Types as the contract.

Spec-driven development with GitHub Spec Kit and AI-assisted tooling. AI drafts each stage; a person reviews it before the next one starts.

  1. 01

    Spec

    Requirements become user stories and acceptance criteria.

    AI drafts · I edit

    Review gate: ✓ Right problem?

  2. 02

    Plan

    Data model, endpoints and component tree, mapped onto the existing modules.

    AI drafts · I decide

    Review gate: ✓ Fits the architecture?

  3. 03

    Tasks

    The plan is cut into small, ordered tasks, each one a reviewable PR.

    Generated · reordered

    Review gate: ✓ Small enough?

  4. 04

    Typed contract

    Zod schemas and types agreed with the backend before UI work starts.

    With the API team

    Review gate: ✓ API agrees?

  5. 05

    Build & PR

    Components built against the contract, one task per pull request.

    I write · team reviews

    Review gate: ✓ PR review

Three principles I build on

Components ask whether an action is allowed. They never compare role names, so adding a role or moving a permission is a one-line change that the compiler checks.

Chose
A declarative role → permission map behind usePermission and <Can>.
Rejected
Role checks inside JSX. Every new role means hunting down each if (role === …).
Try it in the permission playground ↗
permissions.ts
type Role = "employee" | "manager" | "hr_admin";
type Permission =
  | "leave:request" | "leave:approve"
  | "leave:export" | "salary:edit";

export const rolePermissions = {
  employee: ["leave:request"],
  manager: ["leave:request", "leave:approve"],
  hr_admin: [
    "leave:request", "leave:approve",
    "leave:export", "salary:edit",
  ],
} satisfies Record<Role, Permission[]>;

// <Can permission="leave:approve"><ApproveButton /></Can>

05Experience

5+ years, three companies

  1. May 2026 – Present

    IITIL · Hyderabad (remote)

    ● Current

    Senior Software Engineer

    Frontend architecture for a multi-module enterprise HRMS.

    • Architect the frontend across 9 HRMS modules in React + TypeScript, with reusable component patterns and type-safe API contracts.
    • Built the shared Tailwind + shadcn/ui component layer the modules are assembled from.
    • Own server state with Redux Toolkit + RTK Query: caching, mutations and tag-based cache invalidation.
    • Implement RBAC, schema-validated forms and scheduling workflows, driven by spec-first development with GitHub Spec Kit.
    • Contribute to database schema design and backend business logic with the API team.

    React, TypeScript, RTK Query, Tailwind, shadcn/ui, Zod, FullCalendar

  2. May 2024 – May 2026

    Helios Solutions · Vadodara

    Software Engineer

    Full-stack product work on SaaS dashboards, an AI analytics product and a publishing platform.

    • Shipped full-stack features (dashboards, auth, dynamic forms) with React, Next.js, Express and MongoDB.
    • Built REST APIs with JWT auth, RBAC and request-validation middleware.
    • Redesigned MongoDB models (embedding related documents where reads dominate), which cut query overhead by 30–35%.
    • Added offline persistence with IndexedDB and supported deployments on AWS EC2 and S3.

    Next.js, React, Nuxt, Express, MongoDB, Redux Toolkit, AWS

  3. Jul 2021 – May 2024

    Alite Projects · Vadodara

    Software Engineer (Intern → Full-time)

    Web3 product engineering: smart contracts and wallet-connected interfaces.

    • Wrote and tested Solidity contracts (ERC-20/ERC-721) with Hardhat across 800+ testnet transactions, and cut gas costs by 10%.
    • Built React dApp interfaces with Ethers.js and RainbowKit: 6+ wallet providers and real-time transaction tracking.
    • Grew from intern to full-time engineer across frontend, contracts and integrations.

    Solidity, Hardhat, Ethers.js, Wagmi, RainbowKit, React

  4. 2016 – 2020

    Bachelor of Engineering · Neotech Technical Campus (GTU)

06Skills

Grouped by how often I use them

Not a logo wall. The first group is what I work in every day.

Daily

What I reach for on every feature

  • React
  • TypeScript
  • Next.js
  • Redux Toolkit
  • RTK Query
  • React Hook Form
  • Zod
  • Tailwind CSS
  • shadcn/ui
  • Node.js
  • Express
  • MongoDB

Shipped in production

Used in real products, not just tutorials

  • Vue / Nuxt
  • Pinia
  • IndexedDB
  • Server-Sent Events
  • FullCalendar
  • Plotly
  • React-Leaflet
  • JWT + RBAC
  • AWS EC2 / S3
  • Solidity
  • Hardhat
  • Ethers.js
  • Wagmi
  • RainbowKit
  • Zoom Video SDK
  • GitHub Spec Kit

Worked with

Comfortable, less depth

  • PostgreSQL
  • Docker
  • n8n
  • OpenAI / Claude / Mistral / Groq APIs
  • OpenZeppelin
  • ERC-1155
  • Bootstrap
  • jQuery