Adam Duffield

Adam Duffield

Nottinghamshire, United Kingdom

Full stack Developer, Founder of My Whisky Club https://mywhiskyclub.co.uk

30,494

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
  • Awards

    • Level 3 Diploma in Web Design
  • Publications

    • Participated in the first UK Code in the Dark competition, came 2nd in my round.

382 Achievements

  • Security: Solutions
  • Security: Concerns
  • Animation Basics
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • The Rest of the Story
  • Finishing the User Interface
  • The Model-View-Presenter Pattern
  • Intents and Multiple Activities
  • Tuning the User Interface
  • User Input in Android
  • Themes and Compatibility
  • Using Styles in Layouts
  • Creating an Icon
  • Getting to Know PHP
  • Hooking up the Model to the View
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • 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
  • 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
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • HTTP Methods and Headers
  • Introducing Unit Testing
  • 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
  • Introduction to Node.js
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Building a Collection
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • PHP Includes
  • Dependency Management
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Getting the REST You Need
  • JavaScript Functions
  • Controllers and Scope
  • Getting Started with Angular
  • Working By Yourself
  • Hello, GitHub!
  • JavaScript Conditional Statements
  • Improving your Gulp Workflow
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • JavaScript Numbers
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Treehouse Club - JavaScript
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Computer Languages
  • Computer Basics
  • The Internet
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Art Direction with the Picture Element
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Getting Started in Maya LT
  • Build and Share a Unity Game
  • Game Audio
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Building the Weather UI
  • Creating an SVG
  • Introduction to SVG
  • Working with JSON
  • Concurrency and Error Handling
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Image Delivery with Srcset and Sizes
  • 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
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Chrome DevTools Basics
  • WWW
  • 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
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Installing Wordpress
  • Networking
  • Exploring an API
  • Using Git for Android
  • Getting Started with Genymotion
  • Getting Started with Android Studio
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Publishing on Google Play
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • AngularJS MVC Frameworks
  • Important Skills For Professional Success
  • JavaScript Variables
  • Introducing JavaScript
  • Finding Good WordPress Plugins and Themes
  • Managing Comments on a WordPress Blog
  • Working with Media in WordPress Blogs
  • Posts and Pages in WordPress
  • Blogging with WordPress Overview
  • WordPress Admin Settings
  • WordPress User Roles
  • The WordPress Codex
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Overview of the WordPress Customizer
  • Customizing WordPress Themes
  • WordPress Themes
  • Local WordPress Development
  • Getting Started with WordPress
  • Starting Right with PHP Best Practices
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Using your New Tools
  • Getting Started with Java
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • jQuery Plugins
  • Form Validation and Manipulation
  • DNS Basics
  • Graphic Basics
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Media Queries
  • CSS Animations
  • Flexbox and Multi-Column Layout
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • PHP Loops
  • PHP Conditionals
  • Laravel Forms
  • Laravel & Databases
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • Creating a Simple Drawing Application
  • PHP Datatypes
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • PHP Data & Structure
  • PHP Getting Started
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Pricing and Project Proposals
  • Reading Data from Databases with SQL
  • Finding Your First Project
  • Starting a Freelance Career
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Integrating With Paypal
  • Listing Inventory Items
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Why Version Control Matters
  • Creating a Simple Lightbox
  • Transitions and Transforms
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Applying & Interviewing
  • Masks Basics
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Adding a Contact Form
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Build a Website With Bootstrap
  • Getting Started with WordPress.com
  • Website Basics
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Functions
  • The Job Search
  • Networking
  • Personal Branding
  • Prototyping With Bootstrap
  • Introduction to Illustrator
  • The Logo Sprint
  • Color Theory
  • Principles
  • Elements
  • Selectors
  • Getting Started with CSS
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Web Apps
  • Websites
  • Introduction
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Layer Basics
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Logo Design 101
  • Introduction to Front-End Frameworks
  • JavaScript Arrays
  • Grid Layout
  • Flexbox Layout
  • Introduction
  • 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
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Workspace Basics
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Newbie