



~/maraavailable --from november
I build fast, quiet websites and apps for small product teams.
Independent full-stack developer in Lisbon. Eleven years of shipping, the last three on my own.
How a project comes together
01vim src/pages/index.astro
Brief, then code
Every project starts in plain words and then a first file. No deck, no forty-page spec: a working page by the end of week one.
02npm run build
Built and tested
Types, tests and a preview link for every change, so you see the site grow instead of hearing about it.
03deploy --prod estuaryline.com
Live on a real address
Deployed to your own hosting, with the keys in your name and a handover you can read in ten minutes.
04lighthouse --all
Fast enough to forget
Pages that load before anyone notices they were loading. Every launch so far has scored 100 across the board.
Selected work
Things I built that are still running.
A ferry company's booking, an oyster farm's shop, a dashboard that got four times faster. Each one with its brief, its numbers and what I'd do differently.

01Web appEstuary Line · 2026
Estuary Line booking
Tickets, timetables and live departures for a river ferry that carries 9,000 people a day. Booking went from a phone call to forty seconds on a phone.
Tickets bought online0%61%
- Astro
- TypeScript
- PostgreSQL
- Stripe
- Cloudflare Workers

02WebsiteOstra Farm · 2025
Ostra Farm shop
An oyster farm's site and shop that sells out every Friday. Built to load on a fisherman's phone and to be edited by the people who farm.
Boxes sold online a week0180
- Astro
- Stripe
- Supabase
- Resend

03PerformanceFieldnote · 2024
Fieldnote dashboard, four times faster
A research dashboard that took four seconds to show anything. Two weeks later it showed the first chart in under one, without a rewrite.
First chart4.1 s0.9 s
- React
- TypeScript
- Vite
- Vitest
Services
Three ways to work together.
Fixed prices where the work allows it, a day rate where it doesn't. Every project comes with the code, the keys and a handover in your name.
website.md4 to 6 weeks
Website
A fast, accessible site you can edit yourself
From €6,800fixed price
How long: 4 to 6 weeks
- Design in the browser, or built from your designer's files
- A CMS your team can use without me
- Lighthouse 100 and WCAG AA, tested with every build
- Analytics, forms and email set up in your accounts
- Two weeks of fixes after launch
web-app.md8 to 14 weeks
Web app
From the first sketch to people using it
From €18,000or €950 a day
How long: 8 to 14 weeks
- A working preview in week one, a new one every week
- TypeScript, Postgres and tests from the first commit
- Sign-in, payments and email where you need them
- Deployed to your hosting, with a handover your next developer can read
- Two weeks of fixes after launch
performance.md2 weeks
Performance rescue
Your existing site or app, made fast
€3,400fixed price
How long: 2 weeks
- Real-user and lab measurements before I touch anything
- The fixes themselves, as reviewed pull requests
- A performance budget and a test that keeps it
- A before-and-after report you can show your board
Experience
Eleven years, one commit at a time.
Agencies, a product team and now my own desk. The side branches are where most of what I know came from.
~/maragit log --graph --oneline career
218b214HEAD → main2023 – now
Independent: sites, apps and speed for small product teams
Three or four projects a year, from the brief to the morning after launch. Clients in Lisbon, Copenhagen, Rotterdam and Bristol.
c7676152024
tinyqueue 2.0: a job queue for edge functions
Open source, 2,400 stars, used in production by teams I've never met.
6426ff02020 – 2023
Lead front-end at Fieldnote (Copenhagen, remote)
Took the dashboard from a single bundle to islands, led a team of four, wrote the design system with our designer.
1276f242018 – 2020
Front-end developer at Atelier Nord, Stockholm
Agency work: forty sites for museums, a ferry operator and a chain of bakeries. Learned to ship on a date.
c3b2c452017
Accessibility course, then everything changed
Six weeks with screen reader users. I've tested with a keyboard first ever since.
c00497b2015 – 2018
Developer at Lund University Library
Catalogue search, a booking system for study rooms and my first production database.
e93b728v0.12015
Initial commit: BSc Computer Science, Lund
Stack
Boring tools, used well.
I pick what your team can hire for in two years, not what was on the front page last week.
Front end
- Astro
- TypeScript
- React
- Tailwind CSS
Back end
- Node.js
- PostgreSQL
- Supabase
- Cloudflare Workers
Craft
- Vitest
- Figma
- Git
- Vercel
Clients
What they said after.
Mara rebuilt our booking in eleven weeks and the phone stopped ringing with people who couldn't buy a ticket. That was the whole point.
Inês CorreiaOperations, Estuary Line Our dashboard went from four seconds to under one. Customers noticed before we told them.
Jonas HolmCTO, Fieldnote She asked better questions about oysters than our accountant. The shop has paid for itself twice.
Rui TavaresOwner, Ostra Farm
Writing
Notes from the desk.

#performance#ci
A performance budget that actually holds
Budgets fail because nobody notices when they're broken. Put the number in CI, make the failure explain itself, and it holds for years.

#stack#freelance
The boring stack, and why clients like it
Astro, TypeScript and Postgres aren't exciting. That's the point: in two years someone else can hire for them.

#launch#checklistMembers only
My launch checklist
The 31 things I check before a site goes live, from redirects to the 404 page. The whole list is for members.
One email when there's something worth reading.
New posts and the odd tool I can't stop using. Four or five a year, never more.
~/maraopen --project
Have something that needs building?
Tell me what it is and when it has to be live. I answer every enquiry within two working days, with a yes, a no or a better idea.
