How a website works

It feels simple. That is the point.

What your customer sees in the browser is part of the picture. Explore what happens behind a contact form, a booking and a customer portal.

Choose an example

A visitor sends an enquiry. This example uses an email service without a separate customer database.

Inside the website

Drag to rotate. Select a layer to bring it forward. On mobile, enable touch interaction first.

01 / 6 · BROWSER / UI

Design and frontend

The part your customers see. Content, layout and navigation help them understand your offer and know what to do next.

The work involved

  • Design and content for the intended audience
  • Responsive layouts and keyboard access
  • Semantic HTML, metadata and technical SEO

A simple website can be a set of static pages. Add a form, CMS or other features only when they serve a purpose.

Illustration only. No information is sent and no real booking or sign-in takes place.

The model groups areas of work into a simplified journey. These are not necessarily separate systems. A real request can involve several areas at once.

The simplest system that meets the need

A website does not need every layer. A standard platform or a link to an existing tool can be the right choice. Additional technology needs a reason to be there.

Every layer explained

Design and frontend

The part your customers see. Content, layout and navigation help them understand your offer and know what to do next.

  • Design and content for the intended audience
  • Responsive layouts and keyboard access
  • Semantic HTML, metadata and technical SEO

Application logic

The behaviour between clicks. A form responds to input, a calendar presents choices and the interface keeps track of progress.

  • Clear choices and loading states
  • Early feedback on invalid fields
  • Useful messages when an action succeeds or fails

Hosting and delivery

Pages and requests need to reach their destination. Hosting makes the site available; optimisation reduces unnecessary waiting.

  • Domain configuration, HTTPS and deployment
  • Optimised images, fonts and code
  • Public caching kept separate from private responses

Backend and access

The server checks information and permissions. Browser checks help people complete a task, but do not establish trust.

  • Server validation and relevant business rules
  • Identity and permission checks where required
  • Error handling and protection against misuse

Data and files

Stored information needs a clear structure and the right access rules. A straightforward brochure site may need no database of its own.

  • Data relationships and access to the correct records
  • Protection against conflicting concurrent changes
  • Backup and recovery suited to the system

Integrations

A website can connect to email, booking and other tools. Those connections also need a plan for an unavailable service.

  • Data exchange with the agreed services
  • Timeout handling and safe retries
  • Traceability and follow-up within the agreed scope

The work around the finished website

Scope and content

Define the audience, purpose, pages and customer action before choosing the features.

Design, development and testing

Responsive layouts, accessibility and performance need to work alongside the agreed features. Testing includes the paths where something fails.

Launch and operation

Deployment, HTTPS and handover prepare the site for use. Hosting, maintenance and future changes are agreed as part of the scope.

Contact form · Journey steps

A visitor sends an enquiry. This example uses an email service without a separate customer database.

  1. The customer presses Send

    Clear content and an accessible form make getting in touch straightforward on a phone or with a keyboard.

  2. The form provides feedback

    The browser checks fields and indicates progress. The server will still need to validate the request independently.

  3. The request travels to the server

    HTTPS protects the information in transit to the function handling the form.

  4. The server validates the request

    Field validation and request checks happen before the email service is contacted.

  5. The email service accepts it

    The service accepts the message for delivery. That does not prove it has already reached the recipient's inbox.

  6. The customer gets a clear answer

    The website confirms what it knows: the enquiry has been accepted for processing.

What if something goes wrong?

  • The email address is invalid

    The server rejects the field. The form explains what to change while keeping the rest of the message intact.

  • The email service times out

    The page cannot promise success without confirmation. An uncertain delivery needs reconciliation before a retry could create duplicate messages.

  • The request fails

    An interrupted request should not leave a spinner running indefinitely. The interface preserves the text and explains the problem.

Booking · Journey steps

A customer chooses an appointment. This example has its own booking rules and stored reservations.

  1. The customer picks a slot

    The calendar shows availability retrieved from the system. A visible slot is not yet a confirmed booking.

  2. The interface explains the choice

    The customer can review the service and time before confirming, with a clear indication of progress.

  3. The booking request is sent

    The browser sends the selection to the server over HTTPS.

  4. The server checks the rules

    The server validates the details and booking constraints. Availability shown earlier may now be out of date.

  5. The slot is reserved atomically

    An atomic write and a suitable database constraint prevent two customers from taking the same slot. Another availability lookup alone would not prevent the race.

  6. Confirmation is passed on

    The email service is notified after the reservation is saved. An email failure does not undo the booking.

  7. The result is visible

    The page displays the saved reservation, so the customer does not have to wait for an email to know it worked.

What if something goes wrong?

  • Someone else took the slot

    The database rejects the competing reservation. The customer can choose another appointment instead of being double-booked.

  • The confirmation email fails

    The reservation and email have separate outcomes. The system retains the booking and can retry the notification without reserving a second appointment.

Customer portal · Journey steps

From signing in to the correct document. Knowing who the customer is and checking what they can access are separate responsibilities.

  1. The customer signs in

    A clear sign-in screen leads to the customer overview. This example uses no real account details.

  2. A document is selected

    The interface makes the next action easy to find. Hiding a link does not protect the file behind it.

  3. A private request is sent

    The browser connects over HTTPS. Private responses must not be reused through a public cache.

  4. Identity and access are checked

    The server validates the session, then checks permission for this particular document. Being signed in does not grant access to every file.

  5. The right record is retrieved

    The data model links the customer to the correct case and file. Queries and file access must enforce matching permissions.

  6. The file becomes available

    Protected file storage delivers the permitted content, with access still restricted to the intended customer.

  7. The customer has what they need

    The document is available without another email exchange. No real file is downloaded in this example.

What if something goes wrong?

  • Access is denied

    The server stops the request before sending private information. Interface and API permissions need to agree.

  • The document is unavailable

    A moved or deleted file needs a useful explanation. The response must not reveal information about another customer's documents.

What should your website make easier?

Tell me about the business and what customers need to do. We can then work out which parts the solution actually needs.

Discuss your project