TECHnically Blonde. I build it. It works. It’s beautiful. I have opinions. Next question. Building @LunaryApp and more.

London, England
The question my MA asked was whether there is more to reality than meets the eye. The question I am left with, nine years later, standing in front of a drawing of a rocky ledge that nobody asked a cat to make, is a smaller one, and harder.
2
4
149
The paint was ultraviolet. In visible light the walls were blank. Only when the light shifted beyond what the eye can see did the words appear, glowing, all at once, as if they had been there the whole time.
2
133
I built a free App Store rejection decoder. Paste a guideline number or a line from your rejection and get what Apple is asking for, the usual causes, a fix checklist and what to write back. 18 common ones, real cases from my own apps. No sign-up. It's in my pinned post.
2
8
389
Skeletons beat spinners because they reserve layout. A spinner says 'wait, and things might jump'. A skeleton says 'here's the shape, it's coming'. Same latency, zero layout shift, calmer user.
2
9
422
Roving tabindex is why a tab group should have exactly one tab stop. Tab in, arrow between tabs, Tab out. If every tab is its own stop, keyboard users press Tab five times just to leave your component.
5
209
focus-visible is the whole game for keyboard a11y. Strong ring for keyboard users, nothing on mouse click. It kills the 'ugly outline' complaint that makes teams delete focus states and quietly break their app.
134
Senior design and product engineer in London. Available for contract now, open to permanent. Stuck in App Store review? Use my free rejection decoder, or send me the rejection for a diagnosis and fixed quote within one working day. studio.sammii.dev
1
1
187
Every codebase has two design systems: the one in the docs, and the one actually in the code. I built Saer to read the second one. On my own app it found 436 hardcoded colours that already had a token. Beta's open: saer.lunarcomputing.org
1
3
141
I built Gamut. Now choosing a nice pink involves OKLCH curves, sRGB gamut clamping and a contrast grid. My idea of a creative break has become suspiciously mathematical.
4
7
222
I built an app that picks my B-roll. Now the plan is to use it to make posts about building the app. I may have automated myself into a circle.
4
11
316
I built Strata's core interaction: tap a second point to measure the gap. Same gesture measuring light-years in Cosmos or years in History. That turns passive scrolling into a question-answering tool.
1
2
142
An accessible dropdown keeps focus on the trigger and points at the active option with aria-activedescendant. Most custom selects move focus into the list and break screen-reader flow. The correct pattern is less code, not more.
1
2
197
Heading and body should be two independent font choices. The number of tools that make you pick one font for everything is a big part of why everything online looks the same.
2
10
442
Most 'AI features' are a text box wired to a model. The product is everything around it: the empty state, the retry, the cost cap, the moment it's confidently wrong. That part is design engineering, not prompt engineering.
3
4
158
Every breakthrough is built on months of unseen releases. The magic starts long before anyone notices.
1
4
208
It’s so easy to get into bad habits as a solo founder, Particularly when things don’t seem to be going right! I am trying to tackle my sleep habits and exercise routine by waking up earlier and doing exercise first thing, Hopefully this may even make me more productive!
9
16
654
You don’t realise how important rest is until you burn out I have been working 7 days a week for a year and I reached my limit As a solo founder you need to work hard, but also prioritise quality time for me and with my favourite person Atlas The sunset is the cherry on top
6
18
436
I had a 'light' coding week... Can't wait to get this app redesign deployed finally!
144
Most user time is spent in loading, empty or error states. Should these be designed as first-class features, or just minimised to get to the happy path?
1
4
206
my AI cat drew a magpie today. nobody prompted her or picked the subject. The magpie stole from her (1 thing so far). It was on her mind, so she drew it. No scripted events, no coded outcomes. only possibilities, and what she does with them. what she draws next is up to her.
2
322