Ian Cropper

i make internets

DEVeloper, tutor, Conversationalist


I've been in this industry for 8 years now. I'm a polyglot with a particular passion and familiarity with JavaScript. I love it because of it's multi-paradigm flexibility and the community surrounding it. My years of experience have a foundation of theory and fundamentals from my degree in computer science, so when I code, I'm not slapping copied code from StackOverflow together and calling it good.

I believe in the use of patterns, code reviews, mentorship, well-researched 3rd-party libraries, the persistent pursuit of knowledge, good music to code to, good culture within teams, and that a 10 minute walk will solve nearly every problem (coding or otherwise).


MapLarge LLC
Front-End Developer


September 2016 - Present

  • Fully remote position that required self-discipline and initiative to communicate with team members across the country and deliver results.

  • Reduced potential bugs in our data-bound proprietary front-end framework by increasing type dependencies and building automated testing pages.

  • Managed a team of developers in a timezone 11 hours away to build out a modernized refresh of our proprietary suite of components.

  • Built out a style/usage guide for our internal developers to better familiarize them with our framework and speed up the on-boarding process.

  • Added features and debugged several client projects including Shell, UPS, and the military.

Programming tutor

September 2016 - Present

  • When I was learning how to code, I always appreciated someone who was willing to sit down for a bit and walk through concepts I wasn't understanding. Years later, I know I'm a good programmer and I like teaching so I decided to advertise myself as a programming tutor to help people who have the drive but lack the support.

  • I tutor several students across the front-range. The majority of students come from coding boot camps and are needing someone to explain the concepts they cover from class a little slower.

  • I've helped tutor students with JavaScript, Angular, D3.js, Node.js, Python, Java, environment and machine setup/configuration, Mac issues, PC issues, admin issues, as well as general programming concepts such as functional vs object-oriented programming, let vs const vs var, closures, scope, algorithms and data structures, BigO and time-complexity, etc....


Full stack Developer

November 2016 - September 2017

  • Built fully functional Feature Toggle service and Feature toggle client as a NuGet package from scratch to implement dark launches and speed up release time. This allowed us to speed up our release schedule by weeks by only releasing new features to a subset of users.

  • Resolve bugs as they come in from users and push fixes to prod

  • Agile workflow

Markit On Demand
Web Developer

June 2013 - November 2016

  • Tech-Lead for multiple projects including new builds, site additions, and redesigns requiring skills in managing people, mitigating time-loss, and creating estimates on top of writing the code

  • In charge of organizing team tech presentations to discuss the advantages or issues with new technologies on the horizon that may prove useful to implement into our process

  • Tech Lead for multiple projects including new builds, site additions, and redesigns requiring skills in management, mitigating time-loss, creating estimates, on top of writing the code

  • Build sites that get thousands of hits per day and some that process millions of dollars requiring carefully implemented code scalable code and error handling

  • Routinely deliver projects on time, the most recent being scheduled for 12 weeks and was finished 3 weeks early

  • Promoted to Assistant Vice-President


April 2012 – Sept 2012

  • Pushed several significant milestone updates that fixed bugs increased functionality

  • In charge of debugging / updating the official “Yellow Pages” and “White and Yellow Pages” app for Android

  • Migrated the White and Yellow Pages app code from one environment to another requiring both code and config updates.

  • Built in many new RESTful calls to the backend API.

Brigham Young University
Web Developer

November 2011 – April 2013

  • Developed an accountability web-site / system for managers

  • Helped implement Agile as a workflow

  • Primarily focused on front-end development with jQuery, JavaScript, HTML, and Angular



  • JavaScript (ECMA 6)

  • NodeJS

  • TypeScript

  • jQuery

  • C#/.Net

  • SVN

  • HTML

  • CSS (LESS)

  • Social Media Integration

  • Git


  • Angular

  • D3

  • Machine Learning/Data Mining

  • Java

  • Python

  • SQL, Entity Framework

  • React

  • MongoDB

  • ReSharper


  • Scala

  • Android

  • Windows Phone

  • C++

  • SOAP


Brigham Young University

Bachelor of Science: Computer Science


  • Machine Learning and Data mining

  • Algorithm Analysis

  • Software Design and Testing

  • Graphics and Computer Animation

  • Data Structures

  • Artificial Intelligence

  • Computer Networking

  • Internet & Network Programming


Association for Computing Machinery (ACM) : Webmaster

  • Increased attendance in meetings from an average of 15 attendees to over 100

  • Organized logistics, problems, and prizes for several extramural coding competitions

  • Regularly participated in “weekend of code”, a group effort over weekends to use our coding ability for charity events including creating websites for non-profit organizations


Feature Toggle

I was asked to create a way in which my team could release into prod, changes to our apps without them being visible to the user. This was accomplished by creating a centralized UI and backend, and a client nuget package that would be included in our different apps. This allowed a developer, for example, to push code that depended on other teams into prod and later, use the UI to toggle the functionality on, once the dependent work was completed.

Since the project went live, we have drastically increased the frequency of our releases, and have done so without fear of customer dissatisfaction.

Tags: SQL, C#, JavaScript, Nuget, Linq, bootstrap, UX, IOC, Dependency Injection, Knockout

Trump Volume

I was curious one day to see how much press mentions trump was receiving, so I built a little app that scrapes and tracks the number of times "Trump" appears on the front page of 15 different news sites.

Tags: NodeJS, MongoDB, Scraping, High-Charts, JavaScript, Bootstrap


After the shooting in Roseburg, Oregon (just a 1.5 hour drive from where I grew up) I decided to create a website that streams tweets with gun-violence related hashtags, averages the count over 20 minutes and displays the number of tweets in a graph that helps people to see how quickly such tragedies are forgotten about.

Tags: NodeJS, MongoDB, TwitterAPI, JavaScript, Bootstrap, PureCSS, Web Sockets, Streaming


Created a site that gets loaded into Schwab's public facing site that collects basic user data and provides an estimated annuity payout amount. Or, the site can create an estimate of a deposit needed in order to obtain a specified monthly amount.

Tags: C#, SOAP, HTML, LESS, JavaScript, XML Parsing


A rudimentary attempt at predicting stock performance using real-time data from Twitter, news sources, and blogs. This program performs sentiment analysis on the text from the different data sources, compares it with current stock prices, stock price momentum using a Kalman-filter, and outputs a prediction of price direction and magnitude of change. I'm no Carl Icahn yet, but I'm getting there.

Tags: Machine Learning, Data Mining, Sentiment Analysis, Natural Language Processing, Twitter API, NodeJS, MongoDB, Financial Analysis


A video streaming app that allows users to geo-tag photos and video. The idea was to create a geographical network rather than a social network. Anyone can open up the app and see the riots in Baltimore, the beaches of Italy, or a political party's convention.

Tags: Java, MongoDB, NodeJS, Amazon SW3, Amazon Elastic Transcoder, JWPlayer API, AndroidSDK, Web Sockets


Simulates the delays and behaviors associated with sending data packets over the web. Network conditions considered were race conditions, packet loss, load, bandwidth, etc.... The program simulated the network layer and up.

Tags: Python, TCP, UDP, IP