A shining sun with text: portfolio
Eclipsed moon with text: Thor Nolan, full-stack web developer and designer


I'm Thor, a web developer and designer living in the Bay Area, CA. I graduated from Reed College in 2016 and recently completed UC Berkeley Extension's full-stack coding bootcamp. I'm a passionate learner, and always looking for new ways to expand my knowledge and skill-set.

I'm interested in technology, design, philosophy, politics, teaching, and writing. I appreciate being able to work closely and creatively with people to come up with ideal solutions.

When I'm not coding, I like to rock climb at my local climbing gym. I love to travel, and have spent significant time exploring and living in other countries. I also built my desktop PC that I use for playing games or working with 3D rendering software like the Unity engine.

I am available for freelance work, so if you have a web project that's still in the idea phase send me an email and we can get started!

"Fast, affordable, and true to our specifications. Thor took our very old office site and dragged it into the 21st Century adding analytics, making it mobile-friendly, polishing the look and feel, but keeping it simple, as requested. It was like a window-washing in an old house you just can't leave. On another site, Thor supplied us with spot-on guidance to build a site aimed at eliciting public response for a study project. We love his fast, efficient, time on task service." — Brancart & Brancart, client


  • keyboard_arrow_right React.js
  • keyboard_arrow_right Semantic HTML5
  • keyboard_arrow_right CSS3 and SCSS
  • keyboard_arrow_right Javascript ES6/7+
  • keyboard_arrow_right jQuery
  • keyboard_arrow_right Bootstrap and Materialize
  • keyboard_arrow_right Node.js
  • keyboard_arrow_right NPM and a variety of packages
  • keyboard_arrow_right Express routing
  • keyboard_arrow_right MySQL (with Sequelize)
  • keyboard_arrow_right MongoDB (with Mongoose)
  • keyboard_arrow_right Working with RESTful API's
  • keyboard_arrow_right Proficient with Squarespace, Wordpress, and other CMS's
  • keyboard_arrow_right Git/Github branching and workflow
  • keyboard_arrow_right Adobe XD/Figma prototyping
  • keyboard_arrow_right Agile methodologies
  • keyboard_arrow_right Writing and research


Buddha's Palm Tattoosearch
Buddha's Palm Tattooclose

A custom website I designed and developed for my client, Buddha's Palm Tattoo & Art Gallery. I made the site using HTML, CSS and JavaScript, and relied heavily on my knowledge of SCSS and flex-box grid to accomplish the design, animations, and responsiveness. I used a mobile-first approach to creating this site and designed a distinct mobile layout as well (my analytics have shown since that almost 70% of site visitors are using their mobile device!).

Staring Problem Presssearch
Staring Problem Pressclose

A site for user submitted chapbook creation and sale that I designed and customised using the Squarespace CMS, at the request of my client Staring Problem Press. My goal was to deliver them a customized theme that includes my own HTML and CSS, that would require no further maintanence on their part, which allowed them to focus solely on the commerce aspect of the site.

Vote! Heart of America.orgsearch
Vote! Heart of Americaclose

A customised WordPress theme I created for my client Vote! Heart of America.org. Their goal was to create a national voter information website, with helpful links and useful tools to keep voters informed and prepared. My design philosophy for this site was centered on usability and simplicity, as my client was looking for a site that was simple and easy to use while still robust in its offerings.


A full-stack MERN app I created with a team as the final project for our bootcamp. GigHub lets users log in to the app with their LinkedIn account and track their job search progress. We utilized the LinkedIn OAuth API for user sign-in/sign-up, and store user data in a Mongo database. Users can add jobs they’re interested in applying for and track their application progress, as well as view analytics about their job search progress.


EventPRO is an event planning application that provides users with a centralized location to plan upcoming events and organize to-do's. I was part of a team that made this app for our full-stack bootcamp, and my responsibilities included setting up the MVC file structure, getting our server up and running, utilizing passport and express so that users could create accounts and log in (data persists in a MySQL database), and giving the app a consistent style with css.

Memory Color Clickersearch
Memory Color Clickerclose

This is a simple memory game I built for my full-stack coding bootcamp. It was built with React, which it uses it to serve up front-end content and manipulate the DOM. The game is built primarily around one stateful app component that keeps track of user clicks, user score and high score, and the position of content on the page which needs to be re-rendered every time the user clicks.

GIF Me Some Spacesearch
Gif Me Some Spaceclose

A simple site I made for my full-stack coding bootcamp that populates the page with relevant gifs based on keyword searches from user input and button presses using the GIPHY API. The theme is space, so the first buttons that appear on the navbar are all space themed, but users are free to add any additional themes they would like using the form on the page. Upon adding a theme, it will appear as a new button, which the user can press for more gifs based on that theme.

MERN Google Books Searchsearch
MERN Google Books Searchclose

This is a full-stack MERN application I built for my coding bootcamp, which allows users to search for book titles and retrieve information about them by utilizing the Google Books API. It relies on a MongoDB database for data persistence, Express for routing from my server, React for serving up and manipulating front-end content, and Node as its runtime environment. Users can navigate between the search page, where they can search for and examine different books, and the saved page, where they can see any books they've chosen to add to their collection.

Existential Friend Findersearch
Existential Friend Finderclose

A full-stack "friend-finder" application I made for my bootcamp, it uses Node.js for its server environment and Express for routing and serving html. In the app, users are asked to provide their name and a link to a photo (any photo will do), and then fill out a short survey consisting of 10 existential statements that they can respond to. Upon submission, they will be matched with the person who has given the most similar responses to them, with that information being compared against everything in the provisioned database.

Pass the Buttersearch
Pass the Butterclose

This butter bot simulator is an exercise in futility! It utilizes Node.js for its server environment and Express for routing. as well as Handlebars for templating and serving HTML content. Data is persistent, as it is stored in a MySQL database that is dynamically updated based on user interaction. The site also utilizes MVC (Model View Controller) file structure.

Grandpa's Pillssearch
Grandpa's Pillsclose

A "crystals collector" style number-guessing game that I made for my full-stack bootcamp. I used HTML and CSS to make and style the content of the page, Javascript to create my game functionality, and the jQuery library to dynamically update elements on the page. I also use a few css animations from the animate.css CDN.

LIRI Botsearch
LIRI Botclose

A command line Node.js app I made for my full-stack coding bootcamp. It takes in parameters and returns data to users by using the axios package to make calls to the Bands in Town, Spotify or OMDB APIs. Users can search for movies, upcoming concerts, or songs, and will be given data about them in their command line. It utilizes NPM to manage various node packages such as fs, moment, chalk, and the Node-Spotify-API.