Kim Wing Fung, Software Developer in Cambridge, United Kingdom
Kim Wing Fung

Software Developer in Cambridge, United Kingdom

Member since January 16, 2018
Kim is a software engineer with more than nine years of experience developing front ends, user interfaces, back ends, and tools for a wide range of applications including video games, augmented reality, mobile platforms, and web apps. He's worked with a wide range of programming languages including JavaScript, Python, Lua and C/C++ and software development approaches including Agile, Waterfall, and XP.
Kim is now available for hire

Portfolio

Experience

Location

Cambridge, United Kingdom

Availability

Part-time

Preferred Environment

Mac OS X, Visual Studio Code, JavaScript

The most amazing...

...thing I’ve done was to embed C-IoT firmware for indoor location tracking—used a full-stack REST API, Bluetooth signal tracking, test suites, & a modern web UI.

Employment

  • Director

    2017 - 2018
    Sesilio Limited
    • Designed, developed, and maintained a bespoke ticket sales and admittance system for events with more than 1,000 attendees; used Photoshop, AngularJS, and Sass.
    • Online food marketplace – completed a full web app design in Photoshop, implemented using React, NodeJS, Stripe and SASS and maintained meall.co.uk an e-commerce site for selling food on demand.
    • Designed and completed a full web app and maintained an eCommerce site for selling food on demand, Meall.co.uk; used Photoshop and the site was implemented using React.js, Node.js, and Stripe.
    Technologies: Node.js, Koa, React.js, Webpack, Sass
  • Senior Engineer

    2014 - 2017
    Cambridge Consultants Ltd
    • Designed, developed, and tested firmware for a Bluetooth Smart device used for indoor location tracking using RSSI signal strength and intelligent cloud-based algorithms. The firmware needed to work in a dense radio space with hundreds of other identical devices, reliably communicate with bespoke hub devices and required user interaction design for screen-less user feedback and accelerometer-based user input.
    • Developed bespoke Bluetooth Smart communications channels for managing reliable app and firmware data transfers between an iOS app and a Bluetooth Smart-based underground cable locating device; used a combination of Objective-C, JavaScript, and the Titanium framework.
    • Used Python, Panda3D, Blender, and Qt to produce a real-time data visualizer for a body movement detection material project.
    • Produced a prototype Android application for interfacing with both a Bluetooth Smart insulin pen and a Pebble smartwatch in order to visualize real-time data for a smart health application project; used Java, JavaScript, and Cordova.
    • Created a complete end-to-end system for managing workload planning amongst large divisional groups. This involved working in a small Agile team, building from the ground up, both the front-end and back-end design and implementation, setting up and working with continuous integration systems and deployment of production quality software. Technology stack was JavaScript, AngularJS, Python, and Django.
    • Worked closely with a user experience designer and using JavaScript, AngularJS, Java, and Eclipse to produce an Eclipse plugin for a Bluetooth Smart Profile creation wizard. This had an emphasis on ease of use and as a lead-in for developers working with Bluetooth Smart devices for the first time.
    • Used MATLAB, Python, and OpenCV and collaborated with user experience designers to create numerous data visualisations of audio source location data.
    • Worked in a large Agile team involving many user experience designers and used JavaScript, HTML5, Sass, AngularJS, and Protractor to build a user-friendly web application for controlling a cloud-based intelligent home heating system. Additionally, used React.js and Redux to create a visualization of a simulation of the intelligent home heating system.
    • Created a game application for a biosynthesis demonstration project; used JavaScript, React Native, and Objective-C.
    Technologies: C++, Bluetooth, Objective-C, JavaScript, Titanium, Python, Panda3D, QT, Java, Cordova, Android, AngularJS, Django, Eclipse, MATLAB, OpenCV, HTML5, Sass, Protractor, React.js, React Native, Redux
  • Senior Designer

    2013 - 2014
    Frontier Developments plc
    • Designed, implemented, and maintained user interfaces for two Android game applications.
    • Used highly object-oriented design patterns to effectively manage user interface software engineering.
    • Worked with artists, designers, and producers to create requirement specifications and work schedules.
    • Implemented custom GUI components in ActionScript and C++ for rapid prototyping of user interfaces.
    • Optimized, refactored, and standardized in-house UI frameworks using ActionScript and C++.
    • Mentored team members in effective software design and implementation.
    Technologies: C/C++, Lua, ActionScript, Scaleform
  • Programmer

    2008 - 2013
    Frontier Developments plc
    • Worked on projects from end to end to provide effective support for in-house user interface implementations.
    • Created requirement specifications and designed, developed, documented, and maintained a 3D GUI framework.
    • Used specialist profiling tools to determine software changes required to optimise animation performance issues.
    • Organized and effectively managed huge numbers of game resource files using numerous self-written tools.
    • Refactored and optimized game resource compilers working with both XML and binary resources.
    • Created tutorials, technical guides, and documentation for bespoke authoring tools.
    Technologies: C/C++, ActionScript, Lua, Scaleform

Experience

  • Meall (Development)

    An online food marketplace designed and implemented using the latest in web technologies. The back-end uses PostgreSQL, Docker, and Koa to provide secure user authentication and authorization. The front-end uses React.js, Sass, GraphQL, Apollo Client, and Redux to create an efficient, clear, and user-friendly user experience. The front-end uses a fully responsive design to allow for a seamless transition between mobile devices and traditional desktop computers.

  • Real-time Body Tracking (Development)
    https://www.cambridgeconsultants.com/press-releases/innovation-wearable-tech

    Using a combination of lasers, fiber optics, and clever algorithms, we produced an inexpensive body movement tracking fabric. I worked on the data visualization to show in real time, the body movements reported from the fabric. The data visualizer used Python, OpenCV, Panda3D, Blende,r and QT to create a pleasing and attractive presentation.

  • Smart Heating (Development)
    https://www.cambridgeconsultants.com/insights/exploring-new-ways-of-delivering-home-energy

    A large-scale project involving hundreds of homes looking into and researching the nature of comfort, energy costs and user experience. I was completely responsible for taking the front-end designs and implementing, supporting, testing, and updating them for use on a range of devices including Android tablets and Windows laptops. The front-end work used AngularJS and directly interacted via a REST API to the smart algorithm's back-end. The front-end had full code coverage, complete end-to-end testing, and both mocked and live integrated tests, all running on a continuous integration system.

  • Underground Asset Tracking (Development)
    http://www.utto.com/solutions/utto-underground-asset-mapping/#intro

    Underground asset tracking is a huge issue when it comes to such things as digging in the ground and trying to avoid hitting existing utilities. I worked on a universal mobile app which allows engineers to query and locate any underground cabling. The app initially targeted the iPad but was built with technologies which allowed for its subsequent port over to Android. The Titanium framework was used together with Java, Objective-C, and JavaScript to bring together all the essentials in connecting an iPad to a Bluetooth device and data visualizations for the assets via the Google Maps API.

  • Kinect Video Game UI (Development)
    https://www.frontier.co.uk/our-games/our-gameography/#zootycoon

    The Xbox video games system introduced a very novel method of interacting in video games. It used Kinect technology to allow the user to use their full body motion to play games. I worked on integrating and adapting user interfaces to better suit the use of this technology and allow a more intuitive and fun experience. The user interface was largely built using Scaleform, ActionScript, and Flash for the visual elements and C++ for lower level optimizations and communication.

Skills

  • Languages

    C, JavaScript, Haskell, GraphQL, Sass, Lua, ActionScript 3, C++, Python, Objective-C, ML Programming Language, Java, Swift, Kotlin
  • Libraries/APIs

    React, Node.js, OpenCV, Vue.js 2
  • Paradigms

    E2E Testing, Agile UX, Agile Software Development, Functional Programming
  • Frameworks

    Titanium, React Native, Redux, Django, AngularJS, Jasmine, Enyo, Koa, Yesod, Panda3D, Qt, TestCafe, Cordova, Protractor
  • Tools

    Cucumber, Mocha, Git, Xcode, Android Studio, Photoshop CC, Webpack 2
  • Platforms

    Eclipse, Windows, Docker, iOS, Linux, OS X, Android
  • Storage

    PostgreSQL
  • Other

    API Testing, Bluetooth, UX Testing

Education

  • Master's degree in Computer Science
    2000 - 2003
    University of Cambridge - Cambridge, UK

To view more profiles

Join Toptal
Share it with others