Naar inhoud

Productengineering over de hele stack

Vijf jaar ervaring met het opleveren van klantgerichte producten, backendservices, datasystemen, live migraties en de infrastructuur die nodig is om ze te beheren.

Tijdlijn

  1. Covent

    Senior frontendengineer → teamleider

    Heden

    Begon bij Covent, voorheen Dispo Genius, als senior frontendengineer en groeide door tot teamleider. Ik ben verantwoordelijk voor de frontendarchitectuur, lever backendsystemen op, stel engineeringnormen vast en begeleid drie engineers.

    • Stelde Covent MCP voor en leidde het van idee tot productie. De Go-service leverde 23 alleen-lezen-tools met OAuth 2.0 en PKCE, tenantgebonden toegang, kredietlimieten, gestructureerde logging, PostgreSQL-status, analyses en documentatie. Ik bouwde het EC2-opleveringspad met overdracht van Docker-images, controles op databasegereedheid, back-ups, migraties, gefaseerde statuscontroles, rollback en Slack-rapportage.

    • Bedacht en leverde Covent Spotlight op, een Mac Spotlight-achtig zoeksysteem, en haalde het daarna uit de toepassing als het gedeelde workspacepakket @covent/spotlight, dat door Inbox en Prospecting werd overgenomen. Het systeem coördineert lokale en serverbronnen, annulering, paginering, toetsenbordnavigatie en statusbehoud; Prospecting gebruikt Fuse.js voor fuzzy matching. Een klant noemde de ervaring een doorbraak.

    • Verminderde de hoeveelheid JavaScript bij de eerste laadbeurt op zes routes door zware providers, SDK-gestuurde interfaceonderdelen, inactieve tabbladen, dialoogvensters en routespecifieke code uit te stellen. Routebundels in de productiebuild werden 26 tot 40% kleiner, waaronder onboarding van 482 naar 295 kB en listing campaigns van 808 naar 487 kB; de CEO van Covent noemde het een grote verbetering.

    • Leid en begeleid een team van drie als code owner voor de frontend, beoordeel product- en architectuurwerk, stel engineeringnormen vast en blijf zelf actief in de codebase.

    • Was verantwoordelijk voor Covents overgang van de verouderde CRA-frontend naar een native Next.js- en React-platform. Onderhield tijdens het naast elkaar bestaan de V1/V2-brug voor navigatie en authenticatie en verwijderde bij de omschakeling het iframe en de verouderde API-laag.

    • Verving vooraf berekende berichtgeneratie met meerdere agents door een proces op aanvraag. Daardoor daalde het aantal modelaanroepen in het gedocumenteerde geval met 96% en namen de maandelijkse kosten af van ongeveer 9.000 naar ongeveer 700 dollar.

    • Bouwde van begin tot eind de Prospecting Insights-API met Django en PostgreSQL, inclusief aggregatie- en windowquery's, prijshistogrammen, ranglijsten van topinvesteerders, canonieke cachesleutels, tests en getypeerde frontendintegratie.

    • Herstructureerde Investor Prospecting rond live vastgoed-API's, Mapbox WebGL-lagen, locatie-, markerings- en polygoonzoekopdrachten, begrensde clientstatus, annulering van verouderde aanvragen en een FIFO-buffer voor 10.000 objecten.

    • Bouwde een realtime Inbox met gevirtualiseerde gesprekken, opnieuw verbindende WebSockets, optimistische statusupdates bij het versturen van sms- en e-mailberichten, nieuwe pogingen en rollback, bijlagen, vertaling, sjablonen, planning, URL-routering en behoud van de scrollpositie.

    • Ontwierp en leverde Auth 2.0 op met XState-processen, duurzame Zustand-identiteit, geserialiseerde tokenvernieuwing, OTP, Google- en GHL-SSO, locatiekeuze, synchronisatie tussen tabbladen en herstel na omleiding.

    • Verving zelfstandig Vercel Flags door LaunchDarkly op server- en clientgerenderde onderdelen, met foutveilige evaluatie, identiteitssynchronisatie, reactieve abonnementen, terugvalopties en regressietests.

    • Bouwde beveiligde oplevering via Vercel en GitHub Actions, rapportage over releases en rollbacks, observeerbaarheid met Sentry en kwaliteitscontroles met E2E, Lighthouse en Unlighthouse.

    • React
    • TypeScript
    • Next.js
    • Go
    • Django
    • PostgreSQL
    • XState
    • Zustand
    • LaunchDarkly
    • WebSockets
    • AWS EC2
    • Sentry
  2. Metal

    Fullstack-engineer

    Was bij een door Y Combinator en Andreessen Horowitz gesteunde AI-startup voor fondsenwerving van begin tot eind verantwoordelijk voor dataoperaties, communicatie, conceptopslag, frontendonderwijs en platformtooling.

    • Leverde in 20 dagen een versiebeheerd DataOps Portal op, met ondersteuning voor het renderen van willekeurige tabellen, momentopnamen, overschrijvingen op veldniveau en relationele gegevens uit gelaagde bronnen.

    • Bouwde van begin tot eind een conceptsysteem voor notities met meerdere niveaus in frontend en backend, met opslag in Redis en localStorage als terugvaloptie.

    • Werkte aan de Networks and Communications Hub, leverde de Communications Module op tijd op en documenteerde deze in een technische terugblik.

    • Gaf Frontend 101-sessies aan backendengineers over browserrendering, de DOM en CSSOM, de interne werking van React en de ontwikkeling van HTML, CSS en Next.js.

    • Bouwde met Nuqs een URL-gestuurd systeem voor algemene instellingen en droeg bij aan de basis voor Vitest, Playwright, LaunchDarkly en Mixpanel.

    • React
    • TypeScript
    • Next.js
    • Redis
    • Nuqs
    • Vitest
    • Playwright
    • LaunchDarkly
    • Mixpanel
    • NestJS
  3. Bleed AI

    Software-engineer

    Werkte aan een AI-product in de beginfase, leverde projecten voor bureauklanten op en bouwde mijn eerste backendservices voor productie.

    • Bouwde UpAutomate, een product dat Upwork-vacatures koppelt met LLM-scores, geneste filters en OpenAI-API's; het bereikte 150 proefgebruikers.

    • Leverde React- en Next.js-toepassingen voor bureauklanten op.

    • Bouwde FastAPI-services en implementeerde gecontaineriseerde workloads met Docker op GCP.

    • React
    • Next.js
    • FastAPI
    • Docker
    • Google Cloud
    • OpenAI
    • Python
  4. TimeXperts / Workforce Software

    Associate software-engineer → software-engineer

    Werkte via TimeXperts bij Workforce Software en leverde enterprise-implementaties voor tijd- en aanwezigheidsregistratie voor Canon, Ornge en National Gypsum.

    • Herstructureerde implementaties voor tijd- en aanwezigheidsregistratie voor Canon, Ornge en National Gypsum en droeg daarmee bij aan ruim 100.000 dollar omzet bij deze drie zakelijke klanten.

    • Bouwde een interne Jira Comment Generator in Next.js waarmee het opstellen van opmerkingen 30% minder tijd kostte.

    • Groeide binnen ongeveer drie maanden door van associate software-engineer naar software-engineer.

    • React
    • TypeScript
    • JavaScript
    • Next.js
    • HTML
    • CSS
  5. ZUE

    Junior software-engineer

    Werkte bij ZUE, een bedrijf voor bedrijfsprocesuitbesteding met wortels in de zorgsector.

    • Bouwde een rapportagedashboard voor klanten waarmee operationele en zorganalyses eenvoudiger te onderzoeken waren.

    • Bouwde een aanwezigheids- en beheersysteem dat was gekoppeld aan de vingerafdrukscanner voor aanwezigheidsregistratie van het bedrijf.

    • Gebruikte Python om zorg-, bezorgings- en koeriersrapporten uit meerdere bronnen vóór invoer in Power BI op te schonen en te normaliseren, waardoor herhaaldelijke voorbereiding in spreadsheets niet meer nodig was.

    • React
    • MUI
    • Bootstrap
    • HTML
    • CSS
    • Python
    • Pandas
  6. Zelfstandig klantwerk

    Freelance software-engineer

    Zes maanden professioneel klantwerk aan cryptovalutaproducten en fullstack-oplevering.

    • Bouwde met React, Ionic, Redux, Express en MongoDB een fullstack-cryptovalutawallet met tegoeden, prijs- en historievisualisaties en processen voor kopen, verkopen, overboeken en transacties.

    • Bouwde met Flask en SQLAlchemy een betaald leerplatform voor een klant, met accounts voor docenten en studenten, lesgroepen, opdrachten, gewogen beoordelingen, herkansingen, reviews en ranglijsten.

    • React
    • Express
    • MongoDB
    • Flask
    • SQLAlchemy

Zelfstandige projecten

Systemen die ik zelf initieerde en van begin tot eind bouwde, waaronder Covent-producten die nu in productie worden gebruikt en besloten Go-projecten.

Van idee tot productie bij Covent

Covent MCP

Een Covent-systeem dat ik voorstelde en van idee tot productie beheerde. De Go-service leverde 23 alleen-lezen-tools met OAuth 2.0 en PKCE, toegang per tenant, kredietlimieten, gestructureerde logging, PostgreSQL-status, analyses en gedocumenteerde EC2-oplevering.

  • Go
  • MCP
  • OAuth 2.0
  • PostgreSQL
  • AWS EC2
Van idee tot productie bij Covent

Covent Spotlight

Een herbruikbaar Mac Spotlight-achtig zoekpakket dat ik bij Covent bedacht en van idee tot productie bracht. Het besloten workspacepakket combineert lokale en serverbronnen, ondersteunt afbreekbare paginering en toetsenbordnavigatie en gebruikt Fuse.js in Prospecting voor fuzzy matching. Het wordt nu intern gebruikt, met een toekomstige npm-release op de planning.

  • React
  • TypeScript
  • Fuse.js
  • Async APIs
  • AbortSignal
Van idee tot productie bij Covent

Covent Codex

Een zichzelf bijwerkende Go-CLI om geversioneerde Codex-instructies, skills en workflows over repository's te verspreiden zonder ze aan productcode toe te voegen. De CLI behoudt persoonlijke AGENTS.md-inhoud via beheerde blokken, detecteert lokale wijzigingen met SHA-256-controlesommen, toont vóór synchronisatie gekleurde regelverschillen, volgt meerdere repositorydoelen en levert met controlesommen geverifieerde macOS-releases.

  • Go
  • CLI
  • SHA-256
  • GitHub Actions
Besloten project

Daftar

Een besloten Go-loopbaanassistent die projecten, mijlpalen en professionele gegevens ordent in getypeerde data en servergerenderde dashboards.

  • Go
  • net/http
  • html/template
  • Typed JSON
In ontwikkeling

Khana

Een besloten voedingsapp die wekelijkse calorieën bijhoudt, het gemiddelde vetverlies op basis van TDEE schat en geordende grafieken, servergerenderde rapporten en logboeken toont. In ontwikkeling.

  • Go
  • net/http
  • html/template
  • JSON
  • go-chart
In ontwikkeling

Nethergate

Een Minecraft-serverbootstrap in ontwikkeling die Mojang-releases opzoekt, serverdownloads streamt, SHA-1 berekent en downloads met een afwijkende controlesom weigert.

  • Go
  • HTTP streaming
  • SHA-1
  • Mojang API

Eerdere systemen en gezamenlijke projecten

De productie-, academische en gezamenlijke systemen waarmee ik mijn basis in backendengineering, algoritmen, desktopsoftware en toegepaste machine learning heb ontwikkeld.

Ik begon op mijn 11e met programmeren in Turbo C en C. In 2017 gebruikte ik Visual Basic om een bouwkostencalculator te maken die materiaalhoeveelheden en totale kosten berekende op basis van woningafmetingen en lokale materiaalprijzen. Dat vroege werk groeide uit tot de onderstaande systemen.

Productiebuild

Truck Fleet Management

Bouwde een wagenparkvolgsysteem met rolgebaseerd beheer van bedrijven en vrachtwagens, de recentste locaties op een kaart en locatiegeschiedenis. Het bijbehorende artikel beschrijft hoe herhaalde tracking-API-aanroepen naar een geplande NestJS-microservice zijn verplaatst.

  • React
  • TypeScript
  • NestJS
  • MongoDB
  • Google Maps
Gezamenlijk project

Dynamic Programmer

Ontwikkelde samen met anderen een Electron-desktoptoepassing die tien problemen uit dynamisch programmeren demonstreert via interactieve invoer en berekende oplossingen.

  • Electron
  • JavaScript
  • HTML
  • CSS
Academisch project

Visualized Pathfinding GUI

Bouwde een interactieve A*-visualisatie met Python en Pygame, door gebruikers ingestelde barrières, Manhattan-heuristieken en geanimeerde padreconstructie.

  • Python
  • Pygame
  • Tkinter
  • A*
Gezamenlijk project

Sentiment Analysis

Ontwikkelde samen met anderen een Bi-LSTM-classificatiemodel voor tekstemoties in zes klassen, met een gerapporteerde nauwkeurigheid van 88,9% op ongeveer 22.000 gelabelde opmerkingen.

  • Python
  • TensorFlow
  • Keras
  • Bi-LSTM
  • GloVe