Internship - Offline-first applications with Irmin in the browser and Irmin-server

Tarides 

Tarides is a tech start-up founded in Paris in 2018 by pioneers of programming languages and cloud computing. Tarides develops a software infrastructure platform to deploy secure, distributed applications with strict resource constraints and low-latency performance requirements. Today, Tarides is composed of a diverse team of 35+ people.

Tarides has been part of the Founder program of Station F in 2018 (6% acceptance rate) and has been selected in France within “Concours d’Innovation i-Lab” organized by the French Ministry of Higher Education, Research and Innovation in partnership with Bpifrance (15% acceptance rate). This national contest awards company creation and innovative technologies. Tarides was also recognised during the FIC 2020 fair (International Cybersecurity Forum) which is the leading European event on cybersecurity. These awards acknowledge the innovation of the solutions developed by Tarides and emphasize the interest from the cybersecurity community.”


Internship at Tarides 

Tarides internships are an excellent opportunity to participate in open-source functional programming with tangible real-world applications.

Our interns each work on a personal project that will have a meaningful impact on the project and the wider OCaml open-source ecosystem. Each intern is assigned a mentor at Tarides to give advice and guidance when necessary. Below are ideas for potential internship topics. These are intended as suggestions only; if you're excited about a particular aspect of our work at Tarides, let us know and we'll do our best to accommodate you.


Context

Irmin supports multiple backends making it very portable. One such backend uses the browser's indexed-db storage to allow Irmin to be compiled to the browser and persist the data.

Offline-first applications use techniques to ensure apps work just as well offline as they do online. Thanks to Irmin's mergeable replicated data-types it becomes much easier to build applications that can transform the state offline and re-synchronise the state later. This is not too dissimilar from using a distributed version control system like Git.

Re-synchronising Irmin stores (from server to client) is much simpler thanks to irmin-server which implements a specialised wire protocol for efficient communication.

The goal of this internship would be to combine irmin-indexeddb and irmin-server to produce an offline-first application with fast and efficient synchronisation. It would be particularly interesting to store data that has good merge functions to allow for easy collaboration from multiple users.

    Qualifications 

    (You don’t have to fill 100% of the qualifications to apply.) 

    - Non-trivial functional programming experience

    - Some knowledge of browsers and web development (knowledge of js_of_ocaml even better)

      

    What we offer

    Nice office in Paris (Place de la Contrescarpe, Paris 5)

    • Flexible working hours and possibility to work remotely
    • Supportive team environment with experienced Technical and Team Leads
    • A “ticket restaurant” card 
    • 100% of public transportation pass reimbursed

     

    Process

    If shortlisted, you will have two online interviews starting with a general interview, followed by a technical interview. 

    We welcome applications from people of all backgrounds. We strive to create a representative, inclusive and friendly team, because we know that different experiences, perspectives and backgrounds make for a better workplace.

    Apply