At Drivy, we want to enable users to open the car even if it's on the bottom floor of the deepest, underground parking. Since we can't rely on a GSM connection when so deep underground, we need to use a Bluetooth connection. But communicating with a Bluetooth device is easier said than done, due to the fact that it's low-level and requires many asynchronous calls. Let's see how we can improve this.
There are a lot of third-party-services APIs, but not all are created equally. In this article, we'll list the different points you should consider before you take a decision: documentation, libraries, SDKs, support, pricing, data privacy, and maintenance
Our iOS and Android apps require API calls to fetch fresh content and build screens. We combined this requirement with the power of a design system to go even further in our ability to have flexible apps.
How could using random values within your specs lead to better documentation and greater confidence? This post will use Ruby and RSpec to introduce some concepts from property based testing.
Sorbet is a Ruby type checker developed by Stripe. What's a type checker? What kind of type checker is Sorbet? Should you use it?
An interview with a Full-Stack Engineer on how she started coding and what it’s like to work at Drivy
How to reimplement iOS's alert for cellular data error
Some small tricks and examples to improve your code
The new proc composition operators: << and >> - a small feature that can easily be overlooked.
We will share with you the reasons why we've changed our Data Warehouse technology from Redshift to Snowflake.
Airflow Architecture at Drivy: a quick overview of Airflow architecture at Drivy
A Ruby gem to run regression tests on your data using a convenient DSL.
Avoid blowing up your memory while running big SQL queries
A few tips and examples to avoid basic security issues in a rails application
Parent Navigation has always been a tough topic on Android. There are not a lot of apps that implement the guidelines correctly, maybe because they are hard to understand or complicated to implement.
Transactional emails are very important for a successful experience. So, how are we dealing with broken email addresses?
Rails 5.2 comes with awesome features: here we'll talk about ActiveStorage
Modern Android development, From Java to Kotlin, Design Tools, ADB, Typesetting and more: key takeaways from this 2018 edition.
Ensuring visual consistency across an application can be tricky: a few tips about how we do it at Drivy.
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.
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.
Illustration of a subtle change to the way that Rails 5.1 tracks model changes in callbacks
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.
A summary of pro tips for enhanced productivity, recently shared by the dev team during a Tech Talk
A handpicked selection of the dotJS talks you should watch first.
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.
We present how we use Embulk to move data across multiple datasources thousand times a day at Drivy
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.
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.
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.
A simple way to sanitize the user's form inputs using the Virtus custom coercion.
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.
A list of plugins and config tricks for maximum productivity with React in Vim
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.
Targeting junior developers, this article shows a simple technique to declutter controllers through the addition of a simple object.
A collection of tips and practices we find useful at Drivy for taking large features from planning to production.
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.
How to use the new headless version of Chrome to replace PhantomJS and test a Rails application.
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.
Different tips to design a state machine that improves your codebase quality and eases communication within your team
Android Makers 2017: a quick overview of the conferences we found the most interesting
Feedback from a Junior Full Stack developer at Drivy since six months after graduating from a two-month bootcamp at Le Wagon.
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.
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.
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.
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.