Ronen Elster
Verified Expert in Engineering
Front-end Developer
Tel Aviv-Yafo, Israel
Toptal member since April 29, 2021
Ronen is a front-end developer with a decade of experience. He has developed cross-browser support for unsupported browsers up to IE9 enabled for JavaScript and CSS, led massive refactor projects of legacy web applications that used outdated technologies, and created pixel-perfect websites based on PSD designs. He focuses on optimization and looks for where code might break down. Ronen has published native mobile apps to the Google Play Store and Apple App Store and enjoys mentoring developers.
Portfolio
Experience
Availability
Preferred Environment
MacOS, Vue, React, JavaScript, CSS, HTML, Browsers, Node.js, Express.js, MongoDB, Continuous Integration (CI), Test-driven Development (TDD), Web & Mobile Applications, Puppeteer, Sentry, Open Broadcaster Studio (OBS)
The most amazing...
...product I've developed is a file uploader that allows uploading multiple (very large) files over long periods, with retry functionality and error handling.
Work Experience
Senior Vue & Full-stack React Developer
Freelance Clients
- Developed a web-based application based on Nuxt 3 and Vue 3 as a senior Vue developer for a Web3 project.
- Built a React/Next.js application for email-based content as a senior full-stack React developer for a marketing and advertising company.
- Helped solve deployment-related issues in the React/Next.js application.
Front-end Developer
Pibble LLC
- Developed a responsive landing page with CSS, HTML, and JavaScript.
- Worked with HTML templates using the PHP programming language.
- Collaborated with a designer and full-stack developer on the back end.
Senior Front-end Developer
Augury
- Developed a web app dashboard for users interacting with the company services.
- Tracked and fixed bugs using tools such as Dapulse and others.
- Assisted junior team members and mentored them with learning React.
- Performed code reviews on GitHub pull requests and added detailed pull requests of my own.
React Front-end Developer
A51 LTD
- Developed a web app that allows bookmarking of all kinds of data from the web.
- Mentored and assisted the junior team members with regard to the front-end. I also conducted interviews.
- Explored developing a browser extension for Chrome for the web app.
Front-end Developer
Array, LLC
- Developed widgets using JavaScript Web Components API for a financial services project. Utilized Vanilla JavaScript for the project.
- Developed widgets for the company using the Svelte library.
- Communicated with team members across the world in a distributed team.
Senior Front-end Developer
Freelance
- Participated in developing the back office and user-facing client-side using server-side rendering (SSR) and single-page application (SPA) via Next.js and React. I was part of a team of developers on this project.
- Tracked and fixed bugs using Jira and Kanban as a reporting tools.
- Increased the total performance and speed of the user-facing site.
Senior Front-end Developer
Freelance
- Participated in developing the back office and user-facing client side using server-side rendering (SSR) and single-page application (SPA) via Nuxt.js and Vue.
- Published the site as a native mobile app on the Google Play Store and Apple App store, first using Ionic and later with another solution.
- Guided the solutions for hard-to-debug performance issues such as memory leaks.
- Served as an external consultant and point-of-contact for technical front-end issues. Assisted in the mentoring and advising of junior developers.
- Assisted in the implementation of several analytics solutions for the company. Due to technical restrictions, the solution required interacting with the server in unusual ways. e.g, some of the work the server would do was done on the client side.
Senior Front-end Developer
Freelance
- Assisted in the development of the user-facing dashboard of the company service back office.
- Developed the front-end for a complex permissions and policy rules feature.
- Created a solution for uploading massive video files in chunks to a cloud platform provider. Developed a feature to retry uploads in case of failure. In the process I increased performance of an existing, older solution.
- Guided the transition of the front end from Angular to another solution. Created a POC with Vue.js first and later with React.
- Served as an external consultant, mentored junior developers, and solved hard-to-debug issues on the client side.
- Participated in meetings with all stakeholders on the development process for the company, an established corporation.
Senior Front-end Developer
Freelance
- Led a massive refactor of a legacy web application single handedly that was using outdated technologies. Eliminated thousands of lines of code, installed web tools, modern tools, automation, and documentation on both the front end and back end.
- Implemented a functionality that masked bad network connectivity and made the browsing experience seamless for the user.
- Implemented a WebView solution for the main product. Integrated an existing web application into a WebView wrapper according to the customer's. specifications.
- Implemented Google Analytics with real-time results.
Senior Front-end Developer
Spot.IM
- Assisted in the development of a user profile feature for the users.
- Enabled cross browser support for previously unsupported older browsers, up to IE9 level. Support was enabled for both JavaScript and CSS.
- Solved a large number of bugs and issues using several task dashboards over time.
Full-stack Developer
TradeSmarter
- Developed a permissions grant and policy rules feature on both the front end and back end.
- Created pixel-perfect websites based on PSD designs.
- Built WordPress sites and added custom features per customer specifications.
Full-stack Developer
STG Digital
- Turned static photoshop designs into pixel-perfect web pages.
- Customized customer requests with proprietary modular CMS written with PHP.
- Developed cross-browser support even for extremely old browsers-all the way back to IE6.
Experience
Tutorial Site for ECMAScript 6 in Hebrew
https://ronen-e.github.io/understandinges6/I assisted in writing and editing the original content. I later acquired the translation rights from the publisher and set out to add the content in Hebrew - a right-to-left language. I encountered many issues with the RTL requirements and overcame them. I published the content on a website that can parse Github markdown. I tried Gitbook and when that didn't work well I found docsify to be a better alternative.
While translating, I also encountered content challenges and was in communication with the author to help clarify. I added issues in the main Github repository. The developer community also assisted me in this project.
The majority of the work was done by myself. A few chapters were initially translated by other contributors. Their names appear in the project repository. I thank them for their help. I am currently in the final stages of proofing the content.
File Upload and Processing
hundreds, or even thousands, to a cloud environment or to an internal server.
I was the front-end developer and liaised with the back-end developer to implement the procedure flowing correctly. The files were first uploaded and then processed on the server. The process included real-time notification for the status of each file as well as backup and retry functionality to avoid time loss.
During the process, I found ways to optimize the existing upload speed by at least 30%.
Server Side Rendered Single Page Application with Nuxt.js
Understanding JavaScript Promises in Hebrew
https://leanpub.com/understanding-javascript-promises-he/This was the first translation done in an RTL language, and we encountered several issues during the process, which we eventually overcame.
Certifications
GraphQL: Data Fetching With Relay
GraphQL Essential Training
Manage Complex State in React Apps with MobX
egghead.io
Manage Application State with Mobx-state-tree
egghead.io
Migrating from REST to GraphQL
Building a GraphQL Project with React.js
Learning Functional Programming with JavaScript ES6+
Static Site Generation with Nuxt.js
VueSchool
Vue 3 Composition API
VueSchool
GraphQL Fundamentals
VueSchool
Using React Hooks
Pluralsight
Building Applications with React and Flux
Pluralsight
Building Applications With React and Redux
Pluralsight
GraphQL: The Big Picture
Pluralsight
Vue.js + Firebase Realtime Database
VueSchool
Vue.js + Firebase Authentication
VueSchool
Testing Vue.js Components
VueSchool
Test with Jest
VueSchool
Dynamic Forms with Vue.js
VueSchool
Vue.js Form Validation
VueSchool
Custom Vue Directives
VueSchool
Node.js: Design Patterns
Use Higher Order Observables in RxJS Effectively
egghead.io
Up and Running with redux-observable
egghead.io
Step-by-step Async JavaScript with RxJS
egghead.io
Save Time Avoiding Common Mistakes Using RxJS
egghead.io
RxJS Beyond the Basics: Operators in Depth
egghead.io
RxJS Beyond the Basics: Creating Observables From Scratch
egghead.io
Introduction to Reactive Programming
egghead.io
M101JS: MongoDB for Node.js Developers
MongoDB University
Web Accessibility
Udacity
Rethinking Asynchronous JavaScript by Kyle Simpson
FrontendMasters
Responsive Web Design Fundamentals
Udacity
Responsive Images
Udacity
Real-Time Web with Node.js
FrontendMasters
Organizing JavaScript Functionality by Kyle Simpson
FrontendMasters
Functional Light - JS by Kyle Simpson
FrontendMasters
Client-Server Communication
Udacity
Web Tooling & Automation
Udacity
Offline Web Applications
Udacity
Google Developer Challenge Scholarship
Udacity
ES6 - JavaScript Improved
Udacity
Asynchronous JavaScript Requests
Udacity
Use TypeScript to Develop Vue.js Web Applications
egghead.io
RegExp in JavaScript
egghead.io
Using Webpack for Production JavaScript Applications
egghead.io
Up and Running with TypeScript
egghead.io
Learn the Basics of Angular Forms
egghead.io
Angular Dependency Injection (DI) Explained
egghead.io
Learn Protractor Testing for AngularJS
egghead.io
Building Angular Components
egghead.io
Build a Server Rendered Vue.js App with Nuxt and Vuex
egghead.io
Try Docker
CodeSchool
Get Started with Angular
egghead.io
Develop Basic Web Apps with Vue.js
egghead.io
Building React Applications with Idiomatic Redux
egghead.io
Asynchronous Programming: The End of The Loop
egghead.io
PHP with MySQL Essential Training
PHP with MySQL Beyond the Basics
Getting Started with Redux
egghead.io
Cracking the Case With Flexbox
Code School
Digging Into Django
Code School
Try Django
Code School
The Elements of Web Design
Code School
Accelerating Through Angular
Code School
JavaScript Design Patterns
Udacity
Website Performance Optimization
Udacity
Ruby Bits Parts 1 & 2
Code School
Introduction to Node: The Fundamentals
egghead.io
You, Me & SVG
Code School
Powering Up With React
Code School
Browser Rendering Optimization
Udacity
Advanced JavaScript by Kyle Simpson
Pluralsight
Try Ember
Code School
Learn How To Use ImmutableJS
egghead.io
Intro to Recursion
egghead.io
ES2015: The Shape of JavaScript to Come
Code School
Flying Through Python
Code School
Try Python
Code School
Learn the Command Line
Codecademy
React: Flux Architecture (ES5)
egghead.io
Build Your First React.js App
egghead.io
React Fundamentals
egghead.io
React Fundamentals
Pluralsight
JavaScript Fundamentals for ES6
Pluralsight
Unmasking HTML Emails
Code School
Journey Into Mobile
Code School
Front-end Formations
Code School
CSS Cross-country
Code School
Building a Data-driven App with AngularJS
Lynda.com
Anatomy of Backbone.js
Code School
Up and Running with AngularJS
Lynda.com
Blasting Off with Bootstrap
Code School
Assembling SASS
Code School
Adventures in Web Animations
Code School
JavaScript Best Practices
Code School
CoffeeScript
Code School
Building Blocks of Express.js
Code School
Breaking the Ice With Regular Expressions
Code School
Fundamentals of Design
Code School
Front-end Foundations
Code School
Discover DevTools
Code School
Try Git
Code School
Ruby Bits
Code School
Real-time Web with Node.js
Code School
Rails for Zombies Redux
Code School
Mastering Github
Code School
JavaScript Road Trip
Code School
Git Real
Code School
Warming Up With Ember.js
Code School
jQuery: The Return Flight
Code School
Try jQuery
Code School
Try SQL
Code School
Try Ruby
Code School
The Sequel to SQL
Code School
The Magical Marvels of MongoDB
Code School
Staying Sharp with AngularJS
Code School
Shaping Up with AngularJS
Code School
Skills
Libraries/APIs
Vue, React, Node.js, Vue 2, React Redux, jQuery, REST APIs, Flexbox, Vuex, jQuery UI, MobX, Puppeteer, Vue 3, React Hook Form, RxJS, WebRTC, Cache API, Immutable.js, Ember Data, Backbone.js, Google Analytics API, Emotion Library, MobX-State-Tree (MST), Jenkins Pipeline, Chart.js, YouTube API, Stripe
Tools
F12 Developer Tools, Babel, Git, GitHub, Webpack, Slack, Chrome Developer Tools, MF Upload, JSX, Mocha, UI Grid, Google Analytics, Figma, Create React App, Jira, Firebase Authentication, Canvas, Gulp, Grunt, Vue CLI, Shell, BrowserStack, Sentry, Matomo, Wrike, Jenkins, Visual Studio, Docker Compose, Auth0, Open Broadcaster Studio (OBS), ChatGPT
Languages
JavaScript, CSS, HTML, TypeScript, ECMAScript (ES6), Regex, HTML5, GraphQL, PHP, Sass, SCSS, XML, PHP 5, Python, Ruby, CSS3, CoffeeScript, SQL, Less, Java, C#, C++, Markdown
Frameworks
Next.js, Redux, Material UI, Nuxt.js, Vue SSR, Jest, Angular, AngularJS, Bootstrap, Tailwind CSS, Cypress, Svelte, Vuetify, Quasar, Express.js, Recoil, Flux, Realtime, Protractor, Django, Ruby on Rails (RoR), Ember.js, PHP MVC, Laravel, Relay, Ant Design, NestJS, Vanilla JS, Chrome, Electron, React Native, .NET, .NET Core, Ionic
Paradigms
REST, Refactoring, Best Practices, Web Performance Optimization (WPO), Unit Testing, Functional Programming, Automation, Testing, Search Engine Optimization (SEO), Responsive Web Design (RWD), Agile, Model View Controller (MVC), Continuous Delivery (CD), Web App Design, Mobile Development, Kanban, Design Patterns, Reactive Programming, Asynchronous Programming, Dependency Injection, DevOps, E2E Testing, Continuous Integration (CI), Test-driven Development (TDD), Microservices, Automated Testing, UI Design
Storage
JSON, Web Forms, MongoDB, Cache, MySQL, Amazon DynamoDB, Azure Blobs, Databases, Google Cloud
Platforms
MacOS, WordPress, iOS, Android, Windows, Firebase, Docker, Mobile, Web, AWS Lambda, Azure, Amazon Web Services (AWS), Blockchain, New Relic, Google Cloud Platform (GCP), Google Ads, Vercel
Industry Expertise
Marketing, Web Design
Other
Browsers, RTL, Right-to-Left (RTL) Scripts, Async.js, Application State Management, ES6 Promises, Front-end, Regular Expressions, Brower, Websites, Web Application Forms, Code Review, APIs, Source Code Review, Front-end Development, User Experience (UX), User Interface (UI), Web UI, Web UX, Web Application, Dashboards, Web Development, Software Troubleshooting, Estimations, Styled-components, Third-party Integration, Iframes, UI Development, Cross-browser Compatibility, Pixel Perfect, Responsive UI, Docsify, Communication, Storybook, UI Components, HTTP, WebSockets, Storage, Responsive Design, Vue Router, Optimization, Rendering, Website Performance, Performance, HTML Email, CSS3 Animation, Web Animation, Internationalization, Website Optimization, Content Management Systems (CMS), Site Speed Optimization, UI Animation, Cross-platform App Development, Full-stack Development, API Integration, Full-stack, Data Visualization, Graphs, Booking Systems, Animation, Technical Leadership, Video Streaming, Architecture, Email, Server-side Rendering (SSR), Early-stage Startups, Mentorship, Single Sign-on (SSO), Back-end, Widgets, Payment APIs, Front-end Architecture, Boilerplate Code, Front-end Design, Web App UX, Project Consultancy, Plugins, Minimum Viable Product (MVP), Startups, Email Templates, Responsive Email Templates, MERN Stack, Charts, Web Security, Mobile First, Proof of Concept (POC), Monorepos, Data Architecture, HTML5 Animations, Transitions, Web Content, Open Source, ESLint, Forms, Redux-observable, Web Accessibility, HTTP 2, HTTPS, SSL, Servers, Fetch API, Service Workers, SVG, SVG Animation, Programming, Ember CLI, Command-line Interface (CLI), Shell Commands, Website Setup, IIS, Analytics, Web Analytics, Interviewing, Technical Hiring, Task Analysis, Async/Await, Google, Web & Mobile Applications, Data Analysis, Mobile App Development, Cryptography, Advertising Technology (Adtech), Web Components, Extensions, Dapulse, Chromium, Design, Google Play Store, App Store, CI/CD Pipelines, OAuth, Algorithms, Software Architecture, Webhooks, Chrome Extensions, Crypto, Web3, SEO Tools, Accessibility
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