
Edo Rivai
Verified Expert in Engineering
Full-stack Developer
Vienna, Austria
Toptal member since May 7, 2019
Edo is an experienced web developer with both freelancing and startup experience. After freelancing for a year, he joined an Amsterdam-based travel startup. He started as the only developer, building the entire platform from scratch, and subsequently built out a small team over a six-year period. His expertise is full stack JavaScript; Node.js on the back end and React on the front end.
Portfolio
Experience
- JavaScript - 8 years
- React - 7 years
- Node.js - 7 years
- TypeScript - 6 years
- Full-stack - 5 years
- GraphQL - 5 years
- PostgreSQL - 4 years
- Kubernetes - 1 year
Availability
Preferred Environment
Git, Visual Studio Code (VS Code), Ubuntu, React
The most amazing...
...thing I wrote was a search engine for virtual interlining flights, combining flights between carrier alliances, unlocking cheaper combinations for travelers.
Work Experience
Senior Software Engineer
Spot AI, Inc
- Took the proof of concept that the founder built and transformed it into a production-ready system. Laid the infrastructure foundations: Google Cloud, CI/CD, front end, back end, databases, and edge-to-cloud communications.
- Built key features like remote video streaming, public clip sharing, video collaboration tooling (like Loom), user access control, and AI-powered analytics dashboards. These features allowed the company to scale from zero to past our Series B financing.
- Scaled the initial system from 10s to 10,000s of edge devices. This required migrating data from centralized databases (PostgreSQL) to services that handle high-volume data; Google BigQuery and BigTable.
- Led one of the development teams by managing Jira tickets, allocating team members, doing estimations, and working with the product and design teams to formulate engineering requirements.
- Built the initial video streaming infrastructure by ingesting camera feeds with RTSP, transcoding with FFmpeg, and serving over HLS.
- Managed a team of contractors to build native mobile apps. Designed the initial architecture and balanced end-user experience with the development effort of porting web features to native.
Lead Developer
Wigwam Travel
- Implemented the back-end system for retrieving and updating the availability and pricing of Wigwam Travel's offerings using Node.js and PostgreSQL.
- Used React, TypeScript, and GraphQL to implement the front end.
- Led the migration of the company infrastructure from AWS Elastic Beanstalk to Kubernetes on the Google Cloud Platform.
- Designed and implemented a CI/CD pipeline using CircleCI and Cloud Build and the deployment infrastructure using AWS Elastic Beanstalk and Kubernetes.
- Completed performance tuning of the pricing system, which involved tuning the PostgreSQL schema and queries and changing how the front end was requesting and caching prices using GraphQL.
Lead Developer
PaperFlies
- Designed and implemented the flight search engine back end in Node.js.
- Implemented the back office dashboard using React and consuming our back end REST API.
- Designed and maintained an image service, which stores, transforms and manages the serving of images. AWS Lambda and S3.
- Implemented and maintained the front end, written in React.
- Led the effort on our virtual interlining search engine, which combined flights across multiple alliances. Written in Node.js and PostgreSQL.
Web Developer
Ilumbo
- Created a web-based ad video player.
- Created multiple static websites using web technologies.
- Created a video player for a video sharing platform.
- Created a small web shop from scratch.
- Implemented a high-profile email campaign.
Experience
Wigwam Travel
The business revolved around travel experts curating packages, which would be linked to APIs for flight and hotel prices. We'd index hundreds of travel date combinations for every package, allowing users to view the packaged prices using a calendar.
The front end was written in React and connected to our back end using GraphQL. With Wigwam Travel being an eCommerce website, achieving a high conversion rate was a priority, and the content and website performance played an essential part. Using server-side rendering and lazy loading and building the website as a single-page app, we optimized the initial page load, which Amazon proved to significantly improve the conversion rate.
We initially deployed the app to AWS Elastic Beanstalk but migrated to Kubernetes and the Google Cloud Platform because the resource-sharing capabilities significantly decreased the costs. Also, the resilient scheduling mechanism increased our confidence during deployments and node failures.
Blog Post on Unit Testing in Node.js
https://medium.freecodecamp.org/how-to-mock-requests-for-unit-testing-in-node-bb5d7865814aAt first, I asked around on Twitter, how other people handled it but didn't get a very satisfying response. That's when I decided to make a deep dive into the topic and eventually wrote my findings up in a blog post, which got published in the FreeCodeCamp Medium publication, one of the biggest programming publications.
Paperflies
I started out as the only developer, implementing an MVP using very minimal server-side code. The front end was mainly plain HTML+CSS, with some vanilla JavaScript for small interactions.
The scope of the project grew substantially when we decided to add a full-fledged search engine, connecting to a big data provider with *very* old legacy systems. We'd connect our back end to their SOAP API, and render everything in an Angular 1 app.
This was right around the time that React came out, and I was running into performance problems rendering and sorting the list of search results in Angular. React promised to be more efficient with performing DOM mutations, which is when we migrated to React and have never looked back since.
As the team grew, my role changed to Lead Developer, and I was put in charge of managing 5 developers. I was in close contact with the designer, collaborating on responsive designs, and extracting the technical requirements for the dev team.
Education
Bachelor's Degree in Economics and Business Economics
Utrecht University - Utrecht, Netherlands
Skills
Libraries/APIs
React, Node.js
Tools
Git, Flash
Languages
JavaScript, TypeScript, CSS, HTML, GraphQL, SQL
Frameworks
Tailwind CSS, Cypress
Paradigms
Continuous Integration (CI), Unit Testing
Platforms
Web, Ubuntu, Visual Studio Code (VS Code), CentOS, Kubernetes, Google Cloud Platform (GCP), Docker, Amazon Web Services (AWS), Linux
Storage
PostgreSQL, Google Cloud, Redis
Other
Full-stack, Economics, Game Theory, Software Architecture
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring