Dan Poynor
seal-mask

Dan Poynor

Techdegree Graduate

Austin, TX

55,255

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

    Available for hire

  • Job Title

    Designer / Developer

  • Spoken Languages

    • English
  • Looking for work

    Yes

514 Achievements

  • Welcome to Basic Math for Data Analysis
  • Tools of the Trade
  • Breaking Down Data Analysis
  • PHP Arrays
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Connecting to a Database with SQLAlchemy
  • Creating a Basic Website with Flask
  • Working with SQLAlchemy
  • Introduction to SQLAlchemy
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Creating a Memory Game
  • Emulating Built-ins
  • Welcome to OOP
  • Technical Interview Prep: Basic Python
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Buggy Logs
  • Cleaner Code
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Sequence Operations
  • Sequence Iterations
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Getting to Know Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • Practice Functions
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Creating a Command Line Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.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
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • React Router and Authentication
  • Implementing Basic Authentication
  • Introducing the Authentication Project
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Validating Data
  • The Importance of Data Validation
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Getting the REST You Need 2
  • Retrieve Related Data in Sequelize Queries
  • Create Related Data Using Sequelize Models
  • Data Relationships in Sequelize
  • Understand Data Relationships
  • Performing CRUD Operations
  • Defining Models
  • Getting Started with Sequelize
  • Asynchronous Code in Express
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Data, Databases and SQL
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Managing Packages with NPM
  • Hello Node.js
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Regular Expressions
  • Practicing Classes
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Keyframe and Line Drawing Animations
  • Traversing the DOM
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Mobile-First CSS Layout
  • AJAX Concepts
  • Programming AJAX
  • Getters and Setters
  • Object Basics
  • Loop Through Objects
  • Store Multiple Values in an Array
  • Loop Through Arrays
  • Multidimensional Arrays
  • Simplify Repetitive Tasks with Loops
  • Working with 'for' Loops
  • Create Reusable Code with Functions
  • Pass Information Into Functions
  • Arrow Functions
  • Working with Numbers
  • The Math Object
  • Hello, JavaScript!
  • Storing and Tracking Information with Variables
  • Working With Strings
  • Making Decisions in Your Code with Conditional Statements
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Getting to Know Bootstrap 4
  • Responsive Layouts With the Bootstrap Grid
  • Using Bootstrap Components
  • Building Forms With Bootstrap
  • Styling Text
  • Styling Boxes
  • Styling Images
  • Finishing Touches
  • The CSS Box Model
  • Box Model Concepts
  • CSS Layout Techniques
  • CSS Media Queries
  • Fundamental Concepts
  • Getting Started with CSS
  • Basic Selectors
  • Understanding Values and Units
  • Introduction To Accessibility
  • Build an Accessible Form
  • Treehouse Festival 2021
  • S3 Storage Service
  • AWS and "The Cloud"
  • ES2015 Basics
  • Access for Everybody
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Add Reusable Logic to Your Sass
  • Advanced Directives
  • Concepts on Advanced Functions
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Transitions and Transforms
  • Getting Started with Advanced Sass
  • Write Smart and Efficient CSS with Sass
  • Working with Classes in JavaScript
  • Practicing Object Basics
  • Object Basics
  • JavaScript Tools and Workflows
  • Introduction to Object-Oriented JavaScript
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Common Commands
  • Directories and Files
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • JavaScript is Everywhere
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • The Command Shell
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Introducing Grid Layout
  • How to Make Wireframes in Adobe XD
  • How to Make Wireframes in Sketch
  • How to Make Wireframes in Balsamiq
  • How to Make Wireframes on Paper
  • What is Wireframing?
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • The Data Analysis Process
  • Introducing Data Analysis
  • Getting to Know Your Data
  • Working with a Developer
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • Applying IA
  • Evaluating IA
  • Main Principles
  • What is Information Architecture?
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Improving Our User Interface
  • View Controllers and Views
  • Getting Started with iOS Development
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • Generics and Protocols
  • Generic Types
  • Running Apps on a Device
  • Structs As Data Models
  • Generic Functions, Parameters and Constraints
  • Writing Great Swift
  • Team Collaboration in Figma
  • Prototyping Designs in Figma
  • Introducing Figma
  • Logo Design
  • Adding Images and a Mockup
  • Save for the Web
  • Digital Media Basics
  • Create a Banner Ad
  • Hello, Photoshop!
  • Creating a Wireframe
  • Introducing Adobe Illustrator
  • Becoming a Design Thinker
  • Telling the Story
  • Designing for Your User’s "To-be"
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Optionals
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Introduction to Enumerations
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Adding Power to Functions
  • Principles
  • Elements
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Exploration
  • Discovery
  • Exploring Best Practices
  • Test Drive
  • Meet Selenium
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Functions in Swift
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • More Association Options
  • Using Associations in Your App
  • Active Record Associations
  • Creating an SVG
  • Introduction to SVG
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Create Function Using Arrow Syntax
  • Defining Variables With let and const
  • Using Templates with Express
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • What is npm?
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Store Inventory Using Modules
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Introduction to ActiveRecord
  • Styling a Header
  • Gems In Depth
  • Ruby Gems
  • A Route to a Delete Action
  • Routes to Update Actions
  • Routes for Create Actions
  • A Route to a Read Action
  • Rails Resource Index
  • Adding a Model Attribute
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Editing and Filtering Names
  • Improving the Application Code
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Finishing the Game
  • Introducing JavaScript
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Sass and Rails
  • Getting to Know Bootstrap 4
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Captioning Video
  • Media Basics
  • Structuring Tables
  • Table Basics
  • 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
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Basic Selectors
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • 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 Started with CSS
  • Getting Familiar with HTML and CSS
  • Newbie