Next.js website and application development

Pages are prepared on the server or at build time, so visitors and search engines see the content on first load.

We build fast-loading websites and web apps that show up in search engines with Next.js. Atölye Tasarım and hippotenus.com are built on Next.js.

Last updated:

What we have built with it

All of them are live; store pages and details are on the Products page.

Atölye Tasarım

Website and 3D workshop configurator

The site and the 3D configurator are one Next.js project; blog and workshop pages are generated at build time and designs are saved through an API route.

See the product

Hippotenus

Platform for education institutions

The hippotenus.com marketing site runs on Next.js: Turkish and English pages, exam guides generated from MDX, and teacher pages by city and subject.

See the product

When Next.js is the right choice

Next.js is a web framework built on React. It sends pages to the browser as ready-made HTML: some are generated once at build time, others are prepared on the server when a request comes in. That way, content pages meant to draw search traffic and application screens such as forms, sign-ups and share pages can live in the same project.

Where Next.js fits well

  • You expect a large share of your visitors to come from search engines
  • There will be many content pages, such as a blog, guides, product pages or city pages
  • You want the marketing site and part of the application (a form, a share page, a customer area) in one project
  • You will publish the site in more than one language

Where we would not suggest Next.js

  • An admin dashboard that sits entirely behind a login: a simple React app set up with Vite is enough
  • Your team will change the content every day and an off-the-shelf content management system (WordPress, for example) already covers your needs
  • A single-page marketing page that is rarely updated

At build time, or on request

In Next.js this is decided page by page. The pages of hippotenus.com are generated at build time, and so are the blog, workshop and project pages of Atölye Tasarım. The share page that shows a design a school has saved, on the other hand, is prepared on the server when requested, because its content isn’t known in advance.

At build time (static)On request (server)
When it is generatedOnce per releaseOn every request, or at set intervals
Suited toBlog, guide, service and product pagesPages that change per user or per record
Server loadServed as a ready-made fileComputed on the server for each request
Our examplehippotenus.com, the Atölye Tasarım blogAtölye Tasarım’s design share page

What Next.js does in our products

Our two live Next.js projects answer different needs: one is a content-heavy marketing site, the other a company site with a 3D configurator inside.

  • hippotenus.com is live in Turkish and English, and the pages for both languages are generated at build time.
  • The LGS, YKS and KPSS exam guides are generated from MDX files kept next to the code, and the sitemap is rebuilt with those guides on every release.
  • In the teacher search, separate addresses are generated for the city and subject combinations that have enough content.
  • Permanent (301) redirects for pages whose address changed are kept in the Next.js config, so old links don’t break.
  • On Atölye Tasarım, the 3D configurator loads only in the browser; the page text, headings and share images come ready from the server.
  • A design a school sends goes to a Next.js API route: Cloudflare Turnstile checks for bots, the price is recalculated on the server, the record is written to Postgres with Drizzle ORM and the images to Vercel Blob.
  • In a client project we used Next.js for a portal behind a login: sessions are checked in middleware, student and trainer screens sit on separate routes, and the portal is deliberately closed to search engines.

What we do for search engines

Titles and descriptions

Each page’s title, description and canonical address are generated through Next.js metadata; on hippotenus.com they are checked by tests.

Share images

On Atölye Tasarım, share images for blog posts and workshop pages are generated in code, so links show a preview on WhatsApp and social media.

Sitemap and robots

Through sitemap.ts and robots.ts; a new post or page enters the sitemap by itself.

Structured data

schema.org markup (JSON-LD): on Atölye Tasarım, the company details, blog posts and breadcrumbs are marked up this way.

First-screen speed

On hippotenus.com, a test prevents the page heading from being hidden behind an animation and left unpainted on first render, so Google’s LCP measurement isn’t hurt.

llms.txt

Both sites have an llms.txt file so AI assistants can summarise them correctly.

How a Next.js project runs

  1. 01

    Free scoping call

    30 min

    We talk about which searches the site should draw visitors from, which pages it will have and the budget you have in mind.

  2. 02

    Written scope and quote

    We write down the list of pages, the languages, which pages are generated at build time and which on request, and the acceptance criteria.

  3. 03

    Weekly releases

    Every week you see a working version of the site; your comments on content and design carry into the next week.

  4. 04

    Testing and release

    A senior QA tests the pages on desktop and on phones before release. If the site replaces an old one, redirects for the old addresses are set up at this stage too.

  5. 05

    The 30 days after launch

    30 days

    We fix the bugs that surface in this period free of charge; after that you can continue with monthly maintenance.

Timelines and budget ranges are published on our web application development and pricing pages; everything on this page follows the same figures.

Questions about Next.js

Will Next.js move my site up in search results?

Not on its own. Next.js makes sure search engines can read all of the content, that pages open quickly and that technical details such as titles, the sitemap and structured data are right. What really decides rankings is the content itself and how well it answers the search.

Can I update the content myself?

In our projects, blog and guide content lives in MDX files next to the code, a simple and safe approach for teams that don’t change content often. If your team will update content every day, we discuss it in the scoping call and write the scope accordingly.

Does Next.js only run on Vercel?

No. Atölye Tasarım runs on Vercel; hippotenus.com is configured to deploy either to Vercel or as a Docker image. We also set up a client portal to be deployed as a Docker image through Coolify.

What do I keep when the project ends?

A perpetual licence to use the software, and documentation. Transferring the source code to you is possible for an extra fee, stated separately in the quote.

Related services

Web applicationMVPProduct design
Contact

Let’s talk about your Next.js site

In a free 30-minute scoping call we plan the page structure and how each page will be generated, together.