Adam Sumner

Adam Sumner

199 Bishopsgate, Shoreditch, London

Director of Bristles & Keys Ltd, a website design & app development agency based in London. I am a full stack web / app developer with experience in web/ app design, Wordpress websites and MERN stack applications.

36,695

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

    Bristles & Keys Ltd

  • Job Title

    Director

  • Spoken Languages

    • English

461 Achievements

  • Python: Instant Objects
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Sequence Operations
  • Sequence Iterations
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Getting to Know Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Working with Numbers
  • The Math Object
  • Hello, JavaScript!
  • Storing and Tracking Information with Variables
  • Working With Strings
  • Making Decisions in Your Code with Conditional Statements
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Security in Practice
  • Common Attacks and Defenses
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Hello Internet!
  • Introduction to Machine Learning
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Simple Mobile Interface
  • Integrating 3rd Party APIs
  • Implementing Redux
  • Implementing React Native
  • Why React Native
  • Setting up with Create React App
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Introducing Unit Testing
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Getting Data From an API With Node
  • Introduction to Node.js
  • ES2015 Basics
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Finishing the Game
  • Introducing JavaScript
  • 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
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • Getting Familiar with HTML and CSS
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • What is Agile?
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Creating an SVG
  • Introduction to SVG
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • 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
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Password Hashing and Sign-In
  • AR Extensions
  • Callbacks
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • Build a Todo List Application with Rails 4
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Installing a Ruby Development Environment
  • JavaScript Functions
  • Starting Right with PHP Best Practices
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • What is the MailChimp API
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Better SEO Through Tools
  • Better SEO Through Code
  • Display Modes
  • Better SEO Through Content
  • Introduction to SEO
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • 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
  • Custom Post Type Templates
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Building a Command Line Application
  • Introduction to Node.js
  • Overview of the WordPress Customizer
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • PHP Data & Structure
  • PHP Getting Started
  • Running an Ecommerce Site Long Term
  • Extending WooCommerce
  • Managing Orders in WooCommerce
  • Managing Products in WooCommerce
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Structuring Tables
  • Getting Started with WordPress
  • Table Basics
  • AJAX Concepts
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • 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
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • 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
  • The WordPress Codex
  • What is User Experience (UX)?
  • 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
  • WordPress Admin Settings
  • 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
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Important Skills For Professional Success
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Chrome DevTools Basics
  • DNS Basics
  • Graphic Basics
  • Securing and Maintaining a MySQL Database
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • The Logo Sprint
  • Logo Design 101
  • Getting Started with WordPress
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Design Foundations Final
  • Becoming a Problem Solver
  • Web Apps
  • Websites
  • Masks Basics
  • Introduction
  • Layer Basics
  • Workspace Basics
  • Understanding Aesthetics
  • Introduction to Design
  • Website Basics
  • Customizing Google Maps
  • Google Maps Integration
  • jQuery Plugins
  • Form Validation and Manipulation
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Introduction to Responsive Web Design
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • SQL Calculating, Aggregating and Other Functions
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Moving Around in the Console
  • Joining Relational Data Between Tables in SQL
  • Color Theory
  • Principles
  • Elements
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • Defining the Project
  • Intro to User Experience
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Integrating Validation Errors
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Metrics
  • Sales
  • Pricing
  • Financing Your Company
  • From Idea to Execution
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Marketing and Promotion
  • Making Money
  • Marketing Strategy
  • Introduction to Accounting
  • Marketing Basics
  • Forming Your Company
  • Corporate Structure
  • Why Start a Business?
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie