Martijn Rozema.

monday.com app development

Custom monday.com apps, built for partner agencies.

I'm Martijn Rozema, a software engineer based in the Netherlands. I build monday.com apps and integrations as a subcontractor for implementation partners, under your name, on your project, with a fixed scope and a delivery date.

Portrait of Martijn Rozema

What I build

  • Custom monday apps

    Board and item views, widgets, integration recipes and automations built on the monday apps framework. OAuth, the GraphQL API, webhooks, and the rate limits that come with them.

  • Integrations and data work

    Connecting monday to the systems your client already runs: CRMs, internal APIs, file stores. Two-way sync, migrations, and the error handling that keeps it running after go-live.

  • Marketplace-ready delivery

    I've been through the submission requirements once, so I know what review asks for before you start building: scoped OAuth permissions, the security questionnaire, versioning, monitoring.

How working with me works

Predictable on purpose, in both directions.

  • White-label by default

    Your client sees your agency. I don't approach your clients, and I'm happy to work inside your repos, your tooling and your process.

  • Fixed scope, fixed dates

    I work in defined deliverables with a date attached, not open-ended hours. You know what you're getting and when you can plan the demo.

  • One project at a time

    Around 16 hours a week, with Friday as my project day: calls, reviews, releases. I run this alongside a permanent role, so I take on one project at a time, and what I commit to gets finished. That suits build work with clear boundaries; it does not suit daily standups, and I'll say so up front rather than let you find out.

  • You keep the relationship

    Scoping, invoicing and account management stay with you. I build.

A typical week

  1. Monday: Async build time
  2. Tuesday: Async build time
  3. Wednesday: Async build time
  4. Thursday: Async build time
  5. Friday: Project day: calls, reviews, releases
  • Async build time
  • Project day: calls, reviews, releases

Work

MultiLang: multi-language content on monday.com boards

Submitted to the marketplace

The problem

Teams running international operations on monday.com had no way to collect form submissions in multiple languages without duplicating the entire form and board per language, which fragmented their data and broke every report that assumed a single dataset. monday's own native form builder only offers AI-translation with no manual control. It also doesn't handle translated dropdown or status values at all.

What I built

An app that turns one monday board into a form available in as many languages as the team needs. An admin connects a board, and the app generates a draft form matching its columns; from there they translate labels, help text, and dropdown/status option values per language, by hand or with AI assistance, while the original language stays visible as a reference. Respondents fill in the form in their own language; every submission lands as a single item on the same board, with a column recording which language was used, so reporting never fragments across languages.

Technical notes

monday's dropdown and status options are keyed by a stable numeric ID, never by their label. I found that by reproducing it against a live board rather than trusting the docs. Mapping by label or position silently corrupts the moment a board admin renames or reorders an option. Every option mapping in the app is now built around the ID as the only source of truth.

monday has no webhook for a column being renamed, retyped, or deleted, only for a column being created. The app runs a periodic reconciliation job that detects drift between what the form expects and what's actually on the board, and surfaces it to the admin instead of silently submitting against a column that no longer matches.

A submission that failed to reach the board used to disappear without a trace once its retries ran out. It's now tracked with an attempt count and the actual error message, and shown to the admin with a manual retry, so a failure is something they can see and act on, not silent data loss.

About me

I've been building software for 9 years, currently a software engineer in a permanent position. Most of my work is full-stack on Angular and .NET.

I picked up monday.com development because building inside someone else's platform is a different kind of problem. You work within their API, their UI and their constraints, and making something feel native in that context is a puzzle I enjoy, awkward parts included. It helps that the documentation is solid and their developer support actually answers.

Outside monday.com I take on backend and integration work in .NET, and front-end work in Angular. If you have something that isn't monday-related, ask anyway.

Contact

Have monday work you can't staff?

Send me a short description of the project, what it does and when it needs to be live. I reply within a day. If it's a fit, we'll do a call on Friday and I'll come back with a scope and a price.