Scroll To View More
Michael Hays, Software Developer in Dallas, TX, United States
Michael Hays

Software Developer in Dallas, TX, United States

Member since March 3, 2019
Michael has been freelancing professionally for four years. He builds applications primarily for startups, and small businesses, and has a deep entrepreneurial spirit. He enjoys thinking through the business logic, and high-level architecture of an application, as well as buckling down, and coding for twelve hours straight. Michael has consulted for two Norwegian start-ups, and has the experience to be an extremely effective remote team member.
Michael is now available for hire

Portfolio

Experience

  • Python, 5 years
  • JavaScript, 5 years
  • Django, 4 years
  • Vue.js, 2 years
Dallas, TX, United States

Availability

Part-time

Preferred Environment

Linux, VS Code, GitHub

The most amazing...

...FOSS project I have built was a review management system for a major MOOC provider.

Employment

  • Lead Developer

    2018 - PRESENT
    Banduro, AS
    • Led the development of a Norwegian chatbot management platform.
    • Designed a conversational data model to allow for arbitrary functionality to be executed at certain points in the chat.
    • Built an intuitive dashboard to allow non-technical users to create complex chatbots with ease.
    • Deployed the back end, and custom NLP vector spaces on GKE.
    • Integrated, and managed customer payments using Stripe.
    Technologies: Django, Vue, Postgres, GCP, Kubernetes, Firebase
  • Chief Technology Officer, President

    2016 - PRESENT
    Awesome Power, Inc.
    • Developed a website to calculate the cheapest retail electric provider for Texas consumers based on their electricity usage data.
    • Collaborated with the Public Utility Commission of Texas to improve the state website for energy data access, Smart Meter Texas.
    • Integrated with the Smart Meter Texas API to manage user profiles on the site.
    • Built a predictive model for future electricity usage using a scikit-learn RandomForestRegressor.
    • Presented our findings on the inefficiencies in the electricity market to energy clubs, and organizations.
    Technologies: Django, Postgres, Heroku
  • Lead Developer

    2018 - 2019
    Off Market, AS
    • Developed the back end for a PropTech mobile app to connect potential buyers to potential sellers of residential real estate.
    • Directed a technical team across three time zones; United States, Oslo, Sweden, and Novosibirsk, Russia.
    • Monitored, and instructed the React Native integration with the back end API.
    • Worked directly with a web design agency to build a property preview for those without the mobile app.
    • Converted Webflow code into Native Vue code, adding transitions, and animations.
    Technologies: Django, Vue, Postgres, GCP, Kubernetes, Firebase
  • Code Mentor

    2015 - 2017
    Udacity, Inc.
    • Reviewed student submissions for program correctness, and code styling.
    • Built a Chrome extension which allowed reviewers to automatically assign projects to their review queue when available.
    • Collaborated with the community to improve the reviewing process, and remove inefficiencies by integrating a tool for pre-written content injection.
    Technologies: Python, JavaScript, HTML, CSS

Experience

  • Chatbot Logic Injection (Development)
    https://banduro.ai/js/iframe.esnext.js

    Banduro is a chatbot management platform which allows non-technical users to create their own chatbots, and deploys them on their business webpage.

    I designed an "injection" process, which allows a chatbot to be dynamically loaded into an iframe in the user's website.

    To make this work, the user needs to copy and paste two <script> elements to the webpage where the chatbot would run: One <script> with the ID of the chatbot, and another <script> with the logic to load that particular chatbot (linked above).

    The business webpage, and the iframe communicate through the window.postMessage API, which allows each to know 1) when the chatbot iframe DOM element has loaded, 2) when the chatbot data model has been injected into the iframe, and 3) when the user opens or closes the chatbot.

  • UrPlus (Development)
    https://github.com/blurdylan/urplus

    urPlus is a collection of tools to enhance the Udacity reviewer and mentor experience, including integrated remark storage, and retrieval.

    I initially created the tool for my own personal use, but later released it publicly under the GPL-3.0 when I realized how useful it could be to the Udacity review community.

    Within one month, the Chrome extension had over 120 downloads, which accounted for nearly 1/3 of all reviewers. In 2017, I moved on from the reviewing community, and transferred the project to another reviewer. I am still incredibly proud of how much it continues to help my fellow reviewers.

  • Smart Meter Texas Contested Case (Other amazing things)
    https://interchange.puc.texas.gov/Documents/47472_63_958800.PDF

    In 2017, I was involved in a contested case over the business requirements of Smart Meter Texas (SMT), which is a website used to store, and retrieve energy usage data for Texas consumers.

    Awesome Power Texas, which is a small business I began building in 2016, uses the data from SMT to determine the ideal electricity plan for Texas consumers through a predictive usage model.

    End users and third parties were having trouble navigating the SMT web portal as well as initiating data access agreements, so the Public Utility Commission of Texas launched a contested case to improve the platform.

    I participated by submitting a proposal on how to redesign pieces of the application at a high-level, in ways which would ease the registration, and third-party integration process. In particular, I designed a better authentication system, which involved a secret key delivered to each energy consumer, and provided the security mechanism, which was absent in the original website.

  • Power to Choose Plan Term Collection (Development)
    https://gist.github.com/michaelhays/9a58dde8d772327266ef8a60192ba345

    Power to Choose is the state-run website for choosing an electricity plan in Texas. One major shortcoming of the website is that it only shows the expected cost for each plan at three cutoff points: 500 kWh, 1,000 kWh, and 2,000 kWh.

    This means that the vast majority of the plan terms are unknowable without looking through every Electricity Facts Label (EFL) directly, of which there are hundreds. My website, Awesome Power Texas, collects the EFLs from Power to Choose, analyses the PDF text (either directly or through OCR), and creates a model of the entire range of the plan.

    This is necessary to calculate the expected plan cost for a particular user, using their actual historical usage data. To store the information ascertained from the EFLs, I mapped each plan as a piece-wise function of charges (flat fees), and rates (applied per kWh), and stored this information as a nested array in our Postgres database.

    The attached code demonstrates how we use that information to calculate the plan's cost at any usage level, and not just the cutoffs provided by Power to Choose.

Skills

  • Languages

    Python, JavaScript, HTML, CSS
  • Frameworks

    Django, Django REST Framework
  • Platforms

    Linux, Google Cloud Platform (GCP), Amazon Web Services (AWS), Heroku, Kubernetes, Docker
  • Other

    Software Development, Firebase Hosting
  • Libraries/APIs

    Vue.js
  • Tools

    Git, Postman, CircleCI
  • Storage

    PostgreSQL, MySQL, Redis

Education

  • Bachelor's degree of Science in Mechanical Engineering
    2011 - 2016
    The University of Texas at Austin - Austin, TX
I really like this profile
Share it with others