Will McCall

Chat with my hiring advocate bot!


About me


As a senior at Dartmouth College, majoring in Computer Science and minoring in Human Centered Design, I am currently the Automations Lead for the in the DALI lab and a former full stack web development intern for Canopy. I am also the Tech lead for DartMart, a food delivery app for rural college campuses, with over 1000 users at Dartmouth College.

X

I have always had a curious, creative, and entrepreneurial spirit and a passion for technology. Growing up, I developed an interest in STEAM while volunteering as a 3D printer coach in the Westport Library MakerSpace.

X

These interests led me to pursue a degree in Computer Science at Dartmouth College, where I joined the Entrepreneurship Living Community, and began working for the Dartmouth Computer Science Department as a TA, helping college and graduate students learn Object Oriented Programming, Data Structures, and Web Development. Using concepts from these classes, I implemented a prediction market trading bot, which identifies arbitrage opportunities in multi contract prediction markets with low liquidity, and is available on GitHub.

X

I then joined the Contextual Dynamics Lab (PI: Dr. Jeremy Manning) as a Presidential Research Scholar studying parallels between neural activity and stock market dynamics. Working with NumPy and Pandas, I helped create a PCA model for dimensionality reduction on stock market data and subsequently analyze the predictive value of high order price correlations, with the end goal of building a trading AI.

X

This fall, I joined Canopy, As a Software engineering intern for the fall, where I helped to improve the User Interface Design through designing an implementing changes to the code base. My other interests include Financial Technology, Full Stack Development, Machine Learning, 3D printing, Virtual Reality, and UI/UX design, and am currently looking to apply myself in one of these disciplines in an Internship for the Summer of 2022.

Programming & web development
Java
Python
JavaScript
HTML
CSS
Shell
TeX/LaTeX
Jekyll
Development tools
Git/GitHub
Conda
Jupyter/IPython/ Colaboratory
Python packaging
Data analysis & visualization
SciPy
NumPy
Pandas
Matplotlib
Non-technical
Maya
Spanish
Writing
Public speaking
Organizational leadership

Software


I also develop and maintain software on Github in addition to contributing to open source projects.

PredictBot

# Inventor, Developer

PredictBot is a personal project that Identifies arbitrage opportunities in the Political prediction market PredictIt. Using negative risk, it identifies opportunities to hedge against all possible market outcomes, and thus guarentee a profit. FullMarketAccess is a Java class which parses the PredictIt Market API for price information, loading it into internal Market objects which are composed of Contract objects. It then runs a series of simple tests to determine if a Market can be arbitraged. For more on how it works, see the github repo README file. Currently, the most practical way to find arbitrage on Predictit is to examine the sum of “no” prices in large contract markets. In a given market in which one outcome must happen, the sum of all “yes” should add to 100%, implying that sum of all “no” should be (n-1) (100%) where n is the number of contracts in the market. By calculating this value for all Markets, PredictBot identifies when the true sum of “no” prices are less than (n-1) * (100), and returns the market to the user if it is. As an example, If (n-1)100 = 400, and the true market value is 3.96, this presents an opportunity to buy $4 for the price of $3.96.

Tiny Search Engine

# Developer

The Tiny Search Engine Crawls and Indexes webpages, and handles user Queries for relevant information. It was designed and implemented in C with a special emphasis on modularity. The crawler crawls a website and retrieves webpages starting with a specified URL. It parses the initial webpage, extracts any embedded URLs and retrieves those pages, and crawls the pages found at those URLs, but limits itself to maxDepth hops from the seed URL and to URLs that are ‘internal’ to the designated CS50 server. When the crawler process is complete, the indexing of the collected documents can begin. The index module is designed to take as input a page directory and index file name in the format ./index pagedirectory indexfilename This module then outputs the data to indexfilename where each line of the file contains data about word frequency in the form word docID count [docID count].... querier.c is activated by the command ./querier directory indexfile after it is made using make. It is designed to execute from a command line with usage syntax ./querier pageDirectory indexFilename where pageDirectory is the pathname of a directory produced by the Crawler, and *where indexFilename is the pathname of a file produced by the Indexer.

Sudoku Solver

# Developer

Sudoku is well known logic puzzle where numbers between 1 and 9 are placed on a 9x9 grid of cells. This module is capable of randomly generating and returning a sudoku board with just 1 unique solution to be solved. It is also capable of completely solving a given 9x9 sudoku board if a solution exists. To build this module run command make. For representative test cases, run make test. To make a new random sudoku puzzle, run ./creator [filename] which writes a randomly generated and formatted sudoku puzzle to output file [filename]. To solve a given sudoku puzzle, run ./solver [fileinput] [fileoutput].

stockprophet

# Developer, Researcher

The goal of StockProphet is to understand the complex dynamics of interaction in financial markets. This undertaking comprises four major projects; Data curation, feature generation, trading strategies, and backtesting.

Contexual Dynamics Lab Manual.

# maintainer

lab manual and source code for the Contextual Dynamics Lab (PI: Jeremy Mannning). A publicly Shared GitHub repo designed to help onboard In addition to lab policies and practices, it contains useful guides for tools and techniques frequently used in the CDL, as well as serves as the lab’s on-boarding platform for new members. We’ve chosen to share it publicly in the hopes that others may find its format, content, or philosophy useful, or offer us feedback on how to improve.


… and also this website!

Projects


In addtion to writing code, I love to create projects related to 3D modelling, UI/UX, and Math education. Here are some examples of my work:

X

The Beautiful checkerboard tiling problem.

Designed as a gentle introduction to Induction for Discreet Math students, this project and helped me solidify animation skills, while deepening my understanding of Discreet Math. This project was selected as a finalist in the first-ever 3Blue1Brown Summer of Math exposition Competition. It was selected from over 1500 entries, and received personal recognition from Grant Sanderson. It was designed and animated in Maya.

X

Remote Control Haptic Feedback Glove

Implemented using C++, this project aimed to give the user the ability to remotely control a robotic hand and gather haptic data about the object being interacted with. This project has potential applications in Virtual Reality, missions to other Planets, and rescue operations in dangerous areas for human beings.

X

Conic Sections and 4D parametrics

Conic Sections are at the heart of a surprising number of everyday phenomena, ranging from Newtonian Motion to 4D parametrics. In this project, I took inspiration from the book Flatland to create a simulated world full of cones, and used them to explain a number of interesting mathematical facts all tied together through the lense of better understanding the cone. modelled in Sketchup.

X

Camera Rocket Projectiles

Designed custom camera housing to launch cameras out of a potato cannon.

X

Animation and 3D modelling portfolio

Rendering and Animations done in Maya.

X

UI/UX prototype

Designed a User Interface prototype for an application to bridge the gap between generations by facilitating an exchange of ideas over a shared meal.

X

The Beautiful checkerboard tiling problem.

Designed as a gentle introduction to Induction for Discreet Math students, this project and helped me solidify animation skills, while deepening my understanding of Discreet Math. This project was selected as a finalist in the first-ever 3Blue1Brown Summer of Math exposition Competition. It was selected from over 1500 entries, and received personal recognition from Grant Sanderson. It was designed and animated in Maya.

X

Remote Control Haptic Feedback Glove

Implemented using C++, this project aimed to give the user the ability to remotely control a robotic hand and gather haptic data about the object being interacted with. This project has potential applications in Virtual Reality, missions to other Planets, and rescue operations in dangerous areas for human beings.

X

Conic Sections and 4D parametrics

Conic Sections are at the heart of a surprising number of everyday phenomena, ranging from Newtonian Motion to 4D parametrics. In this project, I took inspiration from the book Flatland to create a simulated world full of cones, and used them to explain a number of interesting mathematical facts all tied together through the lense of better understanding the cone. modelled in Sketchup.

X

Camera Rocket Projectiles

Designed custom camera housing to launch cameras out of a potato cannon.

X

Animation and 3D modelling portfolio

Rendering and Animations done in Maya.

X

UI/UX prototype

Designed a User Interface prototype for an application to bridge the gap between generations by facilitating an exchange of ideas over a shared meal.

Get in touch


Contact info

william.l.mccall.23@dartmouth.edu

3225 Hinman @ Dartmouth College, Hanover, NH, 03755-4055

Where am I?