heyo, I'm

Ethan Callanan

Researcher. Developer. Student.

Some Things I'm Proud of:

4.12 / 4.30GPA
1Research paper
Self-hostedOn a raspberry pi

About Me

image of myself

There's always a better way.

I love solving problems and I'm always looking for my next challenge. My passion inspires me to constantly improve my skills and knowledge.

Studies (Queen's University): computer science, artificial intelligence, neuroscience, math & statistics, biopsychology, philosophy, and finance

Professional experience (internships): AI research, translating research into applications, and web development

Extracurricular experience (QMIND): applying AI knowledge to real-world problems, managing large and small teams, and time management

I believe that there is always a better way to do things, which has led me down the rabbit hole of Arch Linux and Neovim. I continuously power up my setup through clever scripts and configuration, some of which can be found in my projects below. I have applied these skills to write automated marking scripts for the courses I TA, which have now become the standard way of marking the relevant tests and assignments going forward.

Read more... Last summer, I co-authored a comprehensive library for action model acquisition and state-trace generation at the Mu Lab. It was an incredible intellectual challenge implementing complex theoretical algorithms straight from research papers and designing an intuitive API to house it all. I will continue to be a core maintainer of the library, and with a community of over 300 researchers anticipating the release, I hope to see it become the "Hugging Face" of automated planning!

At QMIND, Canada's largest undergraduate AI organization, I've gone from rejected to team lead to my current position as Director of Design.

After being rejected in my freshman year, I dedicated my free time the following summer to learn as much as I could about AI and machine learning. When I returned to school next semester, I applied for both general team member and team lead, thinking I may as well shoot for the moon. Little did I know I would be hired to the lead role! My team completed a project exploring the use of computer vision for human attention detection, which we presented at CUCAI 2021. I went on to author an award-winning technical paper on our work, published through the CUCAI Conference Proceedings.

As Director of Design, I spent the summer working with my project managers to plan this year's design projects and acquire clients, working with the other Directors to plan the Design division's operations for this year, and creating technical training resources to teach new members about various machine learning concepts and algorithms. Now that the school year is well underway I am directly overseeing 6 projects, 5 of which are client-facing, which involves holding regular meetings with the PMs to stay up-to-date on their progress and challenges, and providing technical guidance to ensure the projects are completed on time.

PythonTypescript/JavascriptMATLABCSQLNumpyPandasPyTorchTensorflow(Arch) LinuxNeovimScripting

Projects

Virtual Assistant Attention Detection

Virtual Assistant Attention Detection

As a team lead at QMIND, I developed computer vision models for face detection and attention classification. I led my team to build a custom virtual assistant and a frontend application to use the models as the activation mechanism for the assistant.


The vision-based activation mechanism creates a more natural interaction between the user and the assistant, allowing you to interact by simply directing your attention towards the camera and speaking to it. The face detector achieved a sensitivity (true positive rate) of 95.04%, and the attention classifier achieved an accuracy of 97.2%.

PythonPyTorchTorchvisionOpenCVNumpyCNNMTCNN
MAcq: The Model Acquisition Toolkit

MAcq: The Model Acquisition Toolkit

Anticipated by a community of over 300 researchers in the field of automated planning, and is the first of its kind, this library fulfills a similar niche to Hugging Face (in NLP) and we hope to make it just as ubiquitous in its field.


This library is a collection of tools for planning-like action model acquisition from state trace data. It contains a reimplementation from many existing works, and generalizes some of them to new settings.

PythonBauhausPDDLLogicAutomated PlanningApplied ResearchOpen Source
Neural Networks From Scratch

Neural Networks From Scratch

A collection of various neural networks I've implemented in pure python + numpy / pytorch tensors.

Each network is implemented using only matrices/tensors and math, including the activation functions, loss functions, and weight updates.

*Pytorch is used as a numpy wrapper for GPU utilization.

pythonnumpypytorchmatplotliblinear algebraaiml
Dotfiles

Dotfiles

My never-ending project: customizing and improving my system.

My setup is tailored to me, allowing me to fly through the shell, edit configs and code efficiently, launch programs and manage windows from the keyboard, and so much more.

Go checkout my custom keyboard layout (code-dvorak) or some of my awesome little scripts!

I use Arch BTW

Arch LinuxHaskell (xmonad)neovimpolybarX11zsh / bash / fish / xonshtmuxalacritty / kittyscripts
RYPM Web-app

RYPM Web-app

I worked with a small team to develop a web-app to modernize the client interactions and internal operations for Royal York Property Management. The app provides an interactive map of RYPM's available properties for prospective tenants to find a property. We also built out the framework for the app to handle maintenance and other requests for tenants, showings and client relations for agents, and a complete customized replacement for their CRM.

Typescript/JavascriptReactGraphQLMySQLNode.jsApollo Server/ClientAWSDocker
More Projects

Contact Details

E-Mail
ethan@ecal.dev
Phone
289-828-0702
© 2022 Ethan Callanan