Adam Sommer

Adam Sommer

Boone

Livin' the Dream in Boone, NC. Love developing web apps and mobile apps. Also, love learning new skill on Treehouse. Also too, love my family and The Arsenal.

62,470

Total Points

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

Skills & Experience

  • Company

    The Hoick

  • Looking for work

    Yes

765 Achievements

  • Time Complexity
  • Playing a Counting Game
  • Additional Scraping Tasks
  • A World Full of Spiders
  • Introducing Data Scraping
  • Array Programming
  • Array Organization
  • Meet NumPy
  • Connecting Room to the UI
  • Working with Room
  • Data Persistence Basics
  • Advanced Directives
  • Concepts on Advanced Functions
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Getting Started with Advanced Sass
  • Testing and Publishing an Alexa Skill
  • Building an Alexa Skill
  • Alexa Skills Kit Overview
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • UI Testing with Espresso
  • Unit Testing - Now Featuring Robolectric!
  • Unit Testing
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Themes and Compatibility
  • Using Styles in Layouts
  • Activity Transitions: Advanced Topics
  • Shared Element Transitions
  • Transitions Framework
  • Animation Basics
  • Installing WordPress Locally
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Introducing Fragments
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • API Protection
  • Resourceful Blueprints
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • Bokeh Visualizations
  • Bokeh Data
  • Detail View
  • List View
  • The Django Admin
  • Total Control
  • Basic ORM Usage
  • Same Old ORM
  • Users and Authorization
  • Django Authentication
  • Customizing Class-based Views
  • Classy Views
  • Security and Customization
  • Make the REST Framework Work for You
  • RESTful Django
  • Inlines and Media
  • Django Model Forms
  • Django Models
  • Django Forms
  • Building Custom Filters
  • Building Custom Tags
  • Template Tags and Filters
  • Test Time!
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Say Hello to Django
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Python File Systems Project Starter
  • Python File Systems Manipulation
  • Python File Systems Navigation
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • The Lambda Lambada
  • Functional Workhorses
  • Functional Rules
  • Creating Reports
  • Charts and Tables
  • Exporting
  • Cleaning Data
  • Describing Data
  • Getting Started with Data Science
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • 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
  • Getting Data from a Database
  • Data, Databases and SQL
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Parsing Specific Formats
  • Basic File Handling
  • Abstract Classes in PHP
  • Using Interfaces in PHP
  • Designing Interfaces in PHP
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Go Concurrency Overview
  • Go Custom Types Overview
  • Go Data Structures Overview
  • Go Flow Control Overview
  • Go Syntax Overview
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Creating a GitHub Client
  • Communicating with a RESTful API
  • Security: Solutions
  • Security: Concerns
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Custom WordPress Customizer Settings
  • Native WordPress Customizer Options
  • Overview of the WordPress Customizer
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Adding the UI
  • Learning Anko
  • Is This Thing On?
  • Putting It All Together
  • Modelling Solitaire
  • Hello Kotlin!
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • What is Authentication
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • SEO Plugins for WordPress
  • Enhancing the SEO of a WordPress Theme
  • Content Comes First
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • The Production Server
  • The Staging Server
  • The Local Development Environment
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • What Is WordPress?
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Python Data Types
  • Python For Beginners
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Customizing Drupal
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Test Doubles
  • Acceptance Tests
  • Organizing your Tests
  • Creating Your Tests
  • Tools for Testers
  • How To Test Our Code
  • Updating and Deleting Records
  • Reading and Writing Reports
  • Creating Records
  • Project Setup
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • PHPDB Stage 3: Using Relational Data
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • PHP Includes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Building a Collection
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • But Wait There's More!
  • Bound Services
  • Introducing Services
  • Threads in Android
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • Interacting with Google+ APIs
  • Connecting to Play Services
  • Interacting with Your API
  • Adding Play Services to Your App
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Bells and Whistles
  • Diving into Web Development
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • What to Test
  • How To Test
  • Why Test
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Getting There
  • Introducing Unit Testing
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Deploying to a Device (ObjC)
  • Debugging Our App (ObjC)
  • Improving Our User Interface (ObjC)
  • Creating a Data Model (ObjC)
  • Testing and Debugging
  • Improving Our Code
  • Views and View Controllers (ObjC)
  • Getting Started with Xcode (ObjC)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Introduction to Objective-C
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Gems In Depth
  • Ruby Gems
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Treehouse Club - JavaScript
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • 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
  • Interactive Visualizations
  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • JavaScript Functions
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Updating and Uninstalling Packages with npm
  • JavaScript Conditional Statements
  • Installing Packages with npm
  • What is npm?
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • JavaScript Numbers
  • HTTP Methods and Headers
  • JavaScript Variables
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Building a Command Line Application
  • Introducing JavaScript
  • Introduction to Node.js
  • Make Your Own AngularJS Widget
  • Extending Inputs
  • AngularJS Directives
  • Input and Output
  • Services and Dependencies
  • Search
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • JavaScript Objects
  • Ruby Class Design
  • Store Inventory Using Modules
  • Cleanup and Feature Merge
  • Maintaining The Test Suite
  • Polishing Rails Applications
  • Include and Extend
  • Static Pages with Rails
  • Ruby Core Modules
  • Ruby Module Basics
  • Creating an App Tutorial
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Blank Slates and Rails
  • Email with Rails
  • Modifying Todo Lists
  • Form Builders and Rails
  • Styling Rails Forms
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • API Authentication
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • The Genesis Marketplace
  • Configuring a Genesis Child Theme
  • An Overview of the Genesis Framework
  • An Overview of WordPress Frameworks
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Coding the API
  • Route Connections
  • Introduction to REST
  • Using Parcelable Data
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • JavaScript Arrays
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Cocoapods
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • JavaScript Loops
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game
  • Local Python
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Hooking up the Model to the View
  • Building the Weather UI
  • Pick a Number! Any Number!
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Putting the "Fun" Back in "Functions"
  • Exploring an API
  • Shopping List
  • Character Builder
  • Flask Templates
  • Delivering the MVP
  • Welcome to Flask
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • Introduction to Illustrator
  • User Input
  • The Logo Sprint
  • Logo Design 101
  • Exploring Ember
  • Ember Data
  • Models
  • Controllers
  • Routes and Templates
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Getting Started with Ember.js
  • Getting Started with Java
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Things That Count
  • AJAX and APIs
  • jQuery and AJAX
  • Ins & Outs
  • Publishing on Google Play
  • Adding Push Notifications from Parse.com
  • Updating Other GridViews
  • Customizing a GridView for Friends
  • Customizing a ListView for the Inbox
  • Customizing the Action Bar
  • Using Custom Styles and Themes
  • Customizing the Login Screen
  • Starting with Design Mockups
  • Self-Destruction
  • Retrieving and Viewing Messages
  • Sending Messages
  • Capturing Photos and Videos
  • Relating Users in Parse.com
  • Adding Users Using Parse.com
  • Using Fragments for Tabs
  • Starting the App
  • Using Intents to Display and Share Posts
  • Adapting Data for Display in a List
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Using Git for Android
  • Getting Started with Android Studio
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Getting Started with Genymotion
  • Programming AJAX
  • Getting Started with Compass
  • Styling Rails Models
  • Ruby on Rails Helpers
  • Rails Partials
  • Styling a Header
  • Sass and Rails
  • Working with Rails Layouts
  • AJAX Concepts
  • Zurb Foundation on Rails
  • Remember Me
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • Say Hello to Python
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Password Hashing and Sign-In
  • Build a Todo List Application with Rails 4
  • AR Extensions
  • Callbacks
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Push Updates
  • Activity Feeds
  • Create an Image Gallery
  • Uploading and Resizing Images
  • Uploading Files
  • Managing Friendships
  • Objects, Classes, and Variables
  • Using AJAX
  • Adding State
  • PHP Inheritance & Interfaces
  • Building the Friendship UI
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Creating Friendships
  • Rails Deployment
  • Building the Profile Page
  • Testing the Whole App
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Rails Routing
  • Writing Tests
  • Customizing Ruby on Rails Forms
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Chrome DevTools Basics
  • Launching a WordPress Site
  • WordPress and Forms
  • Extending WordPress Template Functionality
  • Converting Static HTML into WordPress Templates
  • Preparing to Code WordPress Templates
  • WordPress Theme Functions
  • WordPress Theme Templates
  • Content Strategy with WordPress
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Launching and Supporting a WordPress Plugin
  • Building WordPress Template Tags, Widgets, and Shortcodes
  • Connecting WordPress Plugins with 3rd Party APIs
  • Building a WordPress Plugin Settings Page
  • How WordPress Plugins Work
  • Learning the Language
  • Getting Started with Android
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie