2026 / Selected work

Mira Hollis: Portfolio

I build digital products that feel
clear, capable and a little unexpected.

Mira Hollis smiling, in a cream cable-knit sweater and round tortoiseshell glasses, against a lilac backdrop
Mira Hollis

Independent developer & designer

Open to good projects

About me.

I'm a front-end developer who designs, or a designer who ships her own code. For nine years I've helped founders and small product teams turn rough ideas into web apps people open every day.

I work best close to the problem: sketching flows with the people who will use them, building the real thing early, and testing it on the cheapest phone in the room.

Based in
Porto, Portugal
Working since
2017
Usually with
Teams of 2 to 20

More about me

Mira at her oak desk by a sunny window, sketching wireframes in a notebook with a blue pencil
most mornings

Selected work

All projects

a few notes on how I work

Experience

  1. 2023 - today
    IndependentProduct partner for small teams
  2. 2020 - 2023
    Tidy Machines, LisbonSenior front-end engineer
  3. 2017 - 2020
    Ribeira Media, PortoFront-end developer, newsroom tools
Full experience

How I work

  1. 1
    Understand the taskOne workshop with the people who do the work.
  2. 2
    Test a small ideaA clickable prototype in week one, not week six.
  3. 3
    Build carefullyWeekly releases and decisions written down.
Services and process

Toolkit

  • TypeScript
  • React
  • Astro
  • Next.js
  • Node.js
  • PostgreSQL
  • Playwright
  • Storybook
  • CSS custom properties
  • Paper and pencil
What I use and why

What clients say

Notes & observations

All notes

Have a project in mind?

Tell me what you're building and where it's stuck. I reply to every message within one working day.

Let's talk

Good things, occasionally.

One short letter a month: what I shipped, what broke, and one useful link. No tracking pixels.

Unsubscribe with one click, any time.

Selected work.

Four recent projects, each a different kind of problem. Every case study covers the brief, the decisions that shaped the work, and what the team kept after I left.

Smaller things worth a look

  • Open sourcetiny-range, a 2 kB date-range picker with full keyboard supportDetails
  • Talk, 2026Empty states are product decisionsDetails
  • EssayComponent APIs people can guessRead

Ways to work together.

Three kinds of work, one way of doing it: small weekly releases, decisions written down, and a team that can carry on without me.

Pick a shape

Fixed prices, agreed in writing before we start. Euros, excluding VAT.

Focused sprint

€6,400 / 2 weeks

One feature or flow, designed and built into your codebase.

  • Kickoff workshop on day one
  • Clickable prototype by day four
  • Production code by day ten
  • Recorded walkthrough for your team
Choose sprint

Product build

€19,500 from, 6 to 10 weeks

A new product or a large feature, from first workshop to launch.

  • Discovery workshop and user flows
  • UI design and a documented component library
  • Weekly releases to a staging site
  • Two handover sessions and a decision log
Choose build

Ongoing partner

€4,200 / month

Six days a month for a team that already ships and wants a second pair of hands.

  • Planning call every Monday
  • Design and front-end reviews
  • Small features and fixes, shipped weekly
  • Pause or stop with 30 days notice
Choose partner

Rough numbers, before we talk

Pick what you need and see a realistic range. It updates as you choose.

What do you need?
How big is it?
Anything extra?

Estimated range

€11,800 - €14,800

About 4 to 5 weeks

Estimates are ranges, not quotes. The final price comes from a written scope after a 30-minute call.

Send me this estimate

How a project runs

A 30-minute call about the product, the people using it and the deadline that matters. Within two working days you get a two-page scope: what we will build, what we will not, a fixed price and the first three weeks planned in detail.

Half a day with the people who do the work today. We map the current way of doing the task, mark the painful steps, and agree on the one flow that has to feel effortless at launch.

Every Friday there is something new on a staging site you can click, share and break. Monday starts with a short call to review it and decide what comes next. Decisions go into a shared log so nobody has to remember why a button moved.

Two recorded sessions with your team: one on the codebase, one on the component library. You keep the code, the design files, the decision log and a list of what I would build next and why.

More questions? Read the FAQ

Hi, I'm Mira.

I design and build web apps for small teams. Before going independent I spent six years inside a newsroom and a product studio, where I learned that most problems are solved in conversation long before they reach the code.

at a glance

  • Based inPorto, Portugal
  • LanguagesEnglish, Portuguese, Spanish
  • Works withTeams of 2 to 20
  • Hours09:00 - 17:30 Lisbon time
Mira working at a light oak desk beside a tall window, sketching app screens in a dot-grid notebook

How I got here

2017

A newsroom taught me speed

My first job was building election-night pages for a regional newsroom in Porto. Deadlines were real, traffic arrived all at once, and reporters filed from car parks on their phones. I learned to ship small, measure honestly and fix things at 2am without panic.

2020

A studio taught me craft

At Tidy Machines in Lisbon I led front-end work on eleven client products and started the shared component library the whole studio still uses. Working next to designers every day changed how I write code: names, spacing and states became part of the job, not an afterthought.

2023

Independent, on purpose

Now I take one project at a time, usually for founders and teams of fewer than twenty people. It keeps the work close: I sit in the workshop, write the components and stay until the team is confident running it without me.

What I care about

Clear beats clever.

If a screen needs a tooltip to explain itself, the screen is the problem. I would rather cut a feature than ship one people have to decode.

Build the real thing early.

Prototypes in code show the awkward parts that pictures hide: slow networks, long names, empty lists.

Write decisions down.

A short log of what we chose and why saves weeks of re-arguing later, and makes handover painless.

Leave the team stronger.

Success is the week after I leave, when your team adds a feature with the same components and it simply fits.

Away from the keyboard

  • Thursday ceramics classWhich is how I met the potters behind Barrolar, and how I learned to respect a slow process.
  • Slow trainsMost free weekends end somewhere along the Douro line, with a paper map and a flask of tea.
  • A sourdough starter called GustavoEleven years old, fed every morning, and more reliable than most APIs I have used.

Let's talk

A practice, always evolving.

Nine years of building for the web, from election-night pages to design systems. The short version is below; the long version comes with coffee.

2023 - today

Independent developer and product designer

Mira Hollis Studio, Porto

  • Design and build web apps for founders and small product teams.
  • One project at a time, usually 6 to 14 weeks long.
  • Recent work: Plainweek, Barrolar, Tallypot and Slowtrack.

2020 - 2023

Senior front-end engineer

Tidy Machines, a product studio in Lisbon

  • Led front-end on eleven client products, from booking tools to a public library app.
  • Started the studio's shared component library, adopted across seven projects.
  • Ran the accessibility review every release went through.

2017 - 2020

Front-end developer

Ribeira Media, a regional newsroom in Porto

  • Built the live results pages for two election nights.
  • Cut the article page weight from 3.1 MB to 780 KB.
  • Made the newsroom editor usable on a phone for reporters in the field.

2013 - 2017

BA in Communication Design

Porto

  • Typography, interaction design and a final project on accessible timetables.
  • Taught myself JavaScript in the evenings by rebuilding the bus timetable site.
Top-down view of Mira's desk: a closed laptop, a notebook of pencil wireframes, a compact lilac keyboard, coffee and blank sticky notes

Toolkit

Build

  • TypeScript
  • React
  • Astro
  • Next.js
  • Node.js
  • PostgreSQL

Quality

  • Playwright
  • Vitest
  • Storybook
  • Screen reader testing
  • Performance budgets

Design

  • Paper sketches first
  • Design tokens
  • Prototypes in code
  • Interface copy

Open source

tiny-range

A date-range picker in 2 kB with full keyboard support, sensible screen reader labels and no dependencies.

2.1 kB gzippedMITTypeScript

tokens-to-css

Turns one JSON file of design tokens into CSS custom properties with light and dark sets. Used in Plainweek and Tallypot.

CLI and APIMITNode 20+

Speaking and teaching

  • 2026Empty states are product decisionsPorto front-end meetup
  • 2025Shipping small without shipping sloppyDesign systems day, Lisbon
  • 2024 - 2025Mentor for two cohorts of junior developersEvening coding school, Porto

Notes & observations.

Short essays on building interfaces, working with small teams and shipping without drama. About one a month.

Get the next note by email

One short letter a month. Unsubscribe with one click.

Let's talk.

Tell me about the product, the people using it and where it's stuck. A few sentences is plenty; we can fill in the rest on a call.

What do you need?
Budget

What are you building, who is it for, and what does a good outcome look like?

Replies within one working day.

Questions, answered.

The things founders usually ask on the first call. If yours is missing, ask it directly.

Still curious?

Send the question with a line about your project and I will answer within a working day.

Let's talk

A good thing in your inbox.

Once a month I write about what I shipped, what broke and one thing worth your time. Around 600 readers, mostly founders, designers and front-end developers.

  • One letter a month, never more.
  • Plain text, no tracking pixels.
  • Unsubscribe with one click and no guilt.

Recent letters

Privacy.

Short version: I collect as little as possible, keep it only as long as I need it, and never sell or share it.

This page wandered off.

The link may be old, or the page moved when the site was tidied. These are good places to start again.