Justin Rich

Justin Rich

Los Angeles, CA
Open to Work

Passionate about building desktop and mobile web tools that connect users with ideas they care about. Studied Information Systems at Carnegie Mellon University and have 4 years of experience with various software development projects.

19,556

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Job Title

    Software Engineer

236 Achievements

  • Error Handling and Memory Management
  • Closure Expressions
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Sorting Contacts Into Sections
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Writing Great Swift
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Data Types and Variables
  • Intro to Objective-C
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Differentiating Between Objects
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Angular Components
  • Setting Up an Angular Application
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Finding Your First Project
  • Starting a Freelance Career
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Building Your Resume
  • Integrating 3rd Party APIs
  • Implementing Redux
  • Implementing React Native
  • Why React Native
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Moving Around in the Console
  • Alexa Skills Kit Overview
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Structuring Tables
  • Table Basics
  • Introduction to Node.js
  • Introduction to Illustrator
  • Creating an SVG
  • Introduction to SVG
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Introduction to Design
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Finding the Data You Want
  • Data, Databases and SQL
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Getting Started with Sass
  • ES2015 Basics
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Working By Yourself
  • Hello, GitHub!
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Communicating with Mongo Through Mongoose
  • Building API Routes in Express
  • Building a REST Service
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Exporting Designs
  • Introducing Sketch
  • Creating a Simple Server in Node.js
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Building a Command Line Application
  • Why Test
  • Introduction to Node.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Creating a Simple Drawing Application
  • Responsive Theory
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Introducing jQuery Plugins
  • Creating a Password Confirmation Form
  • What is User Experience (UX)?
  • Getting Started with Angular
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie