Les Campbell

Les Campbell

Frankfort, KY

Creative Director (fancy title for Front-End everything) at Kentucky Interactive (TylerTech/NIC). I love building clean and easy to use interfaces, making citizens interactions with government better. HTML/CSS/JavaScript I know it all.

26,071

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

    Kentucky Interactive / NIC and Tyler Tech

  • Job Title

    Creative Director

  • Spoken Languages

    • English
  • Awards

    • 2015 Best of Web - Finalist - Kentucky.gov
    • State/Federal Members' Choice in the 2017 Pinnacle Award - governor.ky.gov

346 Achievements

  • What is Information Architecture?
  • Analysis
  • Interviewing
  • Recruiting Participants
  • Implementing UX Content
  • Creating UX Content
  • UX Content Attributes
  • UX Content Basics
  • 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
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Getters and Setters
  • Traversing the DOM
  • Getting a Handle on the DOM
  • Making Changes to the DOM
  • The Browser Environment
  • Principles of Design
  • Elements of Design
  • Interaction Design in Practice
  • Theories and Psychology
  • Design an Accessible Form
  • Introducing Accessible Design
  • Material Design Components
  • Working With Material Design
  • Layout Patterns
  • Navigation Patterns
  • Designing With Patterns
  • Working with Classes in JavaScript
  • Object Basics
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • What is npm?
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • Programming AJAX
  • AJAX Concepts
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Arrow Functions
  • Create Reusable Code with Functions
  • Pass Information Into Functions
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • First Steps in React
  • Designing for iOS
  • Working With Human Interface Guidelines
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Planning Our Service
  • Voice and Tone
  • User Interface Library
  • Visual Design Language
  • Understanding Design Systems
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Finishing Our CRUD Web App
  • Adding Form Validation
  • Improving Our Form
  • Access for Everybody
  • Creating a Basic Form
  • Adding a List Page
  • Modeling and Presenting Data
  • Views
  • Controllers
  • Project Setup
  • Introducing CRUD Applications
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • If Statements
  • Numbers
  • Strings
  • Methods
  • C# Syntax
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Images, Text and Links
  • 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
  • Installing Sass and Setting up the Project
  • 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
  • Getting to Know Bootstrap 4
  • Introduction to Object-Oriented JavaScript
  • Python For Beginners
  • Security: Concerns
  • WordPress Themes
  • Unit Converter
  • Getting to Know PHP
  • Custom Post Types and Fields
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Understanding Flexbox
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Simple Data Structures
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Building a Music Library and Playlists (Swift)
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Concurrency
  • Pulling Data From the Web
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Basic Layout
  • Fundamental Concepts
  • Understanding Values and Units
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Flexbox Layout
  • Grid Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Choosing Options
  • The Box Model
  • Basic Selectors
  • Getting Started with CSS
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • 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
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • 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
  • Control Flow
  • Fundamentals of C
  • Chrome DevTools Basics
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • jQuery and AJAX
  • AJAX Concepts
  • Applying Effects
  • How to Draw in Illustrator
  • Programming AJAX
  • AngularJS MVC Frameworks
  • Creating an SVG
  • Introduction to SVG
  • Captioning Video
  • Media Basics
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • JavaScript and the DOM
  • Organizing Forms
  • Form Basics
  • Structuring Tables
  • Table Basics
  • Introduction to Game Design
  • JavaScript Objects
  • Introduction to Design
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • 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
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Introduction to jQuery
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • JavaScript Functions
  • Important Skills For Professional Success
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Converting Static HTML into WordPress Templates
  • Finding Your First Project
  • Starting a Freelance Career
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Backgrounds and Borders
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Color Theory
  • Principles
  • Elements
  • Web Apps
  • Websites
  • Introduction
  • The Logo Sprint
  • Logo Design 101
  • Preparing to Code WordPress Templates
  • WordPress Theme Functions
  • WordPress Theme Templates
  • Content Strategy with WordPress
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Customizing WordPress
  • Managing Comments
  • Adding and Editing Content in WordPress
  • Configuring WordPress
  • Getting Started with WordPress
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Newbie