7 MIN READ · Pedro Thomaz

Working With a Web Design Studio in Portugal: How We Actually Operate

A web design studio in Portugal, based in Leiria and Lisboa. How a small senior team works: sprint-based, bespoke, engineering plus design plus 3D capture in-house.

Working With a Web Design Studio in Portugal: How We Actually Operate

We are a small, senior web design studio in Portugal, based between Leiria and Lisboa and working remotely with clients across Europe. We are not an agency with account managers and a deck. We are the people who write the code, design the screens, and point the camera — and you talk to us directly. This post is an honest description of how we work, the kind of projects we take, and what it's actually like on the other side of the email.

What a web design studio in Portugal looks like when it's done right

The phrase "web design studio" hides a lot. Some studios are one freelancer with a Webflow login. Some are 40-person agencies where the people who pitched you never touch your project again. We sit deliberately in a different place: a small team of senior generalists who own a project end to end, from the first architecture decision to the last colour-graded photograph.

Concretely, that means three disciplines live under one roof: bespoke web engineering, design, and visual capture (photography and 3D). When your e-commerce build needs product photography, we don't subcontract it and hope the colour matches the brand. We shoot it. When a heritage site needs a 3D walkthrough, the people building the web viewer are the people who did the scan. The seams disappear because there are no seams.

The short version: we're a Leiria- and Lisboa-based studio that builds bespoke, server-rendered websites, runs privacy-first analytics, and handles photography and 3D capture in-house. We work in short sprints, we charge for outcomes, and we keep the team small on purpose.

Our model: sprints, not retainers you forget you're paying

We work in fixed, time-boxed sprints with a clearly scoped deliverable at the end of each one. A sprint is usually one to three weeks. We agree on what ships, we ship it, you see it running on a real staging URL, and then we decide together what the next sprint is.

We prefer this to the open-ended monthly retainer for one reason: it keeps everyone honest. There is always a thing that exists at the end. You're never six weeks into an invoice wondering what you've actually bought. If a sprint produces something you don't like, the blast radius is one sprint, not a quarter.

For a typical marketing or brand site, the rhythm looks like this:

  1. Discovery sprint — content audit, sitemap, the real constraints (existing brand, legacy URLs, who edits the site after we leave). We come out with an architecture, not a mood board.
  2. Design sprints — we design in the browser as much as in Figma, because a luxury brand's typography behaves differently at 1.0 line-height on a real screen than it does in a static comp.
  3. Build sprints — engineering. Server-rendered PHP, content modelled in a headless CMS, no JavaScript build pipeline to rot.
  4. Capture sprints — photography, color grading, or 3D, scheduled when the build is ready to receive the assets.
  5. Launch + handover — we hand you a CMS you can actually use and a site that doesn't need us to keep the lights on.

Bespoke, and why we mean it literally

Bespoke gets thrown around. Here is what it means for us: we don't start from a theme, a template, or a page builder. We start from your content and your brand, and the code that exists at the end exists because your project needed it.

Our stack is deliberately boring and deliberately durable. PHP 8.3 on OVH shared hosting, fronted by Cloudflare. Content lives in Cockpit CMS v2, self-hosted on SQLite, with proper per-field i18n so the same entry carries its English, Portuguese, and Spanish versions. There is no build step — no Webpack, no Vite, no node_modules that breaks in eighteen months when a transitive dependency is abandoned. The site is server-rendered HTML with a small amount of hand-written vanilla JavaScript where it earns its place.

This isn't nostalgia. It's a maintenance decision. A site we build in 2026 should still deploy and run in 2031 without a frantic dependency upgrade. We've watched too many "modern" stacks become un-buildable two years after launch because the toolchain moved on. Boring tools you fully understand beat shiny tools you rent.

When a project genuinely needs a heavier frontend, we'll say so — but for content sites, brand sites, and most e-commerce, server-rendered HTML with Cloudflare in front is faster, cheaper to run, and easier for you to own.

What we take on (and what we don't)

We're generalists, but generalist doesn't mean we'll build anything for anyone. The work we do best clusters into a few areas:

What we don't do: low-bid template work, "just make it like this competitor," or projects where nobody on the client side can make a decision. We're a small studio; we take on a handful of projects at a time and we'd rather do those properly.

Leiria, Lisboa, and why location still matters in a remote world

We're based in Portugal — Leiria and Lisboa — and we work remotely with clients wherever they are. So why mention geography at all when half our work never requires us to be in the room?

Because some of it does. 3D capture, photography, and on-site VR deployment are physical. Being in Portugal means we can be at a heritage site in Castro Marim or a studio in Lisboa without a transatlantic flight and a per-diem. For Portuguese and Iberian clients, it also means we share a timezone, a working culture, and — for the work that benefits from it — a language. Our sites ship trilingual (EN/PT/ES) by default because we live in that reality, not because a plugin offered it.

For remote clients across Europe, the Portugal base is mostly a quiet advantage: senior, EU-based engineering and design at rates that aren't anchored to London or Berlin, in a timezone that overlaps the whole continent's working day.

What it's actually like to work with us

You email a person, and a person who understands the technical work emails back. There's no account manager translating your request into a ticket that loses half its meaning. When we estimate a sprint, the person estimating is the person doing the work, so the estimate means something.

We'll push back. If you ask for a carousel that will hurt your conversion, or a cookie banner you don't legally need, or a JavaScript framework your blog doesn't justify, we'll tell you — with reasons. You're paying for judgement, not just hands. A studio that agrees with everything is a studio that isn't thinking.

We document as we go, and we hand over cleanly. The CMS is set up so your team can edit content without calling us. The deployment is something we'll walk you through. We're happy to stay on for ongoing work, but the test of a good handover is that you could leave. We build sites that don't hold you hostage.

How to start a project with us

The first conversation is free and it's about whether we're a fit, not a sales call. Tell us what you're trying to do, what already exists, and roughly when it needs to be live. We'll tell you honestly whether it's the kind of work we do well, sketch a sprint shape, and give you a realistic range. If we're not the right studio, we'll usually know quickly and say so.

The short version

If that sounds like the studio you've been trying to find, that's roughly the point. Get in touch and let's talk about the actual work.