---
title: "Journal · 3 — Orvun Labs"
description: "Practical thinking on product design, software development and the decisions in between."
canonical: "https://orvunlabs.com/en/journal/page/3"
language: "en"
last_modified: "2026-09-14"
---

# Journal · 3

Practical thinking on product design, software development and the decisions in between.

## All topics

- [Planning a product](https://orvunlabs.com/en/journal/topic/planning.md)
- [MVP & validation](https://orvunlabs.com/en/journal/topic/mvp.md)
- [Building SaaS](https://orvunlabs.com/en/journal/topic/saas.md)
- [Applied AI](https://orvunlabs.com/en/journal/topic/ai.md)
- [Connected systems](https://orvunlabs.com/en/journal/topic/integrations.md)
- [Workflow automation](https://orvunlabs.com/en/journal/topic/automation.md)
- [Web & experience](https://orvunlabs.com/en/journal/topic/web.md)
- [Quality & reliability](https://orvunlabs.com/en/journal/topic/design.md)
- [Software modernisation](https://orvunlabs.com/en/journal/topic/rescue.md)
- [Choosing a partner](https://orvunlabs.com/en/journal/topic/partnership.md)

## Journal

- [Connecting a legacy system through a new API](https://orvunlabs.com/en/journal/connecting-legacy-systems-apis.md) — Begin by discovering which interfaces the old system actually supports and who is allowed to change it. A modern API can protect new applications from old details, but it cannot make an unre
- [When a spreadsheet needs to become a business application](https://orvunlabs.com/en/journal/when-a-spreadsheet-needs-to-become-a-business-application.md) — A large spreadsheet is not automatically a software project.
- [Automating approvals without losing accountability](https://orvunlabs.com/en/journal/automating-approvals-without-losing-accountability.md) — An approval workflow should make a decision traceable, not merely send reminders faster.
- [Turning manual reporting into a dependable reporting process](https://orvunlabs.com/en/journal/turning-manual-reporting-into-a-dependable-reporting-process.md) — A report is ready for automation when its definitions are stable enough to reproduce, not simply when preparing it is tedious.
- [Scoping a booking system around real availability](https://orvunlabs.com/en/journal/scoping-a-booking-system-around-real-availability.md) — A booking system promises more than a time on a calendar.
- [What a customer self-service portal can realistically take off your team](https://orvunlabs.com/en/journal/what-a-customer-self-service-portal-can-realistically-take-off-your-team.md) — A portal reduces repetitive work when customers can finish a useful task without asking someone to interpret the result.
- [Web app, PWA or native app: choose around the hardest task](https://orvunlabs.com/en/journal/web-app-pwa-or-native-app-choose-around-the-hardest-task.md) — Choose the delivery model around a task that must work, rather than a preference for an app-store icon.
- [Server rendering for web applications that need search visibility](https://orvunlabs.com/en/journal/server-rendering-for-web-applications-that-need-search-visibility.md) — Start by separating public material from private work.
- [Multilingual product design beyond translated text](https://orvunlabs.com/en/journal/multilingual-product-design-beyond-translated-text.md) — A multilingual product needs a stable relationship between content, language and user preference.
- [A quote form that helps people explain the work](https://orvunlabs.com/en/journal/a-quote-form-that-helps-people-explain-the-work.md) — A quote form should collect enough context for a useful reply without requiring the visitor to write a specification.
- [Designing B2B dashboards around the next useful action](https://orvunlabs.com/en/journal/designing-b2b-dashboards-around-the-next-useful-action.md) — A business dashboard is useful when it helps someone notice, understand and act on work.
- [Setting a performance budget that supports the product](https://orvunlabs.com/en/journal/setting-a-performance-budget-that-supports-the-product.md) — A performance budget is a boundary for a defined user experience, not a score chosen because it looks impressive.

- [Journal 1](https://orvunlabs.com/en/journal.md)
- [Journal 2](https://orvunlabs.com/en/journal/page/2.md)
- [Journal 3](https://orvunlabs.com/en/journal/page/3.md)
- [Journal 4](https://orvunlabs.com/en/journal/page/4.md)
- [Journal 5](https://orvunlabs.com/en/journal/page/5.md)

## Let's make something useful.

A first product, a difficult workflow or software that needs a fresh start. Tell us where you are.

- [Tell us about your project](https://orvunlabs.com/en/contact)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://orvunlabs.com/#organization",
      "name": "Orvun Labs",
      "url": "https://orvunlabs.com",
      "logo": "https://orvunlabs.com/orvunlabs-icon-512.png",
      "description": "Custom software, SaaS products and AI-powered tools — designed around your business.",
      "knowsAbout": [
        "Custom software",
        "SaaS product development",
        "AI integration"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://orvunlabs.com/#website",
      "name": "Orvun Labs",
      "url": "https://orvunlabs.com",
      "inLanguage": [
        "en",
        "es",
        "de",
        "fr",
        "pt",
        "ja",
        "hi",
        "ar",
        "id",
        "tr",
        "pl"
      ],
      "publisher": {
        "@id": "https://orvunlabs.com/#organization"
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://orvunlabs.com/en/journal/page/3#webpage",
      "url": "https://orvunlabs.com/en/journal/page/3",
      "name": "Journal · 3",
      "description": "Practical thinking on product design, software development and the decisions in between.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://orvunlabs.com/#website"
      },
      "about": {
        "@id": "https://orvunlabs.com/#organization"
      },
      "breadcrumb": {
        "@id": "https://orvunlabs.com/en/journal/page/3#breadcrumb"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://orvunlabs.com/en/journal/page/3#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Orvun Labs",
          "item": "https://orvunlabs.com/en"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Journal · 3",
          "item": "https://orvunlabs.com/en/journal/page/3"
        }
      ]
    }
  ]
}
```
