• July 05, 2018

    Quick wins to deal with users' broken email addresses

    Transactional emails are very important for a successful experience. So, how are we dealing with broken email addresses?

  • May 31, 2018

    Usage of Sidekiq middleware

    Use Sidekiq middleware to propagate information to jobs.

  • May 17, 2018

    Rails 5.2: ActiveStorage highlight

    Rails 5.2 comes with awesome features: here we'll talk about ActiveStorage

  • May 17, 2018

    Android Makers 2018 Key takeaways

    Modern Android development, From Java to Kotlin, Design Tools, ADB, Typesetting and more: key takeaways from this 2018 edition.

  • April 19, 2018

    Ensuring consistent spacing in your UI

    Ensuring visual consistency across an application can be tricky: a few tips about how we do it at Drivy.

  • April 03, 2018

    Running Our First Internal Hack Day

    We started doing hack days to work together on new ideas. It was a lot of fun, so we decided to share how we did it and some of the results we saw.

  • March 21, 2018

    Redshift tips and tricks - part 1

    We will share with you some insights, tips and tricks on how we managed to increase performance, robustness and reliability of Redshift as our usages changed over time.

  • February 12, 2018

    Rails 5.1 Change Tracking in Callbacks

    Illustration of a subtle change to the way that Rails 5.1 tracks model changes in callbacks

  • January 23, 2018

    How we documented our API using unit testing

    One of the most known pain point in API development is keeping up-to-date documentation. Let's see how we managed to do it using unit testing.

  • January 16, 2018

    Pro tips for productivity

    A summary of pro tips for enhanced productivity, recently shared by the dev team during a Tech Talk

  • January 11, 2018

    Highlights from the 2017 dotJS

    A handpicked selection of the dotJS talks you should watch first.

  • December 21, 2017

    dotCSS 2017 hightlights

    The Drivy team was at the 2017 DotCSS conference. Here is a digest of the talks we found the most interesting, including a search engine build in CSS or what can be done with the grid property.

  • December 11, 2017

    Embulk: move easily data across datasources

    We present how we use Embulk to move data across multiple datasources thousand times a day at Drivy

  • November 20, 2017

    Sending an e-mail to millions of users

    Sometimes you just need to send a lot of emails, and services that make it really simple can get too expensive. Here is how we sent an e-mail to all our users and what we learnt.

  • November 20, 2017

    Multi-currency support in Java

    For a few weeks, Drivy has been available in the United-Kingdom. Unlike the others Europeans countries where Drivy operates, the United-Kingdom use a different currency: we had to make some changes in our Android apps to support this.

  • November 09, 2017

    Data quality checkers

    Making sure that the data we use is of good enough quality is very important. Here is how we ensure that the data we collect, store and process is meeting our quality requirements.

  • October 17, 2017

    Sanitize your attributes through your form object

    A simple way to sanitize the user's form inputs using the Virtus custom coercion.

  • September 27, 2017

    Evolution Of Our Continuous Delivery Process

    To stay agile and reduce risks related to large releases, it's important to be able to ship code fast. In this article we showcase chronologically all the iterations which have lead to what we currently do at Drivy for quick and efficient releases.

  • September 12, 2017

    Setting up Vim for React development

    A list of plugins and config tricks for maximum productivity with React in Vim

  • September 01, 2017

    Code simplicity - Reading levels

    By telling stories in you code, you can offer various levels of details to make the reader's life easier. In this article we go through a refactoring of that kind.

  • September 01, 2017

    Code simplicity - Command pattern

    Targeting junior developers, this article shows a simple technique to declutter controllers through the addition of a simple object.

  • July 31, 2017

    Best Practices for Large Features

    A collection of tips and practices we find useful at Drivy for taking large features from planning to production.

  • July 17, 2017

    How we are using member voice to improve UX

    Answering customers' questions is good but fixing the original problem is even better! Here we describe the various steps we took to leverage our users' feedback and questions to improve the overall user experience on our platform.

  • July 05, 2017

    Running feature specs with Capybara and Chrome headless

    How to use the new headless version of Chrome to replace PhantomJS and test a Rails application.

  • July 03, 2017

    The Tech Recruitment Process At Drivy

    How we work to avoid the usual pitfalls of software recruitment: whiteboard coding, trivia questions... instead we look at code the candidate wrote before and discuss real problems encountered at Drivy.

  • June 26, 2017

    Designing state machines

    Different tips to design a state machine that improves your codebase quality and eases communication within your team

  • May 23, 2017

    Android Makers 2017 Highlights

    Android Makers 2017: a quick overview of the conferences we found the most interesting

  • May 18, 2017

    Story of a junior developer at Drivy

    Feedback from a Junior Full Stack developer at Drivy since six months after graduating from a two-month bootcamp at Le Wagon.

  • May 09, 2017

    Code Simplicity - Value Objects

    Give more depth to your application's state using value objects. In this article I show one use of a common pattern in order to help you reduce the cognitive load carried by implicit assumptions.

  • May 08, 2017

    Code Simplicity - Introduction

    A guided tour through covering common software practices enhancing simplicity. In this article I share my vision of code simplicity is by giving some context about software and code.

  • May 02, 2017

    MySQL Evolution - From 5.6 to 8.0

    These are the slides of a presentation I gave at ParisRB. They present the new developer features of 5.6, 5.7 and what's coming in 8. It also shows how to use some of these features with Rails.

  • April 26, 2017

    Editing your git history with rebase for cleaner pull requests

    Having a clean git history is really useful for big pull requests. In this article we'll see how to edit previous commits to avoid clutter.

  • April 20, 2017

    Instrumenting Sidekiq

    Monitoring your taskqueue to get deeper visibility on usage trends, find out slow jobs or queue congestion. Here's how we do it with a Sidekiq middleware, InfluxDB and Grafana.

  • April 18, 2017

    API Driven Apps

    Being agile on mobile apps has always been a challenge. You have to deal with users that don't update their apps and with the validation time on iOS. Let's see how to update your app without submitting a new version to the Play Store / App Store.

  • March 16, 2017

    Send Rails console commands to Slack

    We sometimes use the Rails console in staging or production to fix rare issues and we've built a tool to have a better visibility and control of commands executed in the console. This article explains why we decided to build this and how we did it.

  • March 14, 2017

    Use Android's FileProvider to get rid of the Storage Permission

    In order to share a file with other apps, the simplest way seems to be using the external storage as a temporary place to keep your file. However it has many drawbacks: more permissions are needed, you have less control and you leave more mess. Here is a solution to avoid this!

  • March 13, 2017

    Taskqueues tips

    Taskqueues are used to asynchronously run tasks. They are very useful and very easy to get wrong, so in this article I'll share 12 tips to make sure it goes smoothly.

  • March 09, 2017

    Managing Bugs at Drivy

    It is crucial to have a minimal number of bugs in production. In this article we'll discuss the different ways we use to make sure everything goes smoothly for our users.