ATS Global
React · TypeScript · Front-end engineering

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.

Appistoki logo
Capgemini logo
Careedge Global logo
CES logo
Cignex logo
EngineersMinds logo
Fulcrum logo
IGT Solutions logo
InfoBeans logo
ITC logo
Knowarth logo
Larsen & Toubro logo
Lister logo
Ness logo
NetSol logo
PodEngine logo
Raising logo
Sharp logo
Triton logo
Wego logo
Wipro logo
Xebia logo
19case studies with React on the front end
55%faster page loads after ICICI Bank's screens moved to React portlets
40%less front-end effort from shared React and React Native code (MTS)
75%rise in employee self-service adoption on Wipro's React-portlet portal

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 discovery

Our 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.

React logoReactNext.js logoNext.jsVite logoViteAnt Design logoAnt DesignNode.js logoNode.jsGraphQL logoGraphQLSpring Boot logoSpring BootFastAPI logoFastAPILiferay DXP logoLiferay DXPDocker logoDockerGitHub Actions logoGitHub ActionsAWS logoAWS

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.

STEP 01

Discover

Users, workflows, screens, APIs and platforms mapped; React or an alternative recommended in writing; a fixed price for the first release.

STEP 02

Design system

Typed components built from your design files and documented in Storybook, with accessibility checks from the first component.

STEP 03

Build in sprints

Screens delivered against real APIs in two-week sprints, reviewed with your product owner and released behind feature flags.

STEP 04

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.

STEP 05

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.

All case studies
Banking & Financial Services

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.

Liferay DXP 7.4Java 11Spring MVCOracle DB

Read case study

IT Services & Consulting

Wipro 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.

Liferay DXP 7.4Spring BootReactOracle DB

Read case study

Emergency Healthcare / Public Safety

ResqRoute — 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.

FastAPI (Python)React.jsFlutterPostgreSQL

Read case study

Healthcare / Medical Tourism

MTS — 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.

React NativeReact.jsSpring BootMaven

Read case study

FAQs

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.