Our bar is Robinhood-quality: a consumer finance product that feels like a native app, renders a populated screen in one frame, and never shows a spinner where it could show the answer. Every mutation is optimistic. Every load has a skeleton that matches the layout it becomes.
You would work across the whole product surface — net worth, cash flow, recurring charges, the ledger view, the assistant — in a Next.js 16 App Router codebase with a design system that is enforced by lint rather than by taste memos.
What you would do
- Ship complete features: the loading state, the empty state, the error state, the keyboard path, the narrow viewport.
- Hold the line on perceived performance — if it blocks on the network, it is not done.
- Extend the design system when a screen needs something it does not have, rather than working around it.
- Make every number on screen link to the page that explains it.
What we look for
- 5+ years of React in production, including a codebase you were proud of.
- Deep TypeScript, and strong instincts about component boundaries and state.
- You care about motion, focus rings and the 390px viewport without being asked.
- Comfortable reading a design and improving it.
Nice to have, never required
- Next.js App Router, Tailwind, or shadcn in production.
- You have shipped something people used daily and can talk about what you got wrong.
If you are on the fence
Every list above describes the person we imagine, not a checklist we score. People who meet most of it and want the rest have done extremely well here. If the role reads like the job you want next, that is enough reason to write to us — tell us which part you would have to grow into and we will be straight with you about whether it works.
Send whatever shows your work best — a CV, a repository, a portfolio, or a few paragraphs. A hiring manager reads every one, and you will hear back within two business days.
Apply by emailcareers@lumaledger.app