How to build web apps in terms of reusable modules and without any additional custom code.

There are many ways of using PHP and many end goals for choosing one way over another. At our company, Proximify, our end goal is to use it for creating API-wrapped backend functionality entirely in terms of components that are reusable and swappable. The text below shows how we do it. More precisely, it shows the steps to follow in order to create components that can be added to a base skeleton app in other to build a complete, well-orchestrated solution for a backend application and its API.

For us, an app’s module is a bundle of services that has…


Creating a module for a PHP backend application might be easier than you think. This step-by-step guide shows how to do it.

This article presents easy-to-follow steps to create a module for PHP apps. The module will be a collection of services that can be added to any backend app project built on the Symfony framework. We’ll keep the framework dependencies to a minimum and ensure that the services work without it.

The article is the first in a series about building modular backend applications with service bundles. The goal of the article is to provide a practical presentation that’s focused on the standard steps to create services, bundle them as a module, test the module, and distribute the module using a…


We came up with the idea of creating our own website builder in the same way that most productivity software tools are created. We were unimpressed by the available options and thought we could do it better. That motivation was enough even though, in retrospect, it might have been a bit simplistic. But we knew that if there was no business case for the tool, at least we would end up with a good tool for ourselves, and we were not wrong about that.

The journey to making the website builder was far from a straight one. We knew the…


There seems to be no end to excellent approaches for building web-based applications. Everyone claims that their framework is best, and they are probably right under some combination of conditions. The task of studying when an approach is the best option is almost always left to the community. There is nothing wrong with that, but it can be extremely overwhelming for all of us to decide which approach to follow when starting a new project or refactoring an existing one.

While I can’t recommend what’s the best approach for each type of app and context, I can recommend an approach…


Funding application take researchers away from their work, and only a few lucky ones can say that it was worth it. There is a better way.

Let’s imagine for a second that the following was the way that Canadian researchers applied for funding. A researcher writes a funding application, has it reviewed internally in her institution, and once it is approved, submits it to the intended funding agency, all with just a few clicks. This is not the way things work today because the software pieces of agencies and institutions cannot talk with one another. …


Five years ago we had the idea of interconnecting all Canadian universities, research centres, associations and funding agencies using software, which led us to build UNIWeb. From the beginning, we understood that each connection had to advance the goals of both the individual institutions and their members. Here we reflect on what we’ve learned along the way, and on what we are currently doing to build a novel kind of academic information highway.

Lesson 1: the network already exists

While it may be obvious to many, it took us a while to realize that a network of Canadian researchers already existed. Researchers belong to multiple research…


The research community has justly criticized the Canadian Common CV (CCV) for its cumbersome interface, unreliable up times, slowness, and other shortcomings [1, 2, 3]. These problems are of course solvable, but can also become even worse if we don’t have a proper understanding of how we got here. The first step to addressing the current shortcomings of the CCV is to make a distinction between the definition of a Common CV and its implementation by the “CCV website,” because they are two very different problems that demand different solutions.

The importance of separating the concepts of CCV and CCV…

Diego Macrini

CEO/CTO @Proximify. Specialized in research information systems.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store