Gareth Redfern

Gareth Redfern

Preston
Open to Work

36,217

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

    Redfern Web

  • Job Title

    Freelancer

  • Spoken Languages

    • English
  • Publications

    • https://redfern.dev
    • https://codepen.io/garethredfern

461 Achievements

  • Adding and Removing Names
  • Editing and Filtering Names
  • Improving the Application Code
  • User Registration and Login
  • What is Authentication?
  • Performing CRUD Operations
  • Defining Models
  • Getting Started with Sequelize
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • What a Beautiful Vue!
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Introducing Vue
  • Getting Started with React Router
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Finishing the Game
  • Introducing JavaScript
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • Classes
  • Objects and New Collection Types
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Hello, GitHub!
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Building a REST Service
  • 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
  • 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
  • Behavior Driven Development with Mocha & Chai
  • Building a Collection
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • Introducing Unit Testing
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Getting the REST You Need
  • Introduction to MEAN
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • 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
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Selections with D3
  • Getting Started with Express
  • Understanding CSS Transitions and Transforms
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Computer Languages
  • Computer Basics
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Introducing Scrum
  • What is Agile?
  • Exploring Ember
  • Ember Data
  • Models
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Controllers
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Understanding Flexbox and Multi-Column Layout
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • WWW
  • Art Direction with the Picture Element
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • What is the MailChimp API
  • Getting Started with Jekyll
  • Image Delivery with Srcset and Sizes
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Introducing Sketch
  • JavaScript Objects
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Item Completion & Interaction
  • Nested Edits & Updates
  • Nested Routes & Controllers
  • JavaScript Arrays
  • JavaScript Loops
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • How To Test Our Code
  • Relating Models
  • Laravel CRUD
  • Creating an SVG
  • Introduction to SVG
  • Building a Command Line Application
  • Introduction to Node.js
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • Routes and Templates
  • Starting Right with PHP Best Practices
  • Getting Started with Ember.js
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Validation & Flash Messages
  • Things That Count
  • Ins & Outs
  • Structuring Tables
  • Table Basics
  • Types
  • Variables and Constants
  • Laravel Forms
  • Laravel & Databases
  • Treehouse Club - JavaScript
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • Treehouse Club - CSS
  • JavaScript and the DOM
  • Getting Started with Advanced Sass
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • Say Hello to Python
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • What is User Experience (UX)?
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Compass Layout and Typography
  • Installing a Ruby Development Environment
  • Getting Started with Compass
  • Creating a Simple Drawing Application
  • Converting Static HTML into WordPress Templates
  • Preparing to Code WordPress Templates
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • WordPress Theme Functions
  • WordPress Theme Templates
  • Local WordPress Development
  • Content Strategy with WordPress
  • Productivity
  • WordPress Admin Settings
  • Customizing WordPress
  • Managing Comments
  • Adding and Editing Content in WordPress
  • Configuring WordPress
  • The WordPress Codex
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  •  Adding Color and Type
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Creating an Icon
  • Introduction to Illustrator
  • Introduction to SEO
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Becoming a Problem Solver
  • Design Foundations Final
  • Understanding Aesthetics
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Float Layout
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Starting a Freelance Career
  • Client Services
  • Sales and Pitching
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Marketing and Promotion
  • Introduction to Accounting
  • Making Money
  • Marketing Strategy
  • Forming Your Company
  • Display Modes
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Introduction to Front-End Frameworks
  • Using Relationship Tables
  • Limiting Results in Queries
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Installing Programs
  • Environment and Redirection
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • The Logo Sprint
  • Logo Design 101
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • HTML Email Basics
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • What's New in Foundation 5
  • Video Marketing
  • Email Marketing
  • Usability Testing
  • Usability Basics
  • Social Media
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Workflows
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Chrome DevTools Basics
  • What is Usability?
  • Introduction to Design
  • Integrating Validation Errors
  • DNS Basics
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Flexbox and Multi-Column Layout
  • Search Engine Optimization
  • Gradients
  • Type Tools
  • Web Typography
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Console Processes
  • Console Users and Permission
  • Intro to User Experience
  • Backgrounds and Borders
  • CSS Box Model
  • Moving Around in the Console
  • Text, Fonts, and Lists
  • Customizing Google Maps
  • Google Maps Integration
  • Corporate Structure
  • Ruby Strings
  • Objects, Classes, and Variables
  • Getting Started with WordPress
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Graphic Basics
  • Web Apps
  • jQuery Plugins
  • Form Validation and Manipulation
  • Websites
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • JavaScript Objects
  • Introduction to jQuery
  • Introduction Variables
  • Advanced Techniques
  • Responsive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Ruby Basics
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Introduction
  • Masks Basics
  • Layer Basics
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Why Start a Business?
  • Getting Started with PHP
  • Website Basics
  • Adaptive Design
  • Marketing Basics
  • Builder
  • Code Racer
  • Workspace Basics
  • Functions
  • Introduction to Programming
  • Objects and Arrays
  • Control Structures
  • Basics
  • Media Queries
  • CSS3
  • Multi-Column Layouts
  • Animation
  • Transforms
  • Transitions
  • Backgrounds
  • Gradients
  • Borders
  • Web Fonts
  • Typography
  • Selectors
  • Video
  • HTML5
  • Basics
  • Color Theory
  • Aesthetic Foundations
  • Principles
  • Elements
  • Website Basics
  • Mobile
  • Responsive Web Design
  • Fundamentals
  • Framework Foundations
  • CSS
  • Page Layout
  • Printing
  • Box Model
  • Forms
  • HTML
  • Objects
  • Mastery Challenge
  • Text Code Challenge
  • Text
  • Data Types
  • Tables
  • Text
  • Links
  • Selector Code Challenge
  • Selectors
  • Introduction
  • HTML Master
  • Tables Challenge
  • List Challenge
  • Lists
  • Introduction
  • Newbie
  • Old School