Scroll To View More
Hire the top 3% of freelance developers
Yasir Ali

Yasir Ali

Irvine, CA, United States
Member since February 14, 2017
Yasir has been developing in JavaScript for 10 years while using the latest ES6+ standards in all his current work. He is an expert front-end developer especially with React and Redux, and is a growing star with React-Native. He also uses JS for much more, such as cross-platform desktop apps (Electron) and cross-browser extensions leveraging native APIs on Windows (WinAPI/COM), macOS (Carbon, Core Foundation, Cocoa), and *nix (X11/XCB, GTK+/GDK).
Yasir is now available for hire
Portfolio
  • Traede (via Toptal)
    React Native, Immutable.js, Redux-Offline, Redux
  • Mozilla
    JavaScript, C, C++,
  • Tigo
    Angular 1.x, Cordova/PhoneGap, jQuery Mobile, PHP, PostgreSQL
Experience
  • CSS, 10 years
  • JavaScript, 10 years
  • React.js, 2 years
  • React Native, 1 year
  • React Router, 1 year
  • Web Extensions, 1 year
  • Electron.js, 1 year
  • Redux, 1 year
Irvine, CA, United States
Availability
Part-time
Preferred Environment
Windows 10, Git/GitHub, VSCode, Node 7+
The most amazing...
...thing I've coded was a cross-platform screenshot tool using JavaScript FFI to tap platform APIs.
Employment
  • React Native Engineer
    Traede (via Toptal)
    2017 - 2017
    • Created an offline first application (chronological API call resilience).
    • Used a component based on iOS CollectionView in order to have sticky columns and sticky headers due to the fact it was an iPad specific app.
    Technologies: React Native, Immutable.js, Redux-Offline, Redux
  • AMO Editor
    Mozilla
    2015 - 2017
    • Worked in a 100% remote experience.
    • Focused on reviewing code before accepting it into the Mozilla marketplace of addons.mozilla.org (AMO).
    • Reviewed minified/obfuscated submissions by requesting their human readable version along with build script and instructions. The build tools were mostly Node.js based (Gulp, Grunt, Webpack, Broccoli).
    • Had extensive communication with developers via email, regarding their submission and approval criteria.
    • Helped volunteer reviewers from the open source community with coding questions.
    Technologies: JavaScript, C, C++,
  • Software Engineer
    Tigo
    2015 - 2015
    • Used Cordovoa/PhoneGap to deploy PWA (progressive web app) as an actual mobile app.
    • Ported a jQuery mobile web app to an Angular 1.x based app.
    • Interacted with the back-end engineers utilizing PHP (Yii framework) and PostgreSQL.
    • Communicated with the back-end and physical device via a REST API.
    • Developed systems to process and visualize large amounts of data from photovoltaic arrays.
    Technologies: Angular 1.x, Cordova/PhoneGap, jQuery Mobile, PHP, PostgreSQL
  • Full-Stack Engineer
    Open Source
    2011 - 2015
    • Developed cross browser extensions using native messaging with binaries created with C++ and Electron.
    • Used REST/GraphQL infrastructures in progressive web apps (PWAs).
    • Built a REST infrastructure with PHP and MySQL.
    • Created and support multiple Firefox add-ons—two of which are award-winning.
    • Provided support to the community via various online resources (i.e.: Stack Overflow).
    • Made extensive pointers and gained platform API experience via FFI (js-ctypes, JNI.jsm, and some Node FFI).
    • Read and translated frequently from different languages to JavaScript (actually translated from: D, Java, Pascal, Perl, Python, and Ruby).
    Technologies: JavaScript, Electron, Platform APIs via JavaScript FFI (WinAPI, COM, Carbon, CoreFoundation, Cocoa/Objective-C, X11/XCB, GTK+/GDK, Android SDK via JNI), PHP, MySQL/SQL, GraphQL, Angular 1.x, C++, C, Objective-C
  • Administrator (Tutorials, Documentation, and Programmer)
    NeoCodex.us
    2005 - 2008
    • Maintained and created PHP, MySQL, and AJAX modules and hooks for the IPB Board forum software.
    • Created bots to automate tasks in VB6 and then JavaScript as Firefox add-ons.
    • Wrote tutorials and documentation on writing macros with Firefox add-ons in JavaScript.
    • Led, as one of 3 administrators, a staff of 12 to moderate a community of 5,000 members.
    • Helped to create bots to crawl and catalog a database of items along with their selling prices (for a specific site dealing with a virtual world). Then helped create a desktop application to use that database to purchase and sell those items in the virtual world.
    Technologies: JavaScript (jQuery Library and Prototype), PHP, MySQL, IP.Board, Visual Basic 6.0
Experience
  • NativeShot (Development)
    https://addons.mozilla.org/en-US/firefox/addon/nativeshot/

    A Firefox add-on to take screenshot of multi-monitor setups.

    1) Uses js-ctypes (FFI) to tap into C/C++/Objective-C platform APIs to access platform global hotkey registration, and screenshot bitmaps. (WinAPI, Carbon, CoreFoundation, Cocoa, X11/XCB.)

    2) Uses React (with setState state management) for the dashboard GUI and canvas graphic editor.

    3) Uses REST APIs of Google Drive, Dropbox, Imgur, Twitter, and Facebook for screenshot cloud upload options.

  • jscFileWatcher (Development)
    https://github.com/Noitidart/jscFileWatcher/

    A cross-platform file directory watcher module in JavaScript.

    1) Uses js-ctypes (FFI) to tap into platform APIs to watch file directories.

    2) Abstracted platform nuances from consuming developers it into a git submodule.

    3) Heavy lifting is done off the main thread in a WebWorker.

    4) Platform details:
    + Windows - Uses ReadDirectoryChangesW with the completion routine async approach.

    + macOS - Uses FSEvents 10.7+ design. Considered but decided against: kevent64, kevent.

    + Unix-based/GTK+ - Uses inotify if available, otherwise it falls back to GTK's GioFileMonitor. GTK is guaranteed as jscFileWatcher is designed for Firefox, a GTK+ application. Considered but decided against: kqueue, FEN (Solaris), kevent (FreeBSD).

    + Android - inotify (inode notify).

  • MLINK (Development)
    http://mlink.sundayschoolonline.org/

    A full-stack application (website) mimicking a combination of Yelp, Craig's List, and LinkedIn for a small community. Expected go live date: May 2017.

    1) Front-End - React, React Router v4, and Redux.

    2) Back-End - PHP and MySQL.

    * Mobile version in React Native is in the very early stages for iOS/Android.

  • Trigger (Development)

    A cross-browser extension using native binaries to enable user to tie browser Userscripts to global platform hotkeys.

    1) Uses Redux, React, and React Router v3 for GUI.

    2) Uses C, C++, and Objective-C for the binaries.

    3) Communication between extension and binary is done via the Native Messaging feature of the WebExtensions API.

    4) Platform specifics:
    + Unix-based - Uses XCB main even loop and xcb_grab_key, which is thread safe version of X11's XGrabKey.

    + macOS - Binary not yet released. Uses Carbon's RegisterEventHotKey as Apple has not yet provided a suitable replacement in Cocoa. However Cocoa is used to run the main application event loop.

    + Windows - Instead of using WinAPI's RegisterHotKey a low-level keyboard hook (SetWindowsHookEx) was used. This is due to the former being keyboard manufacturer dependent for some special keys (media keys, etc).

Skills
  • Languages
    XUL, CSS3, HTML5, JavaScript, PHP, CSS, SQL, Visual Basic for Applications (VBA), Sass, GraphQL, C++, Objective-C, Java, Less, Visual Basic 6 (VB6)
  • Libraries/APIs
    Dropbox API, React.js, React-redux, React Router, Imgur API, Twitter API, Google Drive API, Gfycat API, YouTube API, Facebook Open Graph API, JS-CTypes, jQuery, Bing Maps API, Carbon, Win32 API, WinAPI, Node.js, WebRTC
  • Tools
    Babel, GitHub, Gulp.js, NPM, Git, Webpack, Webpack 2
  • Paradigms
    REST, Functional Programming, Object-oriented Programming (OOP)
  • Other
    XPCOM, Web Extensions, Firefox Extensions, Foreign Function Interfaces (FFI), Edge Extensions, Opera Extensions, Chrome Extensions, CSS3 Animation, COM
  • Frameworks
    Graphcool, AngularJS, OAuth2, React Native, Electron.js, PhoneGap, Cordova, Redux, Cocoa, Core Foundation, Android SDK, Bootstrap 3, JNI, Skel
  • Storage
    MySQL, PHP Data Objects (PDO)
Education
  • Master of Science in Materials Science & Engineering
    San Jose State University - San Jose, CA, USA
    2012 - 2015
  • Bachelor of Science in Chemical Engineering
    University of California, Riverside - Riverside, CA, USA
    2005 - 2010
Hire the top 3% of freelance developers
I really like this profile
Share it with others