React development for portals, dashboards and marketplaces
Most of our React work is not a standalone website. It is the screen a bank's staff use all day inside a portal, the dashboard a dispatch centre runs on, or the web half of a product that also ships on iOS and Android. We build those front ends in TypeScript, on a design system, against the APIs and platforms you already run.












































React development services
What we build with React
Front ends where the users are working, not browsing — and where React has to fit into a portal, an API estate or a mobile product that already exists. For content and marketing sites, our web engineering team usually reaches for a server-rendered framework instead.
React inside enterprise portals
React portlets and custom elements inside Liferay DXP pages, sharing its sign-in, permissions and navigation — the way ICICI Bank and Wipro modernised their portals without replacing them.
Dashboards & internal tools
Data-heavy screens for operations, risk and dispatch teams: large tables, charts, filters, real-time updates and the keyboard-driven workflows people use for hours a day.
Web and mobile from one team
A React web app and a React Native mobile app sharing types, API clients and business logic, so a feature ships to web, iOS and Android together.
Design systems & components
A typed component library built from your design files, documented in Storybook and tested for accessibility, so every team builds screens from the same parts.
React & AngularJS modernisation
Class components, Create React App and older Redux moved to current React with hooks and Vite; AngularJS and jQuery screens replaced by React one screen at a time.
Performance & accessibility
Bundle budgets, code splitting, virtualised lists and Core Web Vitals measured in CI; WCAG 2.1 AA built into components and checked with automated audits.
Where React fits
When we recommend React, and when we recommend something else
React is the right choice when the screen behaves like an application: users sign in, work with data, change state and expect the interface to respond instantly. Dashboards, back-office tools, booking flows, portals and the web half of a mobile product all fit. It also has the largest pool of engineers and libraries of any front-end library, which matters when your own team will maintain the code after we hand it over.
It is not always the answer on its own. Public, content-heavy sites that live on search traffic need server rendering, and there we use React through a framework such as Next.js rather than as a single-page app. Enterprise teams already standardised on Angular are often better served by staying on Angular — we build in both, and Bank of Baroda's early-warning system runs on Angular portlets. And a portal that already runs Liferay should usually get React inside it rather than a new front end beside it.
So the first conversation is about how the application is used, who will maintain it and what it has to sit inside — and the recommendation, React or otherwise, is written down with its reasons before anyone starts building.
- Signed-in applications — dashboards, portals, internal tools, booking and checkout flows
- A product that needs web and mobile apps from one team, with React Native
- Screens inside an existing portal or platform, such as Liferay DXP
- A team that will maintain the code and wants the largest hiring pool
React in enterprise portals
Modernising a portal with React instead of replacing it
Many organisations run a portal that works but looks and feels a decade old. Replacing the platform means re-implementing sign-in, permissions, workflow and content management; rebuilding the screens in React inside it does not. In Liferay DXP, a React portlet or custom element sits on a Liferay page, inherits the user's session and permissions, and talks to the services behind the portal through REST — so the experience is modern and the platform underneath keeps doing its job.
ICICI Bank ran four Java applications with separate logins. As they were consolidated onto Liferay DXP 7.4, the Spring MVC screens were rebuilt as React portlets while the business logic stayed in Java — pages loaded 55 % faster and infrastructure cost fell 45 %. Wipro's employee portal uses React portlets for a responsive self-service experience across more than 50 country-specific sub-portals built from the same standard components; employee self-service adoption rose 75 % within six months.
How the React screens and the Java services behind them are joined — single sign-on, token handling, which logic belongs where — is set out on our Liferay and Spring Boot integration page.
Dashboards
Dashboards and internal tools people use all day
Internal tools are judged by the people who use them for eight hours. They need tables that stay fast with tens of thousands of rows, filters that remember what the user was doing, charts that answer a question rather than decorate a page, keyboard shortcuts, and updates that arrive without a refresh. We virtualise long lists, keep server data in a cache layer such as TanStack Query so screens stay consistent, and push live changes over WebSockets or a real-time database where the work depends on them.
ResqRoute's dispatch centre runs on a React dashboard over FastAPI services, with live GPS positions of every ambulance and traffic-aware routing from Google Maps. In pilot deployments, dispatch response time fell 35 % and real-time tracking replaced 80 % of manual radio communication. The same discipline runs through the analytics and reporting portals we have built for consultancies and agencies, such as Raising iBrows, where automated React dashboards cut campaign reporting time by 70 %.
Web and mobile
One product on web, iOS and Android
When a product needs a web app and mobile apps, React on the web and React Native on mobile let one team build both. The two share TypeScript types, API clients, validation and business logic, while each keeps an interface designed for its platform. Features ship to every channel together, and the backend team builds one API rather than one per client.
For MTS, the medical-tourism marketplace, React Native screens share business logic and API integrations with the React web application, which cut front-end development effort by 40 %; the app was localised for five language markets. BizGlobe's travel platform — React on the web, React Native on mobile, one Spring Boot API behind both — went live on web, iOS and Android within a four-month development cycle. Our mobile engineering team builds the native side.
How we build
The engineering rules every React codebase we hand over follows
Every project is TypeScript in strict mode, with types generated from the API's OpenAPI or GraphQL schema so the front end and back end cannot drift apart unnoticed. Components come from a shared library documented in Storybook; server data lives in a query cache and only genuinely shared client state goes into a store such as Redux Toolkit or Zustand; forms are validated with the same schema on both sides.
Tests run on every pull request: unit and component tests with Vitest and Testing Library, end-to-end journeys with Playwright, and automated accessibility checks with axe. Bundle size and Core Web Vitals have budgets that fail the build when exceeded, and errors in production are reported with the release and the user journey that triggered them.
- TypeScript strict mode, with API types generated from OpenAPI or GraphQL schemas
- A documented component library in Storybook, built from your design files
- Server state in TanStack Query; Redux Toolkit or Zustand only for shared client state
- Vitest, Testing Library and Playwright in CI; axe accessibility checks on every component
- Bundle and Core Web Vitals budgets that fail the build, and production error reporting
Modernisation
Bringing an older React or AngularJS front end up to date
Front ends age faster than back ends. Applications started a few years ago often run on class components, Create React App — which the React team has deprecated — an older Redux setup and libraries that no longer receive updates. We move them to current React with function components and hooks, a Vite build, current routing and data-fetching libraries and TypeScript, one area at a time and with tests written first, so the application keeps shipping throughout.
AngularJS reached end of life in 2021, and many enterprise screens still depend on it or on jQuery. Rather than rewriting everything at once, we mount React into the existing application route by route or screen by screen, share the session and the API layer, and retire the old screens as their replacements go live — the same incremental approach that took ICICI Bank's screens from Spring MVC to React portlets.
Timeline & cost
How a React project is scoped and priced
Projects start with a short, fixed-fee discovery: the users and their workflows, the screens, the APIs and platforms the front end must sit on, the design system or the lack of one, and the browsers, devices and accessibility level required. It ends in a screen inventory, an architecture, a release plan and a fixed price for the first release.
Cost is driven by the number and complexity of screens, how much of a design system exists, the state of the APIs behind the front end, real-time and offline needs, the number of languages and accessibility requirements, and — for modernisation — how much existing code has to keep running while it is replaced.
Planning a React build or a front-end rewrite?
A short, fixed-fee discovery gives you a screen inventory, an architecture and a fixed price for the first release — and a straight answer on whether React is the right choice.
Book a React discoveryOur technology stack
What our React front ends run on
React and TypeScript on a Vite or Next.js build, a component library on your design system, and the APIs and platforms you already run — Spring Boot, FastAPI, Node.js, GraphQL or Liferay DXP — deployed by CI to the cloud you use.
How we deliver
From discovery to a React front end your team can own
Five phases, each ending in something you can check: a screen inventory, a component library, working screens on real APIs, a tested release and a team that can carry on without us.
Discover
Users, workflows, screens, APIs and platforms mapped; React or an alternative recommended in writing; a fixed price for the first release.
Design system
Typed components built from your design files and documented in Storybook, with accessibility checks from the first component.
Build in sprints
Screens delivered against real APIs in two-week sprints, reviewed with your product owner and released behind feature flags.
Test & tune
End-to-end journeys, accessibility audits, bundle and Core Web Vitals budgets, and a load test of the APIs the screens depend on.
Release & hand over
Staged rollout, production error reporting, documentation and pairing with your engineers, then support or new features on retainer.
Case studies
React front ends in production
Bank and enterprise portals modernised with React portlets, a live dispatch dashboard, and a marketplace sharing code between React and React Native — each with the outcome the client measured.
ICICI Bank — DXP Migration
Consolidation of 4 Legacy Banking Applications into Single Liferay DXP Platform. ATS architected a phased migration strategy consolidating all four applications into a single Liferay DXP 7.4 instance.
Read case study
IT Services & ConsultingWipro Limited
Enterprise Digital Experience Platform & Employee Self-Service Portal. ATS Global Techsoft architected and implemented a comprehensive Liferay DXP-based enterprise portal, integrating HR systems, ITSM workflows, and internal communications into a single pane of glass.
Read case study
Emergency Healthcare / Public SafetyResqRoute — Emergency Ambulance Platform
Real-Time Ambulance Dispatch & Route Optimisation Platform (Web + App). ATS designed and built ResqRoute — a real-time emergency response platform built on FastAPI for high-throughput backend services, React.js for the web-based dispatch centre dashboard, and Flutter for the cross-platform paramedic and patient mobile applications.
Read case study
Healthcare / Medical TourismMTS — Medical Tourism Platform
Mobile-First Medical Tourism Marketplace — Patient to Hospital Booking App. ATS built React Native mobile screens for the MTS platform, sharing business logic and API integrations with the React.js web application through a shared codebase architecture.
Read case study
Also in our web practice
Next.js development
Public sites, headless CMS front ends and portals on Next.js — Core Web Vitals and technical SEO built in.
ExploreMobile engineering
React Native and Flutter apps for iOS and Android, sharing APIs and code with the web product.
ExploreLiferay headless integration
React and Next.js front ends on Liferay's REST and GraphQL APIs, or React screens inside the portal.
ExploreFAQs
React development — questions we are asked first
Should we use plain React or Next.js?+
For signed-in applications — dashboards, portals, internal tools — React on a Vite build is usually simpler and enough. For public pages that depend on search traffic or need fast first loads on slow devices, use React through Next.js so pages are rendered on the server. Many products use both: Next.js for the public site and a React application behind the login.
React or Angular for an enterprise application?+
Both work well. React has the larger hiring pool and ecosystem and suits teams that want to choose their own libraries; Angular gives more structure out of the box and suits teams already standardised on it. We build in both — Bank of Baroda's early-warning system runs on Angular portlets — and recommend based on your team and existing code.
Can React be used inside Liferay DXP?+
Yes. React portlets and custom element client extensions run on Liferay pages, inherit the user's session and permissions and call Liferay's or your own APIs. ICICI Bank's and Wipro's portals use React this way, which modernises the screens without replacing the platform.
Can you modernise our Create React App or class-component code base?+
Yes, incrementally. We add tests around the behaviour that matters, move the build to Vite, convert class components to function components with hooks and replace unmaintained libraries one area at a time, so the application keeps shipping throughout instead of pausing for a rewrite.
Can the same team build our web and mobile apps?+
Yes. With React on the web and React Native on mobile, one team shares types, API clients and business logic across both while giving each platform its own interface. On MTS this cut front-end development effort by 40 %.
Do you work with our designers and existing design system?+
Yes. We build a typed component library from your design files or extend the one you have, document it in Storybook and keep it in step with design through regular reviews. Where there is no design system, we start a small one with the first screens rather than designing everything up front.
Let’s work together
Tell us what your users need to do
Send a short description of the application, who uses it and what it has to connect to — we will come back within a couple of days with a view on the approach and a bracket, and a fixed price after discovery.