Scroll To View More
Yasir Ali, CSS Developer in Irvine, CA, United States
Yasir Ali

CSS Developer in 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

Experience

  • CSS, 10 years
  • JavaScript, 10 years
  • React, 2 years
  • Redux, 1 year
  • Web Extensions, 1 year
  • Electron.js, 1 year
  • React Native, 1 year
  • React Router, 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

  • Front-end Engineer

    2018 - PRESENT
    Amazon Web Services (AWS)
    • Worked on console development and operations for EC2 management services.
    • Handled on-call operations for microservices.
    • Worked within an Agile framework including Scrumban with standups, sprints, and a Kanban board.
    Technologies: TypeScript, Java
  • Freelance Mobile Engineer

    2017 - 2018
    Trusted Family (via Toptal)
    • Developed a social networking app (Android); learned the nuances of Android development with React Native.
    • Implemented push notifications (OneSignal), two-factor authentication, media playback (video, audio), and media capturing (camera including video and photos).
    • Handled the design work (UX/UI) using Google Material Framework.
    Technologies: React Native, Redux-saga, React Navigation, Redux Form, Flow, Android
  • Freelance Mobile Engineer

    2017 - 2017
    Traede (via Toptal)
    • 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: iOS, React Native, Flow, Immutable.js, Redux Offline, Redux
  • AMO Editor

    2015 - 2017
    Mozilla
    • 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

    2015 - 2015
    Tigo
    • 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

    2011 - 2015
    Open Source
    • 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)

    2005 - 2008
    NeoCodex.us
    • 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 three 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)

    A Firefox add-on to take a 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).

  • Trigger (Development)

    A cross-browser extension using native binaries to enable the 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 and so on).

Skills

  • Languages

    CSS3, XUL, JavaScript, HTML5, CSS, PHP, SQL, Visual Basic for Applications (VBA), Visual Basic 6 (VB6), Less, GraphQL, Sass, Java, C++, Objective-C, TypeScript
  • Libraries/APIs

    Imgur API, Twitter API, Dropbox API, React Router, React, React Redux, Google Drive API, Gfycat API, YouTube API, Facebook Open Graph API, JS-CTypes, jQuery, Bing Maps API, WebRTC, Win32 API, WinAPI, Carbon, Node.js, Redux-saga, React Navigation, Redux Form
  • Tools

    Babel, Gulp.js, GitHub, Git, Webpack, NPM, Flow, OneSignal
  • Paradigms

    REST, Functional Programming, Object-oriented Programming (OOP), Prototype-based OOP
  • Other

    Firefox Extensions, Foreign Function Interfaces (FFI), XPCOM, Web Extensions, Opera Extensions, Edge Extensions, Chrome Extensions, CSS3 Animation, COM
  • Frameworks

    Graphcool, OAuth 2, React Native, Electron.js, Redux, PhoneGap, Cordova, AngularJS, Sails.js, Skel, Bootstrap 3, Core Foundation, Cocoa, JNI, Android SDK, Laravel 5
  • Storage

    MySQL, PHP Data Objects (PDO)

Education

  • Master of Science in Materials Science & Engineering
    2012 - 2015
    San Jose State University - San Jose, CA, USA
  • Bachelor of Science in Chemical Engineering
    2005 - 2010
    University of California, Riverside - Riverside, CA, USA
I really like this profile
Share it with others