cjloewen.ca

What I know

  1. Android (Java & Kotlin)
    Expert

    Agra-GPS for Android is my most extensive Android app.

    • Components are split into fragments.
    • Receiver communication is performed using a bindable service with Bluetooth Low Energy serial communication.
    • NTRIP communication is performed by a bindable service that uses OkHTTP.
    OkHTTP was modified to add support for NTRIP with associated tests. Now it is being progressively converted and optimized for use with Kotlin in an effort to modernize the codebase.
    During my time at Nait, I made over 20 small apps demonstrating various Android features.

  2. Hyper-Text Markup Language (HTML)
    Expert

    HTML is the language of the internet used by all websites. It is my strong belief that if a website has bad markup, every other aspect of the business suffers. All of my websites are built mobile-first with modern HTML5 syntax intended to be both backwards and forwards compatible. This ensures your customers get the best experience possible, increasing customer retention and sales into the far future.

  3. C++
    Expert

    C++ is used to design half of the Agra-GPS iOS app alongside Objective-C++ using the Qt framework. Along with small portions of the Android version.

  4. Javascript (server)
    Expert

    Used extensively through Node.js to:

    • Automate transpiling and deploying this website:
      • Tanspiling client scripts to improve performance and compatibility.
      • Converting images to newer formats that show faster on newer machines.
      • Combining and compressing files for even faster load times.
      Provide and generate mock test data for Agra-GPS apps to assure product quality.
    • Transpiling client scripts for SpecialtyJets.ca to improve compatibility and performance.
    • Run RDB, a Discord chat bot that assists and entertains Roblox community members.

  5. Javascript (browser)
    Expert

    All of my recent designs are built on the principal of responsive design from the top down and that includes Javascript. Both this and SpecialtyJets.ca use modern non-blocking ES6 scripts when available to enhance the user experience with non-intrusive features and improvements. Examples For this website:

    • Loading other sections of this website without disrupting your experience.
    For specialty jets:
    • Assisting the user in filtering the catalog.
    • Loading and displaying products to increase perceived responsiveness.
    • Pre-validating form input to reduce customer wait times.
    • Assisting employees of a previously paper-based company in adding new products and inviting customers.

  6. Lua
    Expert

    Lua is a fast, extensible scripting language used to extend existing applications. The interface is first written in C. I will typically use Lua in hobby projects. The most extensive modern use case was to automate common music organization tasks with Aimp. Lua is most well known for its use in Roblox. In my spare time I like to make games and started with Roblox. Although I no longer make games with Roblox, I do still assist new developers with their games through help channels.

  7. Server Query Language (SQL)
    Intermediate

    In modern software, SQL rarely needs to be written from scratch. Regardless, it can be useful in improving performance, advanced queries for information, analytics and generating reports. An example of a use case was ranking and filtering products in the Specialty Jets catalog.

  8. iOS (Objective-C++ & Swift)
    Intermediate

    Objective-C is used alongside C++ to provide native functionality for the Agra-GPS iOS app. This includes:

    • A background mode to send GPS data while the app is closed.
    • Managing the receiver connection.
    • Notifications for various events.

  9. Flutter
    Intermediate

    Used Flutter to create the Reactive Healing app. This app was used by Reactive Healing as marketing material for their start-up.

  10. React
    Intermediate

    I have taken multiple paid courses and made practice React applications to better match the needs of future clients. Created a demo app to see if we should use it for Capstone.

  11. Cascading Style Sheet (CSS)
    Intermediate

    All of my websites use modern, hand made, multi-disciplinary design practices and methodologies intended to attract and keep customers. After HTML, CSS is my second most important tool to achieve this.

  12. Crystal
    Novice

    Crystal promises to be as fast as C++ while being easier (faster) to write and maintain. I'm interested in using it in production, but am waiting on broader support.

  13. Python
    Novice

    A lot of the languages my games use are loosely based on Python. I'm interested in using it more frequently, but lack use cases currently.

Legend

  1. Expert - Can immediately start using in new and existing projects.
  2. Intermediate - Used in previous projects, may need to time to relearn.
  3. Novice - Will likely need to take a course or review educational material before use.
A forested cliff in Athabasca Falls.