Jeroen de Vrind

Jeroen de Vrind

Utrecht, the Netherlands
Open to Work

29,772

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Job Title

    iOS developer

  • Spoken Languages

    • English
    • Dutch

385 Achievements

  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Exploring Arrays
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Refactoring Using Codable
  • Dark Sky API Client
  • Downloading JSON Data Asynchronously
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Error Handling
  • Dynamic Keys and Inheritance
  • Parsing Different JSON Structures
  • Parsing to Non-Primitive Types
  • An Overview of Codable
  • 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
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Saving a Selfie
  • Adding Metadata to Photos
  • GPU Based Approach
  • Image Processing
  • Playing with Filters
  • Pinching, Panning and Zooming
  • Browsing An Album
  • Taking Photos
  • Show Me the Data
  • Transitions, Gestures and More
  • Introduction to CollectionViews
  • Sinatra Finishing Touches
  • Updating Data in Sinatra
  • Adding New Data in Sinatra
  • Sinatra ERB Templates
  • Creating New Sinatra Apps
  • 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
  • Build a Simple Todo List Program
  • Ruby Booleans
  • 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
  • Getting Started with Xamarin
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Security: Solutions
  • Deleting and Updating Data
  • Fetching Data Using Fetch Requests
  • Inserting and Saving Data Using a Context
  • Understanding the Core Data Stack
  • Adding Reviews and a Map
  • Retrieving Restaurant Details Using Operations
  • Simplifying Networking Code
  • Obtaining a Location Fix
  • Authorization with Third Party Libraries
  • Security: Concerns
  • Database Normalization
  • Downloading Album Artwork
  • Requesting Real Data
  • Enhancing the iTunes Endpoint
  • URLs and Parameter Encoding
  • Building the User Interface
  • Modeling iTunes Search Results
  • Decoupling the Data Source
  • Sorting Contacts Into Sections
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Dark Sky API Client
  • Downloading JSON Data Asynchronously
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • Generics and Protocols
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Moving Around in the Console
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Writing Great Swift
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Error Handling
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Adding Power to Functions
  • Functions in Swift
  • Python For Beginners
  • Saving and Displaying Selfies
  • Decoupling the Data
  • Saving Data with CloudKit
  • Recording a Voice Memo
  • Intro to Unit Testing 2
  • Introduction to Unit Testing
  • Adding Metadata to Photos
  • Function Parameters
  • Functions in Swift 2.0
  • Control Flow with Conditional Statements
  • Control Flow With Loops
  • Swift Dictionaries
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Adding Image Filters
  • Taking a Selfie
  • Transitions, Gestures and More
  • Show Me the Data
  • Introduction to CollectionViews
  • Implementing Maps and Search
  • Obtaining a Location Fix
  • Displaying Data in Table Views
  • Enhancing the Networking Stack
  • Deleting and Updating Data
  • Fetching Data Using Fetch Requests
  • Inserting and Saving Data Using a Context
  • Understanding the Core Data Stack
  • Paged Scrolling
  • Understanding Scroll Views
  • URLs and Parameter Encoding
  • Introduction to UITableView
  • Error Handling in Swift 2.0
  • Implementing a Forecast Client
  • Fetching Data From the Web
  • Protocol Oriented Networking
  • Modeling Forecast Data
  • Auto Layout in Code
  • Visual Format Language
  • Trait Collections
  • Inequalities, Content and Priorities
  • The Constraint Equation
  • A History Lesson
  • Asynchronous Error Handling
  • Closures in Cocoa Touch
  • First Class Functions
  • Building Standard Library Functions
  • Closure Expressions
  • WWW
  • The Internet
  • Generics with Swift 2 - Beyond Basics
  • Generics with Swift 2
  • MVC
  • Notifications
  • KVC and KVO
  • Singletons
  • Two-stage Object Creation
  • What Are Design Patterns?
  • Memory Management in Swift 2
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization in Swift 2
  • Properties in Swift 2
  • Delegation in iOS
  • Introduction to Delegates
  • Implementing the Detail View
  • Custom Table View Cells
  • Next Week's Weather
  • Upgrading Stormy
  • Adding Weather Icons
  • Interacting With Data From the Web
  • Simple Data Structures
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • Introduction to Table Views
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Creating Flexible Objects with Protocols
  • Protocols
  • What is Agile?
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Introduction to Node.js
  • Computer Languages
  • Computer Basics
  • Working With Multiple View Controllers (Swift)
  • Using Parse.com as a Backend and Adding Users
  • Custom Detail View Controller
  • Custom UITableViewCell
  • Deleting Data
  • Listing Data using NSFetchedResultsController
  • Inserting and Saving Data
  • Refactoring Our Code (objc)
  • Building the Master and Detail Views (objC)
  • Managing Playlist Data (objC)
  • Building a Music Library Model (objc)
  • Working With Multiple View Controllers (ObjC)
  • Finishing the User Interface
  • Customizing Table View Controllers
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Using Auto Layout and Managing the Keyboard
  • Implementing Custom Login and Sign Up Screens
  • UIKit Dynamics
  • View Controller Transitions
  • Gestures
  • What is an API?
  • Downloading Data with NSURLSession
  • Collection Views
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Adding Push Notifications from Parse.com
  • Updating Other GridViews
  • Customizing a GridView for Friends
  • Customizing a ListView for the Inbox
  • Customizing the Action Bar
  • Using Custom Styles and Themes
  • Customizing the Login Screen
  • Starting with Design Mockups
  • Self-Destruction
  • Retrieving and Viewing Messages
  • Sending Messages
  • Capturing Photos and Videos
  • Relating Users in Parse.com
  • Using Fragments for Tabs
  • Adding Users Using Parse.com
  • Starting the App
  • Using Intents to Display and Share Posts
  • Adapting Data for Display in a List
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Using Git for Android
  • Getting Started with Genymotion
  • Getting Started with Android Studio
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Publishing on Google Play
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Getting Started with Android
  • Cocoapods
  • Understanding Core Data
  • Introduction to Data, Databases and SQL
  • Designing and Starting the App
  • Viewing a Web Page
  • Adapting Data for Display
  • Data Modeling
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Testing and Debugging
  • Animate This (iOS7)
  • Designing your App
  • Refactoring into a Model
  • Creating a Data Collection
  • Understanding Views and View Controllers
  • Getting Started (iOS7)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Introduction to Objective-C
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • Newbie