One Weru

One Weru

Nairobi

less is more

Skills & Experience

  • Spoken Languages

    • English
    • Spanish
    • French
  • Looking for work

    Yes

609 Achievements

  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Security: Solutions
  • Security: Concerns
  • Closure Expressions
  • First Class Functions
  • Generics and Protocols
  • Generic Types
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Generic Functions, Parameters and Constraints
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Team Collaboration in Figma
  • Prototyping Designs in Figma
  • Introducing Figma
  • Properties
  • Writing Great Swift
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Optionals
  • Telling the Story
  • Introduction to Enumerations
  • Designing for your User’s "To-be"
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • Security in Practice
  • Common Attacks and Defenses
  • Complex Data Structures
  • Scrum Artifacts
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Hello Internet!
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Scrum Events
  • Practice forEach
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Go Data Structures Overview
  • Go Flow Control Overview
  • Introducing Scrum
  • Go Syntax Overview
  • What is Agile?
  • Timezones
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Math Quiz App
  • Dates and Times
  • DNS Basics
  • Docker Use Cases
  • Getting the REST You Need
  • What is the MailChimp API
  • Graphic Basics
  • Website Basics
  • S3 Storage Service
  • AWS and "The Cloud"
  • What a View
  •  Working on a Team
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  • Working By Yourself
  • Hello, GitHub!
  • Gettin' CRUD-y With It
  • Our Diary App
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Meet Peewee
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Say Hello to Django
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Python Regular Expressions
  • Buggy Logs
  • Cleaner Code
  • Regular Expressions
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Optimization Best Practices
  • Asset Optimization
  • Combining Array Methods
  • Array Manipulation
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Array Iteration
  • Python Sets
  • Python Tuples
  • Why Web Performance Matters
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Connecting WordPress Plugins with 3rd Party APIs
  • PHP Email Form Errors
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Letter Game App
  • Access for Everybody
  • PHP Email Forms
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Finishing the Game
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Integrating 3rd Party APIs
  • Implementing Redux
  • Python Data Types
  • Python For Beginners
  • Implementing React Native
  • Why React Native
  • Day 1: Joining Tables
  • PHP Inventory
  • Orientation: Selecting Data
  • Build a Website With Foundation
  • What's New in Foundation 5
  • Next Steps
  • Improving Our Tests
  • Introducing JavaScript
  • Prototyping With Foundation
  • Behavior Driven Development with Mocha & Chai
  • Building a WordPress Plugin Settings Page
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Introducing Unit Testing
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Captioning Video
  • Media Basics
  • Express Middleware
  • How WordPress Plugins Work
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Sessions and Cookies
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • User Registration and Login
  • What is Authentication?
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Subqueries
  • Set Operations
  • Improving the Application Code
  • Editing and Filtering Names
  • Introduction to Front-End Frameworks
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Refining the App
  • Building the Application
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Customizing the WooCommerce Cart and Checkout Process
  • Starting a Custom WooCommerce Theme
  • Cart, Checkout and Account Templates and Hooks
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Finding Business
  • Moving Beyond the Blog
  • Creating Content
  • Introduction to Blogging
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Joining Table Data with SQL
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Modeling Data for the API
  • Building API Routes in Express
  • Setting up with Create React App
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Exploration
  • Discovery
  • Design Patterns
  • Page Layout
  • Global and Product Templates and Hooks
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Going Further with Grid Layout
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Building a REST Service
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Getting Started with WooCommerce Theme Development
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Running an Ecommerce Site Long Term
  • Extending WooCommerce
  • Managing Orders in WooCommerce
  • Finding the Data You Want
  • Managing Products in WooCommerce
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Installing WordPress Locally
  • Getting Data from a Database
  • PHP Includes
  • Data, Databases and SQL
  • 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
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • PHP Internal Functions
  • PHP Returns & Closures
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Custom WordPress Customizer Settings
  • Native WordPress Customizer Options
  • PHP Functions Basics
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Getting Started with Express
  • PHP Loops
  • Modular Media Queries
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Sass and BEM
  • Sass Grid System
  • Getting Started with React Router
  • SMACSS and Sass
  • PHP on the Web
  • Daily Exercise Program
  • PHP Arrays
  • Getting Modular with Mixins and Functions
  • PHP Conditionals
  • Unit Converter
  • Getting to Know PHP
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • What Is WordPress?
  • SEO Plugins for WordPress
  • Enhancing the SEO of a WordPress Theme
  • Building a Layout with Flexbox
  • Overview of the WordPress Customizer
  • Content Comes First
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Custom Post Types in WordPress
  • Customizing WordPress Themes
  • WordPress Themes
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • Installing Sass and Setting up the Project
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Transitions and Transforms
  • Keyframe and Line Drawing Animations
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Getting Started with MongoDB
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Flexbox Properties
  • Understanding Flexbox
  • Adding 3D Effects with CSS
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Getting Started with CSS Transforms
  • 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
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • WordPress Admin Settings
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Finishing Your WordPress Theme
  • Managing Media in WordPress
  • Managing Content in WordPress
  • How to Install WordPress on Your Computer
  • Getting Started with WordPress
  • 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
  • Positioning Page Content
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • The Logo Sprint
  • Logo Design 101
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Improving Our Todo App
  • Services in Angular
  • Combine and Minify Assets
  • Optimize Assets
  • Improving your Gulp Workflow
  • Using Angular's Built-in Directives
  • Compile Sass with Gulp
  • Controllers and Scope
  • Getting Started with Angular
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Measuring Performance
  • Planning for Performance
  • Creating an SVG
  • Introduction to SVG
  • Moving Forward with UX
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • Tools UXers Use
  • How UXers Think
  • Advanced Sass Concepts
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Chrome DevTools Basics
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Web Apps
  • Websites
  • Introduction
  • What is npm?
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Creating a Simple Server in Node.js
  • Building a Command Line Application
  • Getting Started with Sass
  • Introduction to Node.js
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Responsive Patterns
  • Media Queries
  • Custom Media Players
  • Responsive Theory
  • Captioning Video
  • Media Basics
  • Traversing and Manipulating the DOM with JavaScript
  • Creating Home Page Assets
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • 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
  • Applying Effects
  • How to Draw in Illustrator
  •  Adding Color and Type
  • Creating an Icon
  • Gems In Depth
  • Ruby Gems
  • 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
  • Input and Output
  • Search
  • Ruby Class Design
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Introduction to Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • JavaScript Objects
  • Vector Shapes
  • Type Tools
  • JavaScript Arrays
  • JavaScript Loops
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Masks Basics
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Finalizing the Project
  • Case Studies and Examples
  • Layer Basics
  • Workspace Basics
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Grid Layout
  • Flexbox Layout
  • Ruby Logical Operators
  • Ruby Control Structures
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Ruby Operators
  • MASH JavaScript
  • MASH CSS
  • Fundamental Concepts
  • Designing with the Latest Features
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Basic Layout
  • The Box Model
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Welcome to the Treehouse Club
  • Password Hashing and Sign-In
  • WWW
  • The Internet
  • AR Extensions
  • Callbacks
  • Computer Languages
  • Computer Basics
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • 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
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Build a Todo List Application with Rails 4
  • Installing a Ruby Development Environment
  • 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
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • 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
  • Newbie