- I am a software developer at Unicon specializing in higher education user experience development.
- My speciality is creating engaging user expriences that are performant, maintainable, and accessible.
- I excel at creating rich data visualizations leveraging stable browser specs and libraries like D3.js and Three.js.
- Right now, I am enthralled with Cognitive Neuroscience, Network Neuroscience, Information Theory, and Machine Learning.
I'm a professional developer with over 10 years of programming experience and a background in Discrete Mathematics and Secondary Education.
- Unicon June 2010 - PresentUser Experience Developer Band III Lead the development of user experiences for client projects. Present to the UX developer group on relevant industry topics.
- Arizona State University June 2009 - June 2010Student Success Coordinator Hired, trained, and supervised tutors, residential staff, and instructors for multiple tutoring centers and as staff for a freshmen summer transition program.
- Crested Butte Academy May 2008 - May 2009Advanced Mathematics Instructor Developed and delivered mathematics curriculum for courses ranging from Algebra to AP Calculus. Provided mentorship for a subset of the students and supported students by supervision in the dormitories and by organizing trips.
The majority of my work is done for clients and the work remains their property, but here are a few fun side projects worth sharing:
- Grasp Theory Re-imagining the personal content management system. Graph databases and unique user experiences help users see and feel additional information burried in the underlying graph associated with their content.
- Perlin Noise Terrain Generation Interactive demo of how Perlin noise can be used to generate rich 3D terrain.
- Arizona Academy of Pediatric Dentists AZAPD Wordpress website. Created custom admin interfaces for managing member doctors and office locations. Added custom maps and search interfaces.
- Radial Animation library for radial based shapes and logos using SVG and D3.js extensions.
Client Side Technology
- HTML 5
- CSS 3
Client Side Frameworks
Client Side Libraries
- LESS pre-processor
- SASS pre-processor
- Bootstrap 3.x, 4.x
Web Server Technology
- NodeJS / Express
- Java & Spring Boot
- Apache Spark
- MySQL / Postgres
- Linux / Command Line
Amazon Web Services (AWS)
- API Gateway
- Dynamo DB
- Arizona State University 2008MA Discrete Mathematics Specialization in Graph Theory and Algebra.
- Arizona State University 2006BA Secondary Education Mathematics Received certificate to teach in Arizona.
- How to Make Memorable Mountains with Perlin Noise May 2018 - Medium
Explaining the use of Perlin noise to create terrain that provides good user experience in a 3D envionrment.
- Are You Intuitive? Challenge My Machine January 2017 - Hackernoon
This is a description of successfully training a neural network that can beat Mechanical Turk human participants in a classification task.
- How to Google Your Own Brain September 2016 - Neo4J Guest Blog
Creating a CMS with Neo4j & Elasticsearch, allows generation of Page Rank values that can be used to modify an ElasticSearch query.
- Introduction to WebGL October 2017 - Digital Flagstaff Meetup
WebGL exposes the GPU to modern browsers. This gives browsers the ability to render performant 2D and 3D graphics. Join us while we explore the basics of WebGL, ThreeJS, CannonJS, and some performance tips.
- Buttery Smooth UX, High Frame Rate Goals September 2017 - Unicon UX Forum
Presentation with code samples that show how changes can be made to a web application to make frame rate optimal. Using the Chrome Dev Tools, one can identify trouble issues and address them with scripting changes, multi-threading, and CSS changes.
- Intoduction to Machine Learning & TensorFlow November 2016 - Unicon UX Forum
Sharing some introductory concepts of neural networks, back propagation, and an example of TensorFlow trying to beat humans in a classification task.
- Introduction to Inpoot & the Gamepad API November 2015 - Desert Code Camp
This talk will discuss the current state of the gamepad api, mouse lock api, and fullscreen api in modern browsers and its applications. We will look at INPOOT as an example that uses these technologies and explore patterns in dealing with user input. We will also discuss the future of the api as it applies to unique user interfaces including HTML5 games. We will explore simple examples of using gamepad and mouse lock inputs as well as more advanced usage in a 3D browser based game. Interactive slides and sample code will be provided for all examples.