Oliver Bird

Oliver Bird

Member Since April 23, 2016
Open to Work

57,653

Total Points

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

Skills & Experience

730 Achievements

  • RESTful Django
  • Customizing Class-based Views
  • Classy Views
  • Detail View
  • Build Modular Interfaces with Components
  • List View
  • The Django Admin
  • Total Control
  • Basic ORM Usage
  • Same Old ORM
  • Inlines and Media
  • Django Model Forms
  • Django Models
  • Django Forms
  • Building Custom Filters
  • Building Custom Tags
  • Template Tags and Filters
  • Building a Flashcard App
  • Exploring pandas
  • Sweeping Vues: Loops, Methods, Directives
  • Test Time!
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Sequence Operations
  • Sequence Iterations
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Introduction to Functions
  • Final Details
  • The Lambda Lambada
  • Getting to Know Tuples
  • Django Templates
  • Describing Data
  • Meet pandas
  • What a Beautiful Vue!
  • Functional Workhorses
  • Getting Started with Data Science
  • Array Programming
  • Array Organization
  • Meet NumPy
  • Bringing It All Together
  • The Cash Flow Statement
  • The Balance Sheet
  • The Profit & Loss Statement
  • Selecting Relevant Data
  • Handling Bad Data
  • Introducing Financial Statements
  • Functional Rules
  • Introducing Vue
  • “Clean” or “Dirty” Data
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Python Regular Expressions
  • Python File Systems Project Starter
  • Model Administration
  • Python File Systems Manipulation
  • Gettin' CRUD-y With It
  • Our Diary App
  • Python File Systems Navigation
  • Meet Peewee
  • Character Builder
  • Dice Roller
  • What a View
  • Timezones
  • Flask Templates
  • Stateful Components
  • Welcome to Flask
  • Data Eruption
  • Chart Toppers
  • Math Quiz App
  • Say Hello to Django
  • Getting Started with Data Visualization
  • Python: Advanced Objects
  • Introducing Props
  • Thinking in Components
  • Dates and Times
  • Build an Application
  • Using Lists
  • Meet Lists
  • Additional Scraping Tasks
  • A World Full of Spiders
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Introducing Data Scraping
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • First Steps in React
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Buggy Logs
  • Searching Names
  • Sorting Algorithms
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Exploring Arrays
  • Getting the REST You Need 2
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Cleaner Code
  • Abstract Classes in PHP
  • Integrating 3rd Party APIs
  • Implementing Redux
  • Implementing React Native
  • Why React Native
  • Environment Variables
  • Using Interfaces in PHP
  • Designing Interfaces in PHP
  • Setting Up an Angular Application
  • Next Steps
  • Improving Our Tests
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Behavior Driven Development with Mocha & Chai
  • Introduction to Object-Oriented JavaScript
  • Introducing Unit Testing
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Writing a Classifier
  • Building API Routes in Express
  • Building a REST Service
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Meet Objects
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Error Checking
  • Conditional Formatting
  • Pivot Tables
  • Telling the Story
  • Designing for Your User’s "To-be"
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • Working with jQuery Collections (2017)
  • LOOKUP Functions
  • Machine Learning Vocabulary
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introduction to Machine Learning
  • Introducing jQuery (2017)
  • Publishing on Google Play
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Creating and Modifying Database Tables
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Using the Discovery Service
  • Why Protect Your Web Apps
  • Using the Conversation Service
  • Introducing the Watson APIs
  • Installing WordPress Locally
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • 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
  • Using Templates with Express
  • Go Concurrency Overview
  • Getting Started with Express
  • Exploration
  • Discovery
  • Go Custom Types Overview
  • Exploring Best Practices
  • Test Drive
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Going Further with Grid Layout
  • Meet Selenium
  • Flexible Sized Grids
  • Go Data Structures Overview
  • Fundamentals of Docker
  • Introducing Grid Layout
  • Extending the Family
  • Inheritance
  • Welcome to Gulp.js
  • 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
  • Getting Data From an API With Node
  • Docker Use Cases
  • Introduction to Node.js
  • Go Flow Control Overview
  • Go Syntax Overview
  • S3 Storage Service
  • AWS and "The Cloud"
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Practicing Data Visualization in Excel
  • Chart Formatting and Layout
  • When To Use What Type of Chart
  • Introduction To Data Visualization
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Security: Solutions
  • Security: Concerns
  • Finishing the Game
  • Introducing JavaScript
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • Creating a GitHub Client
  • The Walker Class for WordPress
  • Custom Menu Fields in WordPress
  • An Overview of Menus in WordPress
  • Local WordPress Development
  • Communicating with a RESTful API
  • Captioning Video
  • Media Basics
  • What is Authentication
  • Browser Persistent Data with PHP
  • Parsing Specific Formats
  • Basic File Handling
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Item Completion & Interaction
  • Nested Edits & Updates
  • Nested Routes & Controllers
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • Laravel Forms
  • Laravel & Databases
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Adding a Model Attribute
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Gems In Depth
  • Ruby Gems
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Customizing Drupal
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Test Doubles
  • Acceptance Tests
  • Introducing Spreadsheets
  • Organizing your Tests
  • Creating Your Tests
  • Testing and Publishing an Alexa Skill
  • Building an Alexa Skill
  • Alexa Skills Kit Overview
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Color Theory
  • Principles
  • Elements
  • Running an Ecommerce Site Long Term
  • Extending WooCommerce
  • Managing Orders in WooCommerce
  • Managing Products in WooCommerce
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • 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
  • Customizing the User Experience in WordPress
  • Default User Roles in WordPress
  • An Overview of User Roles and Fields
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Moving from WordPress.com to Self-Hosted WordPress.org
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Custom Post Types in WordPress
  • Customizing WordPress Themes
  • WordPress Themes
  • WordPress Admin Settings
  • SEO Plugins for WordPress
  • Enhancing the SEO of a WordPress Theme
  • Content Comes First
  • Tools for Testers
  • How To Test Our Code
  • The WordPress Codex
  • Thinking in Components
  • Updating and Deleting Records
  • First Steps in React
  • Reading and Writing Reports
  • Creating Records
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • What Is WordPress?
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Chrome DevTools Basics
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Modular Media Queries
  • Sass Grid System
  • SMACSS and Sass
  • Getting the REST You Need
  • Sass and BEM
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Getting Modular with Mixins and Functions
  • What is the MailChimp API
  • Installing MySQL Server and MySQL Workbench
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Introduction to Data, Databases and SQL
  • DNS Basics
  • Graphic Basics
  • Website Basics
  • Installing Sass and Setting up the Project
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Getting Started with Jekyll
  • Introduction to Front-End Frameworks
  • Working with Media Queries
  • CSS Animation Basics
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • Project Setup
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Responsive Layouts with the Bootstrap Grid
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • PHP Loops
  • PHP Arrays
  • Getting to Know Bootstrap 4
  • PHP Conditionals
  • 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
  • Introduction to Node.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Save for the Web
  • Adding Images and a Mockup
  • Logo Design
  • Creating a Wireframe
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Introducing Adobe Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Understanding Flexbox
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Getting Started with Sass
  • Perfecting the Prototype
  • Using your New Tools
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Starting a Freelance Career
  • Text
  • Introduction
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • 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
  • Introducing jQuery Plugins
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Perfect
  • Perform
  • Console I/O
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Prepare and Plan
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Table Relationships
  • Database Keys
  • JavaScript Objects
  • How to Install WordPress on Your Computer
  • Database Normalization
  • JavaScript Arrays
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • JavaScript Loops
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with Java
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Getting Started with MongoDB
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • PHPDB Stage 3: Using Relational Data
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • JavaScript Numbers
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Ordering, Limiting and Paging Results
  • Python Data Types
  • Python For Beginners
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • JavaScript Variables
  • Introducing JavaScript
  • Creating an SVG
  • Introduction to SVG
  • Web Apps
  • Websites
  • Introduction
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Advanced Selectors
  • Introduction to Design
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • The Logo Sprint
  • Logo Design 101
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Finding the Data You Want
  • Getting Data from a Database
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • Getting Started with WordPress
  • Data, Databases and SQL
  • 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
  • Building a Collection
  • Building the Recipe
  • Creating the Screen Layout
  • Getting Started with Android
  • Understanding Classes
  • Why Object-Oriented Programming?
  • 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
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • PHP Includes
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Newbie