Skip to content
Download CV (PDF)
← Back to portfolio

02 2023–now

Internal systems and client applications

Breadth, and owning several products at once.

Client
Speedlo Pro
Period
2023–now
Role
Lead developer
Stack
Next.jsReactTypeScriptGraphQL + ApolloChakra UIZustandReact Native

Context

Speedlo Pro is a system for restaurants and delivery: ordering sites, POS, kiosks and order tracking. The company is roughly 20–30 people.

Problem

Holding technical direction and quality across several products at once, with a team whose size kept moving.

On top of that, nowhere was it written down how frontend was actually done at the company.

Decisions

  1. 01

    Write down how frontend is done here

    I produced the internal FE Philosophy, FE Development lifecycle, FE Coding guidelines and FE Deployments documents. Oral tradition became a standard that can be handed over.

  2. 02

    Lead the product, not the tickets

    On the kiosk applications and the other products I am lead developer, meaning the person answerable for the technical direction of the whole product rather than for individual tickets.

  3. 03

    Do not build everything from scratch

    For every brief I look for the option that balances effort against benefit. Not everything is worth writing by hand, and not everything is worth building at all.

  4. 04

    Be in the room when we hire

    I took part in interviews with the CEO when hiring senior and mid-level frontend developers and a UX/UI designer. I wrote the technical assignment for frontend interviews, and the brief for a UX/UI designer at a time when the company had none.

My role

  • Reviewer and responsible person on the shop, waiter and driver projects.
  • Kiosk and mobile applications in React Native.
  • Onboarding a senior colleague, leading a mid-level developer.

Result

  • Frontend now has a written standard a new joiner can be onboarded against.
  • Leadership cites me as an example of a product owner already delivering results.
  • One story stands in for the rest: on a Friday evening it turned out in production that the waiter app was losing the selected branch when returning from the payment gateway, which risked duplicate payments. A colleague and I debugged it from six until eleven at night so it would be ready on Saturday. The load test, in the form of a sold-out league match, passed without a single error.