![Image of React.js View State Management Tutorial publication](https://assets.toptal.io/images?url=https%3A%2F%2Fbs-uploads.toptal.io%2Fblackfish-uploads%2Fcomponents%2Fblog_post_page%2Fcontent%2Fcover_image_file%2Fcover_image%2F1279692%2Fcover-default-cover-7-806a3e10c41a2213d7efc6d9e1034d62.png&width=768)
![Leonardo Andrés Garcia Crespo, Developer in London, United Kingdom](https://assets.toptal.io/images?url=https%3A%2F%2Fbs-uploads.toptal.io%2Fblackfish-uploads%2Ftalent%2Fprofile%2Fpicture_file%2Fpicture%2F1056673%2Fhuge_2a0b568ccd990bc7fb039482d3931b0a-c32ef55f45db67d7eac38216023cf055.jpg&width=524)
Leonardo Andrés Garcia Crespo
Verified Expert in Engineering
JavaScript Developer
Leonardo is a lifelong fan of technology and is always trying to learn something new while keeping up to date with his favorite technologies. He has a very proactive personality, and he's always building something. He is currently heavily working with technologies such as React and GraphQL.
Portfolio
Experience
Availability
Preferred Environment
Visual Studio Code (VS Code)
The most amazing...
...thing I've built is a mechanism to specify data dependencies and make the necessary REST requests inspired by GraphQL, for a single-page application
Work Experience
Senior Software Engineer
- Drove adoption of React inside a team when I joined, implementing the integration with the previous framework and working through migrating several parts of the app.
- Initiated collaboration with external teams, participating in discussions, document reviews, and new idea proposals.
- Worked with high impact and visibility even when working remotely for teams in very different time zones (London to San Francisco).
- Owned several entire workstreams and followed through to completion with all of them.
- Became the go-to person for numerous areas of the app such as React, GraphQL, and testing, helping others in the team and proposing improvements on the usage of those.
Senior Software Engineer
Match.com
- Served as the technical go-to person in the team, both for desktop and mobile web apps.
- Designed architecture to declaratively specify and co-locate data dependencies with components, inspired in GraphQL.
- Proposed GraphQL as a technology to adopt and rebuilt several parts of the app on it in order to gain adoption. Gave several classes to onboard the team on it. This decision drove adoption of GraphQL in the company as the main API.
- Designed an i18n solution using react-intl, co-located translations, and separate locale bundles.
- Drove adoption of TypeScript and led the migration from plain JavaScript to TypeScript in order to increase confidence in the code.
- Spearheaded app performance tuning, code splitting, and webpack configuration.
- Drove proposals, discussions, and meetings to specify our own internal standards and practices.
Senior Front-end Architect
Progistix Worldwide (via Toptal)
- Developed a full SPA with React, React Router, and Redux.
- Worked with highly complex forms, maps, and interactive visualization of results.
- Performed queries with algolia, working with their SDK and creating an autocomplete component to show the results.
- Developed a mechanism to mutate the state with Redux in a way that it doesn't cause any side effects and allows time travel debugging.
- Worked with the team as a technical referent, designing the architecture for the overall app and for complex pieces inside.
Senior Software Engineer
Power Supply Collective (via Toptal)
- Proposed using React, Redux, and immutable data structures for creating the UI.
- Refactored the UI into reusable components sharing same look and feel.
- Created a component catalog to visualize the UI elements in the web app.
- Aided in design decisions for improvements to the user experience.
- Developed an iOS application using React Native with a feature subset for mobile.
Full-stack Developer
SCVSoft
- Developed an internal suite of gems that built up a framework to quickly develop internal tools. The suite went from authentication to deployment, look and feel, and front-end components.
- Led a team of eight developers, working in three different internal tools at the same time.
- Contributed back to a couple of open-source projects both in bug fixing and bug detection as well as feature addition. Encouraged the team to do so as well.
- Moved legacy tools with Rails 2 to full Rails 3 + asset pipeline + Angular apps, increasing responsiveness and overall performance along with code quality.
- Contributed to the internal Puppet provisioning scripts and provisioned boxes for new apps.
Developer
StudyBloc (via Toptal)
- Integrated Quill WYSIWYG editor with React into a reusable library.
- Supported math expressions and editor inside the WYSIWYG editor.
- Supported source code with syntax highlighting in the editor as well.
- Integrated the editor with the look and feel of the application.
- Contributed back to Quill editor to fix bugs and propose improvements.
Developer
Soma (via Toptal)
- Built the entire new checkout workflow in Angular, making it a single page and with a way to easily configure the order of steps.
- Increased the test quality of the product by increasing coverage and reducing usage of mocks in tests, and attempting to test the real thing as much as possible.
- Participated in design discussions with the client, trying to find the best solution.
- Contributed to an open source Ruby gem that the app used as an admin interface.
- Contributed to make better documentation for the newcomers in the project, by documenting and expressing the business motivation of the core classes in the app.
Full-stack Developer
SCVSoft
- Proposed the use of Backbone.js to create a rich UI with high interactivity.
- Tuned the data fetching mechanism for real-time forecast info from dozens of wind farms for different clients.
- Optimized queries and caching for most recent data visualization, with acceptable latency in the client.
- Encouraged intensive client-side test coverage together with actual HTML and JS interaction.
- Contributed to bug fixes on the HighCharts library that we used to draw the charts in the browser.
Web Developer
Teracode
- Led a team of three developers all working remotely from different places in the world.
- Created a Groupon-style app based on a Facebook app with high usage of the Facebook API.
- Automated deployment via Ruby scripts to achieve "one-click deploys."
- Proposed usage of Backbone.js to achieve more interactive UIs that are also more maintainable.
- Spearheaded adoption of GitHub for development workflow and made lots of code reviews in the pull requests.
Web Developer
Teracode
- Moved the existing app from ASP.NET to ASP.NET MVC, thus increasing overall the performance of transferring the state over the wire.
- Made the application update asynchronously with Ajax calls where it was necessary instead of full-page refreshes.
- Proposed several design improvements to the user workflow.
- Increased testing coverage of the existing application.
- Improved NHibernate usage and thus improved overall app querying performance.
Developer and Co-founder
Wisibee
- Founded my own company with a friend.
- Led full development of the product—a site for design contests, similar to 99designs.
- Learned about the startup lifecycle: incubated at a startup accelerator.
- Worked with supporting multiple payment methods, like PayPal and a local payment gateway called MercadoPago.
- Deployed the application, configured the boxes to run it, and was in charge of the DB backups and uptime.
Experience
GraphQL Tag Babel Macro
https://github.com/leoasis/graphql-tag.macroGraphQL persisted document loader
https://github.com/leoasis/graphql-persisted-document-loaderReact Sound
https://github.com/leoasis/react-soundOpen-source Contributions
https://github.com/apollographql/react-apolloAmplified
JS Conf UY
Meetup.js — JavaScript Meetups in Buenos Aires
Fnky.js
https://github.com/leoasis/fnkyMakery.js
https://github.com/leoasis/makery.jsActiveRecord::Futures Gem
https://github.com/leoasis/activerecord-futuresChallenge Accepted
Elempleo.com
http://elempleo.comSkills
Languages
HTML5, CSS3, SQL, JavaScript, TypeScript, GraphQL, Ruby, Sass, Python, Haskell
Frameworks
Express.js, Redux, AngularJS, Ruby on Rails (RoR), Relay, React Native, Bootstrap, ASP.NET MVC, NHibernate, Flask
Libraries/APIs
React, React Router, Immutable.js, Highcharts, AngularUI, Backbone.Marionette, Backbone.js, React-Intl, React Native for Web, jQuery, Node.js, Facebook API, GitHub API
Tools
GitHub, React Apollo, Chrome Developer Tools, Trello, Flow, Capistrano, Puppet, Quill, Apache Solr, VirtualBox, Git
Paradigms
Object-oriented Programming (OOP), Agile Software Development, Functional Programming, Event-driven Programming, Functional Reactive Programming, Concurrent Programming, SMACSS
Platforms
MacOS, Ubuntu, Windows, Linux, Visual Studio Code (VS Code), Algolia, Mapbox
Other
Apollo, MacBook, MathQuill, Fluxible, Service Workers
Storage
MySQL, MongoDB, PostgreSQL, Microsoft SQL Server, NoSQL, Memcached, Redis
Education
Bachelor's Degree in Systems Engineering
Buenos Aires University - Buenos Aires, Argentina
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