Some of my open source projects

  • staticdeploy: an open-source platform for deploying static appsProject homepage

    • Node.js
    • SQLite / PostgreSQL
    • AWS S3
    • React
    • TypeScript
    • Docker

    I’ve been thinking about this project since late 2015, but it was not until two years later that I started seriously working on it. The project scratches two itches of mine:

    • being able to configure at runtime (as opposed to build time) static websites and applications
    • being able to deploy every branch (or every commit) of a static app, making it easy to show a developer’s work in progress to their client / product owner

    Some technical highlights of the projects are:

    • written in TypeScript
    • thoroughly tested
    • sub-modules organized in a monorepo managed with Lerna
    • non-trivial CI setup running on CircleCI
    Show description
  • mock-server: easy to use, no frills http mock serverProject homepage

    • Node.js
    • Express

    A mock server is an incredibly useful tool when developing frontend applications. There are many great open source mock servers, each with its own ideal use case, its pain points, and its compromises. mock-server is another one of them, employing a code-over-configuration approach and trading automation (developers have to write their mock endpoints’ logic) for flexibility (developers can write their mock endpoint’s logic).

    Show description
  • convexpress: standardize your Express.js servicesProject homepage

    • Node.js
    • Express
    • Swagger

    How do you structure an Express project? How do you validate input parameters? How do you generate a Swagger definition for the implemented API? Express is a low-level framework, and these questions are purposefully left unanswered, allowing its community to come up with many solutions for many use cases. convexpress is one such solution, establishing a set of lightweight and straightforward conventions for structuring Express projects, and offering developers a series of facilities when they follow them.

    Show description
  • asteroid: an alternative client for a Meteor backendProject homepage

    • Node.js
    • Meteor

    Back in 2014 Meteor was making headlines as a killer Full Stack javascript framework, and I fell in love with its model for developing real time APIs. However, I really disliked its frontend framework Spark, and later its replacement Blaze. On the client I wanted to use AngularJS, or React.

    So naturally I set out to write an alternative, framework-agnostic javascript client. It turned out I wasn’t the only one wishing for such a client, and the project gained a bit of popularity, becoming (and still being to this day) my most-starred project on GitHub.

    Show description
  • create-fs-tree: create a filesystem tree from a definitionProject homepage

    • Node.js
    • TypeScript

    A Node.js library which allows to create (and destroy) a filesystem structure given a json definition. It’s intended to be used when testing code that deals with the filesystem, as a replacement for filesystem mocks that are often unable to reproduce all the odd behaviours of real filesystems.

    Show description
  • env: a better way to retrieve environment variables in Node.jsProject homepage

    • Node.js
    • TypeScript

    There is no such thing as .properties files in Node.js land, and services typically read their configurations straight from process.env. env makes the process a bit less verbose, and a bit more safe.

    Show description