Service

Backend + APIs

We build the systems behind the UI. REST APIs, GraphQL, WebSocket / SSE, background-job processing, integrations with third-party services. Our SaaS line runs ~50 production endpoints in Rails (Outsourcing, Finance) and Node/TypeScript (HRS, Logistics, Leads, CMS) — same stack we recommend.

Concrete deliverables

  • REST + GraphQL APIs — versioned, documented (OpenAPI), authenticated (OAuth2, JWT, API key).
  • Background-job pipelines — Sidekiq, BullMQ, Celery; cron + scheduled jobs.
  • Real-time features — WebSocket, Server-Sent Events, pub/sub via Redis or Kafka.
  • Third-party integrations — Stripe, SendGrid, Twilio, DocuSign, Salesforce, HubSpot, Airtable.
  • Webhook handling + retry — idempotency keys, dead-letter queues, replay tooling.
  • Migrations — language migrations (Rails → Go, PHP → Node), framework upgrades (Rails 5→7, Node LTS), database migrations (MySQL → Postgres).

What we work with

We pick what fits your team. We don't push our preferences when your stack works.

Languages

Node.js + TypeScript (deepest) · Ruby on Rails · Python (FastAPI, Django) · Go · Java/Kotlin (Spring) · Elixir/Phoenix (specialised)

Databases

PostgreSQL (default) · MySQL · MongoDB · Redis · DynamoDB · ClickHouse

Queues + jobs

Sidekiq (Ruby) · BullMQ (Node) · Celery (Python) · RabbitMQ · Kafka · AWS SQS

API patterns

REST (default) · GraphQL · tRPC · gRPC (internal RPC) · WebSocket · SSE

ORMs

Prisma (TypeScript) · ActiveRecord (Rails) · SQLAlchemy (Python) · Drizzle (TypeScript)

Testing

Vitest, Jest (Node) · RSpec, Minitest (Ruby) · pytest (Python) · Postman/Bruno + automation

How we work

01

Discovery (1 week)

API contract design, data model, third-party integration mapping. Output: OpenAPI spec + ERD diagram.

02

Schema + scaffolding (1 week)

Database migrations, model layer, seed data, base auth. Nothing exposed to the world yet — but the foundation is testable.

03

Build endpoints (3-8 weeks)

Route by route, with tests. Sequence by dependency: read-only first, writes second, integrations third.

04

Production hardening

Rate limiting, observability, log aggregation, on-call runbooks. Postman/Bruno integration test suite for ongoing health checks.

From our own production

Merot Outsourcing API (Rails 7)

70+ controllers, JWT auth, Sidekiq for background jobs, Stripe + DocuSign + SendGrid integrations. Multi-product (admin / employer / employee) with role-based access.

Merot Logistics backend (Node + TS + Prisma)

Multi-tenant white-label SaaS — shipments, COD, GPS, BullMQ for background sync, Infobip SMS/WhatsApp integration.

Merot CMS (Node + TS + Prisma)

Headless content API serving merot.com + outsourcing blogs. Public read endpoints + admin write.

Nearshore delivery by buyer market

Country pages explain the trust, timezone, compliance and delivery questions buyers ask before choosing a software partner.

North Macedonia

Custom software development for Macedonian companies: web apps, mobile apps, cloud systems, AI automation and integrations from Merot's Skopje engineering teams.

Germany

Senior Balkan software teams for German companies: web, mobile, AI, cloud and integrations with EU timezone overlap, GDPR-aware delivery and DACH communication.

Austria

Nearshore web, mobile, cloud and AI engineering for Austrian SMEs and product teams. EU timezone, DACH communication, GDPR-aware delivery.

Netherlands

Senior React, mobile, backend, cloud and AI teams for Dutch SaaS and operations companies. English-first delivery, EU timezone and GDPR-aware workflows.

Switzerland

Senior Balkan software teams for Swiss companies: secure web, backend, cloud, AI and integrations with DACH communication and privacy-aware delivery.

Sweden

Nearshore web, mobile, backend, cloud and AI engineering for Swedish SaaS and operations teams. Senior delivery, EU timezone, clean handoff.

Denmark

Senior nearshore engineers for Danish product and operations teams: web, backend, mobile, cloud, AI and integrations with EU timezone overlap.

Ireland

Senior EU nearshore engineers for Irish SaaS, fintech and operations teams. Web, backend, mobile, AI and cloud delivery with English-first collaboration.

United States

Senior European software engineers for US companies: custom web apps, mobile apps, backend systems, cloud, AI workflows and integrations with practical US overlap.

Canada

Custom web, mobile, backend, cloud and AI engineering for Canadian companies. Senior European delivery, practical timezone overlap and clean handoff.

United Kingdom

Senior nearshore software engineers for UK companies: custom web apps, backend platforms, cloud modernization, AI workflows and integrations.

France

Nearshore product engineering for French companies: web apps, mobile apps, AI workflows, cloud systems and integrations with EU timezone delivery.

Belgium

Nearshore web, backend, cloud, mobile and AI engineering for Belgian companies operating across languages, regions and EU compliance expectations.

Engagement model

Backend pricing depends on the data model, API surface, auth, permissions, integrations, reporting, infrastructure, migration and support requirements. Book a scoping call; we will work in your existing stack when that is the practical choice and quote only after the requirements are clear.
Book a scoping call

Frequently asked questions — Backend + APIs

Rails vs. Node vs. Go — what do you recommend?

Default: Node + TypeScript for new projects under a 5-person team. Rails when you want maximum convention + speed-of-build for CRUD apps. Go when latency matters + your team already runs Go. We don't push a stack — we pick what fits your team.

Do you write tests?

Yes — the kind you can actually maintain. Unit tests for pure logic, integration tests for the API surface, end-to-end tests sparingly. Coverage isn't a goal; correctness is.

Database — Postgres or something else?

Postgres is the default. MySQL when you've inherited it. Mongo for genuinely document-shaped data (rare). DynamoDB / Cassandra when you've outgrown Postgres scale (very rare for most clients).

Idempotency for webhooks?

Yes — every webhook handler we write is idempotent. We assume the sender will retry (because they will). Dead-letter queue for failures, replay tool to reprocess.

Background jobs — what stack?

Sidekiq for Rails. BullMQ for Node. Celery for Python. We don't recommend reinventing — these are mature.

GraphQL or REST?

REST by default — simpler to debug, cache, and rate-limit. GraphQL when the client team specifically needs it (deeply nested reads with strict typing). We won't push GraphQL just to have it.

How do you handle long-running operations?

Background job with status polling endpoint, or webhook callback when complete. We avoid keeping HTTP requests open longer than 30 seconds.

What about gRPC?

Used internally between services where latency matters (e.g. our PDF service does gRPC under high load). Rarely exposed externally — REST is friendlier for clients.

Let's scope your backend + apis project

Free 60-min discovery call. 6-page written brief in 48 hours.

Contact

Tell us what you are building.

Reply during business hours.

No spam.Directly to the Merot team.