Joe Brown

Joe Brown

Allentown, PA

Currently focused on full stack web development. I've spent some time with Android app development. When I find time I also enjoy 3D game programming in the Unity3D game engine and being a ninja.

21,465

Total Points

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

Skills & Experience

  • Spoken Languages

    • English
  • Looking for work

    Yes

269 Achievements

  • How To Test Our Code
  • Functional!
  • Now You're Querying!
  • Project Setup
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Getting Started with CSS Transitions
  • Next Steps
  • Getting Started with Data Science
  • Python For Beginners
  • Introduction to Node.js
  • The Browser Environment
  • Classes
  • Modeling Data for the API
  • Building API Routes in Express
  • Objects and New Collection Types
  • ES2015 Basics
  • The Cooler Parts of ES2015
  • Building a REST Service
  • Getting Started with React Router
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Ruby Blocks
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • Doing More with Express
  • What is Authentication?
  • 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
  • Global Illumination
  • Shadows
  • Lighting Basics
  • Introduction to Video Games
  • Data Persistence & ORMs
  • Creating Spring Controllers and Thymeleaf Views
  • Table Relationships
  • Database Keys
  • Database Normalization
  • What to Test
  • How To Test
  • Why Test
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Key-Value Saving with SharedPreferences
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Getting Data from a Database
  • Using SQLite for Structured Data
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Delivering the MVP
  • Writing Your Own Java Annotation
  • Creating the MVP
  • Harnessing the Power of Objects
  • Exploring the Java Collections Framework
  • Is This Thing On?
  • Putting It All Together
  • Modelling Solitaire
  • Hello Kotlin!
  • Using Java's Built-In Annotations
  • Organizing Data
  • Meet Objects
  • Getting There
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Introducing Fragments
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Unit Testing - Now Featuring Robolectric!
  • Updating the Data Model
  • Data, Databases and SQL
  • Networking
  • Exploring an API
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Unit Testing
  • Getting Started with Android
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Introducing Unit Testing
  • Getting Started with Angular
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Getting Started with WordPress
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Installing Packages with npm
  • What is npm?
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Getting Started with CSS
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • jQuery and AJAX
  • Building a Command Line Application
  • JavaScript Numbers
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • JavaScript Variables
  • Introduction to Node.js
  • Programming AJAX
  • AJAX Concepts
  • AngularJS MVC Frameworks
  • Models
  • Routes and Templates
  • Introducing JavaScript
  • Controllers
  • Getting Started with Ember.js
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Flask Templates
  • Welcome to Flask
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • File Storage
  • Introduction to Data Persistence
  • Merging
  • Branches
  • Getting Started With Git
  • Publishing on Google Play
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • Ruby Logical Operators
  • Ruby Control Structures
  • Responsive Web Design and Testing
  • Sharing a Website
  • Traversing and Manipulating the DOM with JavaScript
  • Grid Layout
  • Adaptive Design
  • Introduction to jQuery
  • Treehouse Club - JavaScript
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Ruby Operators
  • Ruby on Rails Authentication
  • Ruby Methods
  • Ruby Loops
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • Ruby Basics
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Creating the Initial Screen Layout
  • Basic Android Programming
  • Getting Started with Android
  • Rails Frontend Development
  • Capturing Photos and Videos
  • Organizing Forms
  • Form Basics
  • Relating Users in Parse.com
  • Using Fragments for Tabs
  • Adding Users Using Parse.com
  • Starting the App
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Strings
  • Getting Started with Genymotion
  • Using Git for Android
  • Getting Started with Android Studio
  • Using Intents to Display and Share Posts
  • Adapting Data for Display in a List
  • Getting Data from the Web
  • Introduction Variables
  • Getting Started With Rails
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Sharing Your Creation
  • Interrogating the App
  • Shaking Things Up
  • Adding Pages to a Website
  • Customizing Colors and Fonts
  • Styling Web Pages and Navigation
  • Pretty Little Things
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Why Version Control Matters
  • Learning the Language
  • CSS Box Model
  • Getting Started with Android
  • Text, Fonts, and Lists
  • Values and Units
  • Creating the Menu and Footer
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Installing a Ruby Development Environment
  • Getting Started with PHP
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Functions
  • Objects and Arrays
  • Control Structures
  • Forms
  • Tables
  • Objects
  • Links
  • Basics
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie