Jack Royall

Jack Royall

Norwich, Norfolk, United Kingdom

38,360

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

    Quickfire Digital

  • Job Title

    Web Developer

546 Achievements

  • JavaScript Arrays
  • JavaScript Loops
  • The Command Shell
  • Interfaces in Java
  • Error Checking
  • Conditional Formatting
  • Pivot Tables
  • LOOKUP Functions
  • The Data Analysis Process
  • Getting to Know Your Data
  • Analysis
  • Interviewing
  • Recruiting Participants
  • Sass Grid System
  • Going Further with Type
  • Laying Out Type
  • Web Typography
  • How to Choose and Use Fonts
  • Introduction to Typography
  • Java Inheritance
  • Additional Scraping Tasks
  • A World Full of Spiders
  • Practice Functions
  • Introducing Data Scraping
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Sequence Operations
  • Sequence Iterations
  • Filtering Inputs and Escaping Outputs in PHP
  • $_GET and $_POST
  • SMACSS and Sass
  • Sass and BEM
  • Getting to Know Tuples
  • Getting Started with Sequelize
  • Writing Copy
  • Implementing Basic Authentication
  • Introducing the Authentication Project
  • AJAX Concepts
  • JavaScript Functions
  • MASH JavaScript
  • MASH CSS
  • Hierarchy and Layout
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Testing for Accessibility
  • Semantic HTML and WAI-ARIA
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Particle Systems and Keeping Score
  • Artificial Intelligence and Sound
  • Physics and Collision
  • Actions and Animations
  • Game Loop and Texture Atlas
  • Intro to Sprite Kit
  • Complex Data Structures
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Prototyping with a Design System
  • Material Design Basics
  • Understanding Design Systems
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Getting Modular with Mixins and Functions
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Decoupling the Data Source
  • Sorting Contacts Into Sections
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Downloading Album Artwork
  • Deleting and Updating Data
  • Fetching Data Using Fetch Requests
  • Inserting and Saving Data Using a Context
  • Understanding the Core Data Stack
  • Subqueries
  • Set Operations
  • Implementing UX Content
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Docker Use Cases
  • Arrays
  • Selecting Relevant Data
  • Handling Bad Data
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Dungeon Game 2
  • Python Sets
  • “Clean” or “Dirty” Data
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Buggy Logs
  • Cleaner Code
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Java Maps
  • Data Types and Variables
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Lists, Code, Links and Images
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Discovery
  • Product Market Fit
  • Working By Yourself
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Building Forms With Bootstrap
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Planning Our Service
  • Sharing Code Across Xamarin Platforms
  • Cross-platform Development with Xamarin
  • Getting Started with Xamarin
  • Design Patterns
  • Page Layout
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Simple Mobile Interface
  • Exporting Designs
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • Sketch Features
  • Introducing Sketch
  • Simplifying Networking Code
  • Obtaining a Location Fix
  • Authorization with Third Party Libraries
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Modeling Forecast Data
  • Pinching, Panning and Zooming
  • Browsing An Album
  • Taking Photos
  • Data Persistence Basics
  • Soft Skills - Psychology
  • Writing Online
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Hello, GitHub!
  • Getting Started with Android
  • How to Draw in Illustrator
  • Creating Home Page Assets
  • Applying Effects
  • Creating UX Content
  • UX Content Attributes
  • UX Content Basics
  • Array Programming
  • Array Organization
  • Meet NumPy
  • Perform
  • Console I/O
  • Building a Collection
  • Understanding Classes
  • Why Object-Oriented Programming?
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Positioning Page Content
  • Team Collaboration in Figma
  • Prototyping Designs in Figma
  • Introducing Figma
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Save for the Web
  • Adding Images and a Mockup
  • Logo Design
  • Creating a Wireframe
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Generics in Java
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Applying IA
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Advanced Selectors
  • The Balance Sheet
  • The Profit & Loss Statement
  • Introducing Financial Statements
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Core WordPress Theme Files
  • Building a WordPress Plugin Settings Page
  • 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
  • How WordPress Plugins Work
  • PHP Basics for WordPress
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Saving a Selfie
  • Adding Metadata to Photos
  • GPU Based Approach
  • Image Processing
  • Playing with Filters
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Treehouse Club - CSS
  • The Logo Sprint
  • Logo Design 101
  • Swift Operators
  • Swift Types
  • What is Authentication
  • Main Principles
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • 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
  • Custom Dashboard Widgets
  • Installing WordPress Locally
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Mobile Accessibility
  • Accessible UI Patterns
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • Data, Databases and SQL
  • Practicing Data Visualization in Excel
  • Chart Formatting and Layout
  • When To Use What Type of Chart
  • Introduction To Data Visualization
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Getting Started with Sass
  • What is the MailChimp API
  • Introducing Data Analysis
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  •  Adding Color and Type
  • Perfecting the Prototype
  • Using your New Tools
  • Quantitative Methods
  • Exploring Arrays
  • Usability Studies
  • Qualitative Studies
  • Measuring Your Designs
  • Getting Started with Java
  • Creating an Icon
  • Introduction to Illustrator
  • DNS Basics
  • Graphic Basics
  • Principles of Design
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Security: Solutions
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • WWW
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • Elements of Design
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Start menu and App Icon
  • Sound Design
  • Animating and Saving Sprites
  • Designing Characters and a Scene
  • Introduction to Game Design
  • 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
  • How to Critique Design
  • Create a Banner Ad
  • Hello, Photoshop!
  • Digital Media Basics
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • How WordPress Templates Work
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Exploring Best Practices
  • Meet Selenium
  • Evaluating IA
  • What is Information Architecture?
  • Designing Interfaces in PHP
  • GET and POST Requests in a Browser
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • CSS: Cascading Style Sheets
  • Introducing the Watson APIs
  • Requesting Real Data
  • Enhancing the iTunes Endpoint
  • URLs and Parameter Encoding
  • Building the User Interface
  • Modeling iTunes Search Results
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Introduction to PHP for WordPress
  • How to Make Wireframes in Adobe XD
  • Getting Started with Android
  • The Internet
  • Getting the REST You Need 2
  • Introducing Spreadsheets
  • Searching Names
  • Sorting Algorithms
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Introduction to HTTP
  • Security: Concerns
  • Putting It All Together
  • Embracing the Process
  • Curating the Work
  • Portfolio Goals
  • Demystifying the Portfolio
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • More Advanced PHP for WordPress
  • Meet Objects
  • Website Basics
  • Gotchas and Wins
  • Iteration
  • Creation
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Fundamental Concepts
  • Designing with the Latest Features
  • Understanding Values and Units
  • Programming AJAX
  • AJAX Concepts
  • PHP Arrays
  • Unit Converter
  • Practical Jenkins
  • Pipelines
  • How Jenkins Works
  • How to Make Wireframes in Sketch
  • How to Make Wireframes in Balsamiq
  • How to Make Wireframes on Paper
  • The Browser Environment
  • Testing and Publishing an Alexa Skill
  • Building an Alexa Skill
  • Alexa Skills Kit Overview
  • Computer Languages
  • Rehearsal and Delivery
  • Creating and Refining
  • Preparing to Present
  • Computer Basics
  • Forms
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Basic Layout
  • The Box Model
  • Regular Expressions
  • Basic Selectors
  • Understanding Markdown
  • Adding Play Services to Your App
  • What Is WordPress?
  • Why We Test
  • Improving Quality Assurance Practices
  • Bug Reporting
  • Executing Tests
  • Writing Manual Test Cases
  • Interactivity in Adobe XD
  • Prototyping Designs in Adobe XD
  • Introducing Adobe XD
  • Productivity
  • Presentation Skills
  • Important Skills For Professional Success
  • An Introduction to Swift Programming
  • Chrome DevTools Basics
  • Writing a Classifier
  • Introducing Adobe Illustrator
  • What is Wireframing?
  • Keyframe and Line Drawing Animations
  • Customizing the Login Screen
  • WordPress User Roles
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Getting Started with CSS
  • Exploration
  • Discovery
  • Welcome to the Treehouse Club
  • Controlling Admin Navigation
  • Admin Color Schemes
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Prepare and Plan
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • S3 Storage Service
  • AWS and "The Cloud"
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Transitions and Transforms
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Captioning Video
  • Media Basics
  • Creating an SVG
  • Introduction to SVG
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • 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
  • Newbie