Lead Front-end Developer @ Yousign
Yousign is a startup founded in 2013 with the goal of simplifying the electronic signature process within companies. There are more than 150 employees now but when I arrived, I was the 6th !
Yousign: Signature Electronic SaaS application
Any document you sign by hand (with a few exceptions) can be signed electronically instead. It's a process that greatly speeds up the signing journey as you can sign without to be at works or send physically the documents.
It's a time and money saver for businesses, which is why Yousign aims to offer a SaaS application so that all businesses can simplify the signing step.
Education, Insurance, Real Estate or Government, every business needs to sign or sent documents to be signed day-to-day.
When I started at Yousign, I was the first front-end developer and everything was to build.
It was a very exciting and challenging job to designing and construct the whole front-end architecture during almost 5 years.
Our APIs were developed with Symfony in PHP and we used JS Frameworks for the front-end. Prior to 2018, our applications were developed in AngularJS, but when it was deprecated in favor of Angular 2 with no migration possible, we decided to migrate to React for performance and developer experience reasons.
User Centric Design
To provide the most experience on our applications, we worked hard to innovate and create the simpler signature process.
This is a very time consuming step because it is very difficult to make a complex application very easy to use. To do this, we need to know our users. We have therefore set up tools to collect feedback and usage data in order to better understand our customers' uses and habits.
Once this data was collected and analyzed, we worked a lot, in close collaboration with the Design team, to make our interfaces as simple as possible.
This very rewarding project has allowed me to develop a sensitivity for UX that allows me to take a step back when I design interfaces.
Design system of Components
Over time, our applications become more and more complex. To ensure the same quality and the same user interface in every time, we have created a design system of components.
We used Storybook to achieve this, and have listed around 50 components. Each of theses was built to be generic, agnostic and configurable by props everywhere we need them.
Also we construct the whole application by following the excellent guideline provided by Brad Frost: The atomic web design.
Software quality
Each kind of business has a contractual process or specificities during a signing phase. (For example, after receiving a sales contract for the purchase of a house in France, you have to wait 15 days before be allowed to sign it.)
In practice, this translates into a set of features that are only used by a portion of our customers.
This is why we have implemented a complete toggle feature in order to enable or disable easily theses specificities.
Obviously, we can't provide a stable complex application without developing automated testing.
That's why we have implemented a large panel of tests. From unit test with Karma or Jest to E2E test with Cypress.
All of theses tests were executed in CI in order to be sure every time we deploy something in production, we can't have any regression.