Martijn Rozema.

monday.com app-ontwikkeling

Maatwerk monday.com-apps, gebouwd voor partnerbureaus.

Ik ben Martijn Rozema, software engineer uit Nederland. Ik bouw monday.com-apps en -integraties als onderaannemer voor implementatiepartners: onder jouw naam, binnen jouw project, met een vaste scope en een opleverdatum.

Portret van Martijn Rozema

Wat ik bouw

  • Maatwerk monday-apps

    Board- en itemviews, widgets, integration recipes en automations op het monday apps framework. OAuth, de GraphQL API, webhooks en de rate limits die daarbij horen.

  • Integraties en datawerk

    monday koppelen aan de systemen die je klant al gebruikt: CRM's, interne API's, bestandsopslag. Tweerichtingssynchronisatie, migraties en de foutafhandeling die het na de livegang draaiende houdt.

  • Klaar voor de marketplace

    Ik heb het indieningsproces al eens doorlopen, dus ik weet waar de review op let voordat je begint met bouwen: afgebakende OAuth-rechten, de security-vragenlijst, versiebeheer, monitoring.

Hoe samenwerken werkt

Bewust voorspelbaar, van beide kanten.

  • Standaard white-label

    Je klant ziet jouw bureau. Ik benader je klanten niet, en ik werk graag in jouw repo's, met jouw tooling en volgens jouw proces.

  • Vaste scope, vaste opleverdatum

    Ik werk met afgebakende deliverables met een datum eraan, niet met open uren. Je weet wat je krijgt en wanneer je de demo kunt plannen.

  • Eén project tegelijk

    Ongeveer 16 uur per week, met vrijdag als projectdag: calls, reviews, releases. Ik doe dit naast een vaste baan, dus ik neem één project tegelijk aan, en wat ik toezeg, maak ik af. Dat past bij bouwwerk met duidelijke grenzen; het past niet bij dagelijkse stand-ups, en dat zeg ik liever vooraf dan dat je er later achter komt.

  • Jij houdt de klantrelatie

    Scoping, facturatie en accountmanagement blijven bij jou. Ik bouw.

Een typische week

  1. Maandag: Asynchrone bouwtijd
  2. Dinsdag: Asynchrone bouwtijd
  3. Woensdag: Asynchrone bouwtijd
  4. Donderdag: Asynchrone bouwtijd
  5. Vrijdag: Projectdag: calls, reviews, releases
  • Asynchrone bouwtijd
  • Projectdag: calls, reviews, releases

Werk

MultiLang: meertalige content op monday.com-boards

Ingediend bij de marketplace

Het probleem

Teams met internationale activiteiten op monday.com konden formulierinzendingen niet in meerdere talen verzamelen zonder het hele formulier en board per taal te dupliceren. Dat versnipperde hun data en brak elk rapport dat uitging van één dataset. De eigen formulierbouwer van monday biedt alleen AI-vertaling, zonder handmatige controle, en kan helemaal niet overweg met vertaalde dropdown- of statuswaarden.

Wat ik bouwde

Een app die één monday-board omzet in een formulier dat beschikbaar is in zoveel talen als het team nodig heeft. Een beheerder koppelt een board en de app genereert een conceptformulier op basis van de kolommen. Daarna vertaalt de beheerder per taal de labels, helpteksten en dropdown- en statusopties, handmatig of met hulp van AI, terwijl de oorspronkelijke taal zichtbaar blijft als referentie. Invullers gebruiken het formulier in hun eigen taal; elke inzending komt als één item op hetzelfde board terecht, met een kolom die vastlegt welke taal is gebruikt. Zo valt de rapportage nooit uiteen per taal.

Technische notities

De dropdown- en statusopties van monday worden geïdentificeerd door een stabiel numeriek ID, nooit door hun label. Daar kwam ik achter door het te reproduceren op een live board, in plaats van blind op de documentatie te vertrouwen. Koppelen op label of positie gaat ongemerkt mis zodra een boardbeheerder een optie hernoemt of verplaatst. Elke optiekoppeling in de app is daarom gebouwd rond het ID als enige bron van waarheid.

monday heeft geen webhook voor een kolom die wordt hernoemd, van type verandert of wordt verwijderd, alleen voor een nieuwe kolom. De app draait daarom periodiek een reconciliatiejob die afwijkingen opspoort tussen wat het formulier verwacht en wat er werkelijk op het board staat. Die afwijkingen krijgt de beheerder te zien, in plaats van dat inzendingen ongemerkt naar een kolom gaan die niet meer klopt.

Een inzending die het board niet bereikte, verdween vroeger spoorloos zodra de retries op waren. Nu wordt die bijgehouden met het aantal pogingen en de daadwerkelijke foutmelding, en getoond aan de beheerder met een handmatige retry. Een mislukte inzending is zo iets wat je ziet en waar je iets mee kunt, geen stil dataverlies.

Over mij

Ik bouw al 9 jaar software en werk momenteel als software engineer in vaste dienst. Het meeste van mijn werk is full-stack in Angular en .NET.

Ik ben met monday.com-ontwikkeling begonnen omdat bouwen binnen het platform van een ander een ander soort probleem is. Je werkt binnen hun API, hun UI en hun beperkingen, en iets zo bouwen dat het daar native aanvoelt is een puzzel die ik leuk vind, lastige stukken incluis. Het helpt dat de documentatie goed is en dat hun developer support echt antwoord geeft.

Naast monday.com doe ik backend- en integratiewerk in .NET en front-endwerk in Angular. Heb je iets wat niets met monday te maken heeft? Vraag het gerust.

Contact

Heb je monday-werk liggen waar je geen capaciteit voor hebt?

Stuur me een korte beschrijving van het project: wat het doet en wanneer het live moet. Ik reageer binnen een dag. Als het past, plannen we een call op vrijdag en kom ik terug met een scope en een prijs.