Nadia Rahman
Taking on 1 contract from January
I build the parts of
developer tools that
people notice.
Product engineer in Lisbon. I ship performance and accessibility work to open source projects with 59.5k combined stars, and help teams do the same for their own products.
or email hello@example.com
- merged pull requests
- 127
- stars on repos I ship to
- 59.5k
- projects I help maintain
- 2
- building for the web
- 6 yrs
Open source
Merged where it matters
Features and fixes in projects I did not start. Open a project to see the pull requests behind the numbers.
CorvidMaintainer
corvidhq/corvid · Go, TypeScript
- Stars
- 23.8k
- Merged
- 41
Event driven workflow engine for data pipelines and background jobs.
23.8k stars · 41 merged
- Resume failed runs from the last successful step#4182 · Sep 14, 2026+1,264−3181,264 lines added, 318 removed
- Cursor based pagination for the runs API#3907 · Jun 2, 2026+486−129486 lines added, 129 removed
- Render the run timeline with virtualised rows#3655 · Feb 19, 2026+391−244391 lines added, 244 removed
Strata
stratadb/strata · Rust
- Stars
- 14.2k
- Merged
- 17
Embedded analytics database that runs in your process and reads Parquet directly.
14.2k stars · 17 merged
- Push down LIMIT through window functions#2291 · Aug 27, 2026+642−87642 lines added, 87 removed
- Stream Parquet row groups instead of buffering whole files#2048 · Apr 11, 2026+517−203517 lines added, 203 removed
Weft UICore team
weftui/weft · TypeScript
- Stars
- 9.5k
- Merged
- 33
Accessible React components with no runtime styles and full keyboard support.
9.5k stars · 33 merged
- Combobox that announces result counts to screen readers#1716 · Jul 30, 2026+938−156938 lines added, 156 removed
- Focus trap that survives portals and nested dialogs#1588 · Mar 8, 2026+412−97412 lines added, 97 removed
- Respect reduced motion in every transition primitive#1342 · Nov 21, 2025+233−181233 lines added, 181 removed
Beacon
beaconhq/beacon · Python, TypeScript
- Stars
- 6.9k
- Merged
- 19
Self hosted error tracking with source maps, releases and alert routing.
6.9k stars · 19 merged
- Group errors by normalised stack frame instead of message#3374 · Oct 3, 2026+724−265724 lines added, 265 removed
- Upload source maps during the build with one CLI command#3120 · May 16, 2026+389−41389 lines added, 41 removed
Small, well tested pull requests
sent to the tools that other
engineers depend on every day.
Projects
Things I built and still use
Each one started as a problem I had myself.
- 01Active · 2025
Shoreline
Self hosted uptime checks and status pages in a single 14 MB binary
2,341GitHub stars
GoSQLiteHTMXTailwind CSSRead the case study - 02Maintained · 2024
Glyphcut
A font subsetting CLI that cut web font payloads by 71% on average
71%smaller fonts, on average
RustWOFF2GitHub ActionsRead the case study - 03Active · 2025
Fieldnotes
Local first notes with end to end encrypted sync between your devices
1,206GitHub stars
TypeScriptTauriTidepoolSQLiteRead the case study
Experience
Where I have worked
Product teams, then independent work, then product teams again.
to now
Lisbon, remote
CurrentSenior product engineer, platform at Ferrous Labs
- Lead the team of four that owns the public API and the developer dashboard, used by 3,800 companies.
- Cut the dashboard’s largest page from 1.9 MB to 412 KB of JavaScript, which took the 75th percentile load time from 4.6 s to 1.7 s.
- Started the open source time policy: every engineer spends one Friday a month on the projects we depend on.
- TypeScript
- Go
- PostgreSQL
to
Berlin
Software engineer at Parcelwise
- Built the live tracking map that 210,000 recipients a day open, with updates over server sent events.
- Moved courier routing from a nightly batch to a queue, so late orders could still be planned the same day.
- Ran the accessibility audit that took the recipient app to WCAG 2.2 AA across 31 screens.
- React
- Node.js
- Redis
to
Lisbon
Frontend developer at Independent
- Shipped 14 marketing sites and two booking flows for small studios, clinics and restaurants.
- Wrote a performance budget into every contract: no page over 200 KB before images.
- JavaScript
- Accessibility
- Performance
Writing
Notes from the work
Long form posts about open source, codebases and the tools I build.
- 2 min read
My first pull request to a 20k star project
The issue I picked, the three versions of the patch, and the review comments that taught me more than the code did.
- 2 min read
Reading a codebase you didn't write
A repeatable way to find your footing in an unfamiliar repository in an afternoon, from the entry point to the first change you can trust.
- 1 min read
Notes on writing a terminal UI in Go
What I learned building the Shoreline dashboard for the terminal, from the update loop to keeping a 60 row table smooth over SSH.
Toolbox
What I reach for
Commits and reviews over the last 52 weeks, and the stack behind them.
- Languages
- TypeScriptGoRustSQL
- Frontend
- ReactAstroTailwind CSSWeb Components
- Backend
- Node.jsPostgreSQLSQLiteRedisgRPC
- Practice
- Accessibility auditsPerformance budgetsTechnical writing
Working together
Questions clients ask first
Are you available for contract work?
Yes, for one contract at a time, starting in January. I work four days a week on client projects and keep Fridays for open source. Engagements usually run between six weeks and six months.
What kind of work do you take on?
Frontend performance, accessibility, design systems and developer tools. I’m most useful when a product works but feels slow, breaks for keyboard and screen reader users, or needs an API that other developers will enjoy using.
Do you work across time zones?
I’m in Lisbon (UTC+0, UTC+1 in summer) and overlap at least four hours with teams from San Francisco to Bangalore. Most of the work happens in writing, in pull requests and short documents, so a call is rarely the bottleneck.
How do you price a project?
Weekly, at a fixed rate, with a written scope for each two week block. You can stop at the end of any block. I don’t bill by the hour because it rewards the wrong things.
Can you help my team start contributing to open source?
Yes. I run a two week programme where each engineer lands a first merged pull request in a project your product depends on. It starts with picking the right issues, which is most of the work.
What do you need from me to get started?
A short description of the problem, access to the codebase and one person who can make decisions. I send a written plan within three working days of our first call.
Have a product that feels slow
or hard to use?
Tell me what is in the way. I reply to every message within two working days, usually with a few questions and a rough plan.