135
legacy MUI importers at migration start
Plus 59 MUI icon importers and 31 DataGrid files before the ERP UI/API migration.
Enterprise ERP · Fintech · Full-Stack Product Engineering · React Native
React · Next.js · NestJS · TypeScript
Software Engineer with 6+ years of experience building production applications across enterprise ERP, fintech and API-driven systems using React, Next.js, NestJS and TypeScript. Strongest in React/Next.js and TypeScript, with practical backend experience in NestJS, Node.js, PostgreSQL, authentication, RBAC and complex business workflows.
Results
Measurable outcomes from a production ERP system migration, Finance API-contract audit, localization architecture, and regression gates.
135
Plus 59 MUI icon importers and 31 DataGrid files before the ERP UI/API migration.
13/13
Full coverage of finance request/response contracts before production cutover.
46
HTTP contracts that did not match the ERP Finance API.
22
Gaps found during the Finance API-contract audit.
8
High-severity contract and scenario issues caught before go-live.
710
Migration regression suite after later stages. An earlier controlled milestone passed 682 tests across 160 files, with typecheck, build, and API-contract checks.
951
Localization architecture: about 420 hardcoded UI strings moved into 22 namespaces; legacy i18next dependencies removed.
Systems view
Tap a node to open its preview under the hub. Use View case to open a deep dive.Hover or tap a node to preview it. Click a case node to jump into the deep dive.
MapFocus
ARSLAN
Enterprise
Web3 / Fintech
Product
Telegram
Systems
Scope
Focus
Production React and Next.js App Router systems in TypeScript: data models, URL state, server pagination, and maintainable feature ownership.
Multi-module enterprise ERP across frontend and backend layers — Finance, Warehouse, HR, Projects, Tasks, office workflows, users, roles, permissions, and self-service.
Invoices, estimates, payments, expenses, recurring operations, reports, transactions, and permissioned monetary interfaces.
NestJS and Node.js services, REST APIs, Prisma and PostgreSQL data models, plus request/response contract auditing across business domains.
Authentication, sessions, role-based access control, file uploads, and complex CRUD workflows in business applications.
Gradual legacy removal, regression gates, configuration safeguards, and production debugging across routing, HTTP, and deployment.
Selected engineering
Deep engineering case studies with problem framing, architecture, key decisions, and measurable ownership — plus a compact registry of the rest.
Multi-module enterprise ERP developed across frontend and backend layers — Finance, Warehouse, HR, and operations.
Production · NDA
Interface preview
Animated loop of a dense ERP finance grid — filter, sort, open drawer.
Scan grid
Legacy UI and API layers, several business domains, complex permissions, financial workflows, and a large volume of data-heavy CRUD — all while the production system had to keep running.
Browser
Operators · RBAC UI
Next.js
App Router · forms · grids
NestJS API
REST · Auth · RBAC
PostgreSQL
Prisma · domains
01ERP API became the source of truth
UI models stopped mirroring transport DTOs. Adapters isolate evolving NestJS/PostgreSQL-backed contracts from domain models so Finance and other modules can migrate without rewriting every screen.
02Server state left global stores
TanStack Query owns server cache, invalidation, and pagination. Zustand stays for UI/session concerns — no duplicated lists or manual sync between REST and client state.
03Data grids became reusable infrastructure
TanStack Table powers dense enterprise layouts: column pinning, resizing, ordering, URL-persisted filters, and permission-aware actions shared across Finance, Warehouse, and HR.
04Finance migrated domain-by-domain
Cutover ran module by module behind regression gates (MUI-zero / DataGrid-zero). Finance HTTP contracts were audited end-to-end before traffic left the legacy Nest path.
10+ domains
Operational scope
13/13
Finance audit
46
Contract issues found
710 tests
Regression suite
In production as the primary ERP system surface: gradual legacy removal, centralized localization, and ongoing domain migrations without stopping the live system.
Commercial NDA project: public demo is unavailable. The case describes architecture, stack, and ownership.
Wallet and transaction frontend for finance-sensitive Web3 products with compliance checks.
Shipped · NDA
Users must connect wallets, approve tokens, and complete transfers across chains while the UI stays clear about risk, AML checks, and failure modes — without leaking unsafe defaults.
User
Wallet intent
Next.js / React
Transaction UX
Wallets
WalletConnect · TronLink
RPC / Chain
ETH · Tron · BSC
01Wallet adapters at the boundary
WalletConnect and TronLink sit behind a thin adapter layer so screens talk to a stable frontend contract instead of vendor-specific APIs.
02Approve and send as explicit steps
Token approve and transfer are separate, confirmable steps with clear status — reducing accidental double-submits and opaque wallet errors.
03AML checks inside the journey
Compliance results are part of the flow, not a side panel after the fact — blocked or flagged states surface before irreversible chain actions.
04Chain differences stay in infrastructure
Ethereum / Tron / BSC RPC details stay in shared helpers so product screens remain domain-focused (balances, transfers, compliance).
WC + TronLink
Wallets
ETH · Tron
Chains
AML-aware
Sensitive UX
NDA
Access
Shipped in commercial fintech/Web3 products under NDA — patterns reused across wallet connection, approve, transfer, and compliance UI.
Commercial NDA project: public demo is unavailable. The case describes architecture, stack, and ownership.
Realtime product frontend — host/player rooms, private cards, and synchronized game state.
Live · public demo
A multiplayer game needs a host controlling rounds and scenarios while players keep private card fields hidden until reveal — with reliable sync, not a fragile custom websocket stack.
Host UI
Scenario · rounds
Player UI
Private cards
Game FSM
Rounds · votes · reveal
Firestore
Realtime room state
01Firestore as the realtime bus
Room subscriptions keep public game state in sync across devices. No bespoke websocket server — focus stayed on product rules and UX.
02Private fields never leave the owner
Card data that must stay secret is modeled as private until an explicit reveal step. Other players only receive public room state.
03Explicit game FSM
Rounds, events, voting, and finale are state-machine transitions — not ad-hoc flags — so host actions and UI stay consistent under racey multiplayer updates.
04AI scenarios as a validated pipeline
Prompt → scenario JSON → parser → validation → play. Invalid imports fail early instead of corrupting a live room.
Host + player
Roles
Realtime
Sync model
FSM
State design
Public
Demo
Public demo live on Vercel with open source: rooms, host controls, private cards, and AI-friendly scenario import.
More work
Additional shipped work — public demos, commercial products, and NDA projects kept compact so the case studies stay readable.
Full-stack frontend
Frontend
Frontend architecture
Frontend
Frontend
Frontend
Frontend
Frontend
Bot workflows
Experience
Enterprise ERP, fintech, and product engineering with international and distributed teams.
Multi-module Enterprise ERP
NDA / production system · Remote · International team
Domain: Enterprise software · ERP · Fintech · SaaS
Technologies
Scope: Designed and developed a multi-module enterprise ERP across frontend and backend layers — application architecture, NestJS/Node.js services, PostgreSQL/Prisma data models, REST API contracts, and production UI — without stopping the running application.
Engineering impact
Milli San
Feb 2020 - Dec 2021 · Kayseri, Türkiye
Domain: Web applications
Technologies
Capabilities
Contact
Available for Software Engineer opportunities across React, Next.js, NestJS and TypeScript. Remote full-time and project work.
Available for remote full-time and project work on enterprise React/Next.js/NestJS products, ERP systems, and fintech/Web3 platforms.