Case 02 Rails · MongoDB · GraphQL
Digitalize: from backend foundation to technical leadership
I designed and built the foundation and most of the backend of a platform for digitalizing internal processes. Once it was in use, I became the technical lead of the team that kept evolving it.
Context
Digitalize is a configurable business-process platform developed at Oxeanbits. My CVs record its use by organizations such as Periodize, the New Apostolic Church (NAK), BASF and Oxeanbits itself.
This work happened within Oxeanbits, for the company's clients. These were not direct personal contracts between me and each organization.
Problem
Internal processes often live in spreadsheets, emails and manual steps that cost time and money. Digitalizing them one by one, with a custom system for each workflow, does not scale.
The platform had to be configurable: serve different processes from the same foundation and stay maintainable as new uses appeared.
My responsibility
I designed and built the foundation and most of the backend code, using Ruby on Rails with MongoDB and GraphQL.
With the platform in production, I became the technical lead of the team responsible for it: architecture decisions, code review, technical standards and alignment on what to evolve next.
Decision
The foundation pairs Rails, for business rules and backend structure, with MongoDB and GraphQL.
Looking at that choice today, it fits the nature of the product. On a platform where each process has its own fields and steps, a document model accommodates structures that vary from case to case. With GraphQL, different screens and integrations request exactly the data they need from a single schema.
Alternatives and trade-offs
Present-day analysis written for this site. It is not a record of the alternatives evaluated at the time.
- Flexibility has a cost. A data model that accepts variation needs explicit validation, schema conventions and tests; otherwise "configurable" turns into "unpredictable".
- A relational database with generic structures would be another route. It makes cross-entity queries easier, but tends to push complexity into metadata tables and joins that are hard to maintain.
- GraphQL moves data discovery to the client, which calls for care with field-level authorization and query cost.
Implementation
The work happened in two phases with different responsibilities.
Foundation
MongoDB data modeling, the GraphQL schema and the Rails backend structure that supports process configuration.
Most of the backend
Business rules and the API consumed by the platform's screens and integrations.
Technical leadership
Technical direction for the team evolving the platform: code review, architecture decisions and the standards that let several people work on the same foundation.
Outcome
The platform came to serve different organizations from the same foundation, and the team kept evolving the product on top of it.
Internal repository metrics record me as the leading individual contributor in merged pull requests, commits and code changes. These are activity indicators, not measures of quality or business impact.