Next.js and React development company
We build application interfaces in Next.js, React and TypeScript. All our projects are built in Next.js and React, including an online booking system for medical scans and the SaaS platform Offer Exchange. Most of them also use TypeScript. For content-heavy websites we use Astro.
What an application gains from Next.js
-
Content appears before JavaScript runs
Next.js renders the view on the server, so users see the content straight away, even on a slower phone. Interactive elements switch on a moment later.
-
Public parts of the application show up in Google
A product catalogue, a price list or a sign-up form reaches search engines as fully rendered HTML, with their own title, description and structured data.
-
Fewer bugs thanks to TypeScript
Types describe the data across the whole application. When the structure of API data changes, the compiler points to every place that needs fixing before a user ever sees the bug.
-
A popular stack that is easy to hand over
React and Next.js are among the most widely used tools for building interfaces. Developers who can take the application further are easy to find, even outside our team.
Next.js, plain React or Astro
We recommend Next.js for web applications where some views are public and others are available after signing in. A procurement platform with a public catalogue works this way, and so does a booking system with a public form and a staff portal. One technology then covers both parts, and the public views are well indexed.
When the whole application sits behind a login, for example as a portal for a few staff members, server rendering brings fewer benefits. A simpler React application is then enough, and we make that decision during the consultation. When a website is mostly content, we choose Astro. When an application needs phone features that the browser does not offer, we tell you before we prepare a quote.
What a Next.js application looks like in our projects
The Next.js interface connects to a backend in .NET or Node.js through a REST API. Data and business rules stay in the backend, while the interface handles views, forms and the user’s session. We run the application in a Docker container, which can be deployed on a server or in the cloud, for example on AWS.
What a business gains from an application built around its own process, and the accessibility requirements for consumer services, are covered on our custom web applications page. For an example of an application with a public form and a staff portal, see the MRI appointment booking system.
What we do
- Interfaces in Next.js with the App Router and React Server Components
- Rendering chosen for each part of the application, on the server, at build time or in the browser
- TypeScript code with typed API data
- Styling in Tailwind CSS and a library of custom application components
- Layouts for phones, tablets and desktops
- Content-heavy websites in Astro
- Load speed measurement and accessibility testing of the interface
Who it is for
- You are planning a web application, part of which should be visible in search engines
- Your React application is slow or hard to develop further
- You are looking for a team to take over the development of a Next.js application
- You need a fast website with a lot of content, such as a product catalogue or documentation
Rendering matched to each view
A single Next.js application can combine several ways of preparing a view. Pages that rarely change are generated at build time and served from cache. Views with user-specific data are rendered on the server for each request. Elements that react to clicks run in the browser. As a result, the browser downloads only the JavaScript it needs.
- Build-time pages for content that rarely changes
- Server rendering for signed-in users' data
- Interactive components only where they are needed
Speed and accessibility checked automatically
We measure load speed with Core Web Vitals, the same metrics Google uses. Interfaces are built so they can be used with a keyboard and a screen reader. On the new Conetso Group websites, every deployment goes through an automated WCAG 2.2 AA accessibility test and a script size check, and we offer the same way of working on client projects.
- Core Web Vitals measured before handover
- Keyboard and screen reader support
- Automated accessibility test on every deployment
Astro for content-heavy websites
When a website is mostly content with little interaction, we choose Astro. It generates static HTML pages and adds JavaScript only to the elements that need it, such as a form. We built the new websites of the three Conetso brands in Astro, and each page loads less than 50 KB of JavaScript.
- Static HTML with no unnecessary JavaScript
- React components where interaction is needed
- Content in files that are easy to move and version
How we work
-
Screen map
We list the screens of the application and decide which of them should be public and visible in search engines.
-
Components and design
Based on the interface design, we build React and Tailwind CSS components shared across the whole application.
-
Backend integration
Views are connected to the API, data is described with TypeScript types, and loading and error states are handled.
-
Measurement and handover
We measure load speed and test accessibility, then give you a test version to review.
Experience
- We built the MRI appointment booking system, Offer Exchange, Service Quotes and INVENTA Licenses in Next.js and React, and the last three also in TypeScript and Tailwind CSS.
- Clinic patients book MRI scans in their phone's browser, with no app to install.
- We built the new Conetso Group, Healthcare and Software websites in Astro, with an automated WCAG 2.2 AA accessibility test.
Case studies
-
MRI appointment booking system
Online booking for MRI scans at a private clinic. Patients choose their own appointment slot, and clinic staff manage the appointments.
-
Offer Exchange
A SaaS platform for business purchasing: requests for quotation, quote comparison and orders, with a free plan and paid subscription plans.
-
Service Quotes
An application for a service company with business clients. It handles orders, staff assignment, itemised billing for completed jobs and online payment.
-
INVENTA Licenses
A system for managing users and licences for VR applications used in staff training, with portals for clients, distributors and administrators.
Frequently asked questions
Will you take over a React application written by another company?
Yes. We start by reviewing the code, the library versions and the deployment process. If the application uses an older version of React or Next.js, we suggest an upgrade plan in stages, so feature work does not have to stop.
Next.js or Astro?
We choose Next.js for applications where users sign in, fill in forms and work with data. We choose Astro for websites that are mostly content. Both can use React components, so parts of the interface can be moved between them.
Can a Next.js application work as a mobile app?
A Next.js web application runs in the phone's browser and adapts to the screen, like the MRI appointment booking system. It can also be added to the phone's home screen as a progressive web app (PWA), without publishing it in app stores.
See also
-
Custom web applications for businesses
We build systems for handling orders, quotes and purchases, with separate portals for clients, staff and managers.
-
Online booking and appointment systems
Clients book appointments online, staff manage the schedule, and the system sends email and SMS confirmations.