
Nurguly Ashyrov
Verified Expert in Engineering
Software Developer
Waterloo, ON, Canada
Toptal member since December 25, 2016
Nurguly is a full-stack JavaScript engineer with experience in a variety of web applications, from document control portals to React Native applications. His preference for learning design patterns and libraries instead of frameworks allows him to quickly adapt to new projects and immediately bring value to the client at the earliest stages.
Portfolio
Experience
- PHP - 13 years
- JavaScript - 13 years
- MySQL - 10 years
- GraphQL - 8 years
- React - 8 years
- Node.js - 8 years
- Redux - 8 years
- React Native - 6 years
Preferred Environment
Git, ITerm, Visual Studio Code (VS Code), MacOS
The most amazing...
...thing I've built was a module for ProcessWire CMF that allows you to expose GraphQL API of all your existing content without writing a single line of code.
Work Experience
Senior Full-stack Developer
Automattic
- Built a purchase license verification system for WordPress Sensei LMS plugin.
- Upgraded Sensei LMS internals to support WordPress' Block Editor for users' ease of use.
- Added support for a "single flow" setup for WordPress, Sensei LMS, and WooCommerce on wordpress.com.
- Implemented user impressions tracking for Tumblr posts using Intersection Observer API.
- Led the development of Tumblr's "Reblog Redesign" project.
- Built Tumblr chat integration in the Texts app, including support for authentication, GIFs and, message emoji reactions.
- Handled the maintenance of Sensei LMS and WordPress Job Manager plugins. As well as legacy and new Tumblr web clients.
Full-stack Engineer
Yara
- Implemented a VRA Brush Mode. Added an ability for the farmer to adjust and fine-tune their variable rate applications of fertilizers on the map to optimize the precision of how the fertilizer is applied to the field.
- Fixed bugs, wrote e2e tests, and refactored code to maintain the quality of the code.
- Implemented a bulk field upload feature that allows farmers to upload all of their field data with supported files instead of manually drawing the boundaries on the map for each field.
- Implemented a bulk "crop type" change feature that allows farmers to switch the crop type of their fields when the season changes and fields need a different analysis and treatment.
Front-end Developer
Airmeet
- Added functionalities into Airmeet's built-in messaging system such as hyperlink support, message reply, and chat notifications.
- Built the direct messaging ability with other conference participants. That supports sending chat requests, accepting and denying chat requests, and turning notifications on and off for individual participants.
- Built the "Speed Networking" feature that allows participants of the online conference to randomly match each other and start video calls for fast networking and engagement among participants.
React Native Developer
UX Integrated
- Built iOS and Android apps in React Native for truck drivers.
- Implemented background geolocation tracking of the device into iOS and Android apps to track truck drivers' location when they're on an assignment, even if the app is killed (aka swiped out).
- Implemented a routine background task scheduler to turn background geolocation tracking on and off based on whether the driver has an assignment.
- Developed universal link support for iOS, Android, and web so the single link opens the correct screen no matter what platform it is.
- Integrated OneSignal push notifications with support for universal links to send the user to a specific screen of the app.
Head of Mobile
Sugi Group AB
- Rebuilt the mobile app from the ground up for iOS and Android in React Native.
- Implemented build pipelines for Android and iOS with Fastlane.
- Built an over-the-air update pipeline with Microsoft CodePush.
- Integrated the mobile app with BugSnag and Google Analytics for proactive bug and funnel reports.
- Built a recycling stations map with marker clustering.
- Developed a barcode scanner with scan, prescan, and validate modes that track a user's device location to decide which mode it's in.
- Implemented a dynamic mobile app localization with Google Spreadsheets.
- Published and maintained a mobile app in the Google Play and App Store.
- Implemented end-to-end tests for a mobile app using Detox.
- Interviewed IT candidates for engineering positions.
Node.js and React Engineer
Bob's Repair
- Developed a prototype web app where customers can create and receive bids for a multistep job.
- Integrated the prototype web app with the Ethereum blockchain so every bidding step is registered in the public ledger.
- Implemented a simple notification system for the web app so users can see when the requested blockchain actions are finished.
Front-end Developer
Axon Holdings, LLC
- Developed web components for Msgsafe.io including the billing, dashboard, DNS management, chat, and onboarding sections.
- Developed React Native components for MsgSafe.io, implementing features such as chat, email attachments, tone manager, and WebRTC-based audio and video screens.
- Upgraded the dependencies of the native app that included more than 30 packages with JavaScript, iOS, and Android-specific code.
- Refactored WebRTC STUN messaging coordination to track every single step of the audio/video call connection in the app state and to handle all possible failures.
- Implemented a native-to-web authentication flow that allows the users to seamlessly, within the native app, access features available on the website but not yet in the native apps.
Web Developer
YakynLabs
- Developed the website Unfpa.org.tm, a traditional website with news, gallery, publications, and linked article pages. Used jQuery, and Bootstrap/LESS for the front end and MODX for the back end.
- Created the website Yashlyk.info, an information hub on puberty for kids with engaging Q&A tests. Used jQuery, SUSY/Sass, and ProcessWire.
- Built a jewelry web app that allows a user to create a bracelet or necklace by dragging and dropping beads and pendants. Used AngularJS for the front end.
- Developed a light-but-robust animation engine in Backbone.js for a jewelry web app. It allows users to add and remove beads or pendants, zoom in and out, gives a list of beads to choose from, and animates the random generation of a bracelet or necklace.
- Created a document-management and publication website with thousands of articles in two languages and multiple permission levels for the parliament of Turkmenistan.
- Constructed a widget module for a parliament website that allows the website manager to set or change the layout of the website with responsive design in mind. A demo can be found in my portfolio section.
- Developed a language manager module for a parliament website that keeps track of translation links between pages that utilizes ProcessWire's SQL query builder. A demo can be found in my portfolio section.
- Built websites for the Ministry of Nature Protection and convention on biodiversity of Turkmenistan. Links can be found in my portfolio section.
- Constructed a portfolio website for the great artist Vitaly Didenko. A link and more information can be found in my portfolio section.
- Managed the server environments for websites that I built with NGINX, PHP-FPM, and MySQL on CentOS.
Experience
Web Conference and Event Hosting Platform
https://www.airmeet.com/I also led and implemented most of the "Speed Networking" project. During the "Speed Networking" time, the event participants are randomly matched with each other for a 3-minute video chat, so everyone can have a chance to meet everyone else. I led the development of the front-end UI and developed the business logic that would randomly match people and ensure everyone gets matched with everyone else.
Precision Farming Platform
https://us.at.farm/PantaPå
https://getbower.com/US Skyscrapers App
https://github.com/dadish/skyscrapers-appSee the source code at https://github.com/dadish/skyscrapers-app.
Expense App
https://github.com/dadish/expenses-appCheck out the live app at https://expenses.nurgulyashyrov.com.
ProcessGraphQL
https://github.com/dadish/processgraphqlVitaly Didenko
https://www.vitalydidenko.com/HandyWandy Jewelry Web App
https://hw.nurgulyashyrov.comThe website was rebuilt several times to achieve the best interactive experience for the end-user. The design was provided by the client, but the implementation was coded solely by the developer. The version as it is now is built on Backbone.js. It uses CSS3 transforms to utilize the GPU to provide solid 60 FPS animations. The code was fine-tuned with performance in mind. The user can spend all day creating, composing, zooming in/out, deleting, adding, and changing the different jewelry, and there will be no memory leaks.
Please go to http://hw.nurgulyashyrov.com/demo.html to see a demonstration video.
UNFPA Turkmenistan
The design of the website was provided as two JPEG images of the main and secondary pages for a 960 pixel-wide resolution. However, the requirement was to build a website responsive to any screen width. All of the designs for other resolutions were built by the developer.
The website was built twice. The first version was built with Bootstrap/LESS, jQuery for the front end and MODX for the back end. The result was far from satisfying; the true responsive behavior could not be achieved, and it was decided to rebuild it again.
The second version of the website was built on SUSY/Sass, jQuery for the front end, and ProcessWire for the back end. The result was something that the client was satisfied with, and the product was deployed into production.
Y-Peer Turkmenistan
Dr. Davtyan Health & Beauty
ErasmusPlus Turkmenistan
Convention on Biological Diversity in Turkmenistan
Ministry of Nature Protection of Turkmenistan
Hookz | JavaScript Events Library
https://github.com/dadish/hookzBabel | ProcessWire Language Module
https://github.com/dadish/BabelProcessQuickToggle
https://github.com/dadish/ProcessQuickToggleEducation
Bachelor's Degree in Mass Communications
American University in Bulgaria - Blagoevgrad, Bulgaria
Skills
Libraries/APIs
Node.js, jQuery, React Redux, Ramda, React, Redux-Saga, Flexbox, RxJS, React Router, Lodash, Backbone.js, Underscore.js, Susy, React Navigation, Google Maps, Redux Form, Immutable.js, WebRTC, Turf.js, Urql, React Testing Library
Tools
Git, GitHub, Flow, ITerm, Xcode, Bugsnag, Babel, CircleCI
Languages
TypeScript, JavaScript, GraphQL, Sass, CSS, HTML, PHP, ES7, ECMAScript (ES6), SQL, Bash, Go
Frameworks
Redux, React Native, Jest, Tailwind CSS, Express.js, Material UI, Hapi.js, NestJS, Cypress, Electron
Platforms
Visual Studio Code (VS Code), MacOS, Android, iOS, Docker, Firebase, Linux, WordPress, Blockchain, Mapbox, Web
Storage
MySQL, PostgreSQL
Paradigms
BEM
Other
Redux-observable, ESLint, ProcessWire CMS, Web Development, Mobile App Development, SSH, Bcrypt, Enzyme, Axios, Styled-components, CodePush, Research, Analysis, Information Theory, Communication Theory, Journalism, Shopping Carts, GitHub Actions, Open Source, Responsive UI, Schema.org, GeoJSON
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