◆ Case Study · Marketplace Apps

Five Monday.com Marketplace Apps from One Shared Monorepo

Bulk Update Pro, Smart Row Highlighter, Board Analytics, Timesheet Pro and Approval Flow. Three live on the Monday marketplace, two in review. All React + Vite + monday-sdk-js, all sharing a common utils layer for column handling, date math and error UX — so adding a new app is days, not weeks.

5
Apps Shipped
3
Live on Marketplace
15+
Column Types Supported
1
Shared Monorepo
Monday Code
Hosting
Available on the Marketplace
Monday.com App Store — 3 apps live
Browse marketplace →
The Problem

Monday.com is a powerful work OS but it has deliberate gaps — bulk editing is tedious, conditional formatting is limited, dashboards lack depth, timesheet reporting is bolt-on, and multi-stage approvals don't exist natively. Every team that scales on Monday runs into the same pain points.

Building one app for the marketplace is doable. Building five that all hold to the same quality bar, share code, respect Monday's Vibe design language, and pass marketplace review — that's a different engineering problem.

The Solution — App Portfolio on Shared Foundation

Five apps were built on top of a shared monorepo. A common /shared layer provides Monday column helpers, date utilities, and consistent error handling. Every app imports from the same source, so a fix to column value parsing propagates across the whole portfolio instantly.

Each app is independently deployed to Monday Code (Monday's own CDN), independently versioned, and independently submitted for marketplace review. But they read and feel like the same product family.

The 5 Apps
01

Bulk Update Pro · LIVE

Multi-item, multi-column bulk editor for Monday boards. Supports 15+ column types (Status, People, Date, Timeline, Rating, Tags, Dropdown...), dark mode, preview-before-commit, progress tracking.

02

Smart Row Highlighter · LIVE

Conditional row highlighting with AND/OR rule logic. 8 color options, drag-to-reorder rules, export/import rule configs. Flags overdue, stuck or high-priority items at a glance.

03

Board Analytics · LIVE

Four-tab dashboard: Overview, Distribution, Timeline, Issues. Completion rates, stale-item detection, overdue tracking, group/status filters. Bar / line / donut charts.

04

Timesheet Pro · IN REVIEW

Time tracking + reporting with Excel + PDF export (jsPDF, XLSX), recharts graphs, invoice-ready modals. Replaces external time tracking tools for teams that already live in Monday.

05

Approval Flow · DEV

Multi-stage approval workflows with visual diagram UI. Replaces the endless "can someone approve this?" Slack threads with an auditable, in-Monday flow.

06

Shared Utils Layer

mondayHelpers.js, dateHelpers.js, errorHandlers.js — the foundation every app imports from. Column parse/format/validate, range math, retry + toast UX.

Marketplace Status
AppVersionStatusTarget User
Bulk Update Pro1.0.3● LivePMs managing large boards
Smart Row Highlighter1.0.2● LiveTeam leads monitoring board health
Board Analytics1.0.1● LivePMOs, executives
Timesheet Pro2.0.0● ReviewConsultancies, agencies
Approval Flow1.0.0● DevFinance, HR, procurement
The three live apps ship free to establish distribution. Paid tiers are staged on top of the free baseline once adoption data supports upgrade pricing.
Tech Stack

Frontend

React18.2 / 19.2
Vite5 / 7
Vibe Designmonday-ui-react-core
monday-sdk-js0.5.x

Data + Export

rechartsdashboards
jsPDF + autotablePDF export
xlsxExcel export
date-fnsrange math
dompurifyXSS safe rendering

Platform + Ops

Monday CodeCDN hosting
Expresslocal dev server
Vitestunit tests
Monoreposhared utils layer
Monorepo Architecture

All five apps live in one working tree. Each app is a standalone Vite project with its own package.json, but every app imports from a common ../../shared/utils/ folder. There are no npm workspaces and no build complexity — just relative imports against one source of truth.

Shared Layer · /shared/utils
mondayHelpers.js · dateHelpers.js · errorHandlers.js — imported by every app
Bulk Update Pro
LIVE · v1.0.3
Row Highlighter
LIVE · v1.0.2
Board Analytics
LIVE · v1.0.1
Timesheet Pro
REVIEW · v2.0.0
Approval Flow
DEV · v1.0.0
Platform · monday-sdk-js + Vibe
Board context · item queries · column updates · OAuth · Vibe React components
Hosting · Monday Code
Each app built with Vite, deployed as a Monday Code app, served from Monday's CDN — no external hosting account required
Shared Utils — What's Inside
ModuleResponsibilityUsed by
mondayHelpers.jsFormat / parse / validate 15+ Monday column types, filter + group items, safely mutate columnsAll 5 apps
dateHelpers.jsRange calculations, locale formatting, time-to-hours conversion, relative "stale" detectionBulk Update, Analytics, Timesheet, Approval
errorHandlers.jsConsistent error UI via Vibe toasts, retry with backoff, graceful API failure pathsAll 5 apps
App Types
AppMonday Feature TypeIntegration Points
Bulk Update ProBoard ViewReads selected items, writes column_values via mutation
Smart Row HighlighterBoard ViewReads rules from app storage, overlays highlight styles
Board AnalyticsBoard ViewAggregates board items into charts (recharts)
Timesheet ProBoard View + Item ViewLogs time entries, exports PDF/Excel reports
Approval FlowBoard View + AutomationsMulti-stage workflow tied to column status changes
A new app starts by copying any existing app folder, renaming it, and wiring the manifest — roughly a day of boilerplate. The shared layer carries everything else.
Engineering Challenges Solved

📋 15+ Column Types, One Helper

Monday has over fifteen distinct column types (Status, People, Date, Timeline, Dropdown, Tags, Rating, Numbers, Text, Checkbox...). Each has its own shape for reads and mutations. Hand-coding per-app is a nightmare.

Solution: A single mondayHelpers.js module with typed parse/format/validate functions per column. Bulk Update Pro was the forcing function — once it supported 15 types cleanly, every other app benefitted immediately.

🛠️ Vibe Design Consistency

Monday requires marketplace apps to feel native. Any off-brand component and review rejects the submission.

Solution: Strict use of monday-ui-react-core (Vibe) for every interactive element. Dark mode is inherited from Monday's theme context rather than implemented per-app. Zero custom modals, tooltips or buttons.

📊 Analytics Over Thousands of Items

Board Analytics needs to query and aggregate thousands of items without locking up the browser.

Solution: Paginated GraphQL queries with the Monday SDK, incremental aggregation into chart datasets, and memoized recharts components. The UI remains responsive even on boards with 10K+ items.

📝 PDF + Excel Export in the Browser

Timesheet Pro needs to generate invoice-ready PDFs and pivoted Excel sheets entirely client-side — no backend.

Solution: jsPDF + jspdf-autotable for PDFs, xlsx for workbooks, dompurify for any HTML that flows into the export. Everything runs locally, nothing leaves the user's browser.

🔍 Rule Engine for Highlighter

Smart Row Highlighter needs to evaluate AND/OR rule trees against every board row, fast, as data changes.

Solution: Rules compile once into predicate functions, cached and re-run only when items or rules change. Drag-to-reorder updates the predicate order instantly. Import/export round-trips rules as JSON.

Passing Marketplace Review

Monday's marketplace review is strict: manifest correctness, permission scopes, accessibility, performance, and UX polish are all checked.

Solution: Every app reuses the same manifest template, the same permission scope approach, and the same Vibe-first UX. Once the first app was approved, the rest followed the same playbook. Bulk Update Pro, Smart Row Highlighter and Board Analytics all passed.
💡 The shared monorepo pattern collapses the cost of shipping a new Monday app from weeks to days. This is the foundation I bring to any Monday marketplace project.
Results & Metrics
5
Apps built
(1 monorepo)
3
Live on
Monday marketplace
15+
Column types
supported
100%
Vibe-native
UX
Portfolio by App

Bulk Update Pro

StatusLive 1.0.3
Column types15+
UXPreview + commit
Dark modeYes

Smart Row Highlighter

StatusLive 1.0.2
Rule engineAND / OR trees
Colors8 options
ConfigImport / export JSON

Board Analytics

StatusLive 1.0.1
Tabs4 (Overview / Distribution / Timeline / Issues)
ChartsBar / line / donut
Scale10K+ items

Timesheet Pro

Statusv2.0.0 in review
ExportsPDF + Excel
StackReact 19 + Vite 7
Assets15+ screenshots + SVG kit
Deliverables
  • 📦
    Shared Utils LayermondayHelpers.js, dateHelpers.js, errorHandlers.js — the single source of truth imported by every app in the portfolio
  • 3 Live Marketplace AppsBulk Update Pro, Smart Row Highlighter, Board Analytics — all passing Monday review, all free at launch to drive adoption
  • 🛡️
    2 Apps in PipelineTimesheet Pro (v2.0.0 in review) with full marketplace marketing kit; Approval Flow (v1.0.0) in active development
  • 🎨
    Marketing AssetsScreenshots, 60+ MB video walkthroughs, SVG logo variants, modal mockups — everything marketplace submission requires
  • 💲
    Monetization RoadmapDocumented pricing plan per app (tiered pricing) layered on top of the free baseline once distribution is proven
Technology Tags
React 18 React 19 Vite monday-sdk-js monday-ui-react-core Vibe Design System Monday Code GraphQL Express recharts jsPDF xlsx date-fns dompurify Vitest Monorepo Marketplace Apps

Need a Monday.com App Built or Shipped?

I build Monday.com marketplace apps end-to-end — from manifest to marketplace review. Board views, item views, dashboard widgets, automations. Five apps already shipped, shared monorepo foundation ready to drop in.

💬 Hire Me on Contra ← Back to portfolio
What I Build

Voice AI Agents

Inbound receptionistsAny language
Outbound sales agentsCold + warm
Appointment bookingReal-time CRM
Emergency routingLive transfer

Content Automation

AI content generationMultilingual
Blog & social publishingMulti-platform
Email drip campaignsFull funnel
Trend intelligenceAutomated

Video Production

AI script writingNative multilingual
AI image generationGPT Image
TTS voiceoverWaveNet voices
Remotion renderCustom templates

Infrastructure

N8N workflowsSelf-hosted
PostgreSQL + RedisProduction-grade
Monitoring & alerts24/7
DocumentationRunbooks + guides
Based in Honduras (UTC-6). Available for async collaboration across all timezones. Fluent in English, Spanish, and French.