diff --git a/content/hand-of-ozymandias.md b/content/hand-of-ozymandias.md
new file mode 100644
index 0000000..865fe8f
--- /dev/null
+++ b/content/hand-of-ozymandias.md
@@ -0,0 +1,28 @@
+Title: Hand of Ozymandias
+Date: 2012-03-23
+Category: Projects
+Summary: A withered hand I welded out of scrap metal.
+
+I was visiting my cousins in Radium, BC and decided to learn stick welding at
+their shop. I wanted to create a sculpture, so with pieces of scrap metal I
+welded together this hand. The beads are far from perfect. Working with small
+pieces of rusted metal made it difficult.
+
+![a rusted metalic hand]({static}/images/hand-of-ozymandias/hand1.jpg)
+
+## The Name
+
+One of my favourite poems is [Ozymandias](https://en.wikipedia.org/wiki/Ozymandias)
+by Percy Bysshe Shelley. It's about the inevitable complete decline of all
+rulers and the empires they build, however mighty in their time. This is the
+hand of Ozymandias sticking out from the sand, grasping for life after he has
+been reduced to dust.
+
+## Construction
+
+I eyeballed the joint angles and my cousin cut them to spec with an angle
+grinder. It was made in a machine shop with no real planning done ahead of time.
+In between welds, I used my own hand as a reference. Below is a picture of me
+adding a bead to it.
+
+![me welding the hand causing a very bright light]({static}/images/hand-of-ozymandias/hand2.jpg)
diff --git a/content/images/dress/dress1.jpg b/content/images/dress/dress1.jpg
new file mode 100644
index 0000000..a549563
Binary files /dev/null and b/content/images/dress/dress1.jpg differ
diff --git a/content/images/dress/dress2.jpg b/content/images/dress/dress2.jpg
new file mode 100644
index 0000000..5fb96a1
Binary files /dev/null and b/content/images/dress/dress2.jpg differ
diff --git a/content/images/hand-of-ozymandias/hand1.jpg b/content/images/hand-of-ozymandias/hand1.jpg
new file mode 100644
index 0000000..e00ddce
Binary files /dev/null and b/content/images/hand-of-ozymandias/hand1.jpg differ
diff --git a/content/images/hand-of-ozymandias/hand2.jpg b/content/images/hand-of-ozymandias/hand2.jpg
new file mode 100644
index 0000000..12bc268
Binary files /dev/null and b/content/images/hand-of-ozymandias/hand2.jpg differ
diff --git a/content/images/light-switch/light1.jpg b/content/images/light-switch/light1.jpg
new file mode 100644
index 0000000..7faacc8
Binary files /dev/null and b/content/images/light-switch/light1.jpg differ
diff --git a/content/images/light-switch/light2.jpg b/content/images/light-switch/light2.jpg
new file mode 100644
index 0000000..1fc4429
Binary files /dev/null and b/content/images/light-switch/light2.jpg differ
diff --git a/content/images/light-switch/light3.jpg b/content/images/light-switch/light3.jpg
new file mode 100644
index 0000000..66e6ff7
Binary files /dev/null and b/content/images/light-switch/light3.jpg differ
diff --git a/content/images/painting/painting1.jpg b/content/images/painting/painting1.jpg
new file mode 100644
index 0000000..9ebc1c6
Binary files /dev/null and b/content/images/painting/painting1.jpg differ
diff --git a/content/images/painting/painting2.jpg b/content/images/painting/painting2.jpg
new file mode 100644
index 0000000..4367de6
Binary files /dev/null and b/content/images/painting/painting2.jpg differ
diff --git a/content/images/plant-waterer/waterer1.jpg b/content/images/plant-waterer/waterer1.jpg
new file mode 100644
index 0000000..deaf753
Binary files /dev/null and b/content/images/plant-waterer/waterer1.jpg differ
diff --git a/content/images/plant-waterer/waterer2.jpg b/content/images/plant-waterer/waterer2.jpg
new file mode 100644
index 0000000..9bec140
Binary files /dev/null and b/content/images/plant-waterer/waterer2.jpg differ
diff --git a/content/images/plant-waterer/waterer3.jpg b/content/images/plant-waterer/waterer3.jpg
new file mode 100644
index 0000000..2c88a9b
Binary files /dev/null and b/content/images/plant-waterer/waterer3.jpg differ
diff --git a/content/images/solar-car/solar1.jpg b/content/images/solar-car/solar1.jpg
new file mode 100644
index 0000000..c61d008
Binary files /dev/null and b/content/images/solar-car/solar1.jpg differ
diff --git a/content/images/solar-car/solar2.jpg b/content/images/solar-car/solar2.jpg
new file mode 100644
index 0000000..6caf053
Binary files /dev/null and b/content/images/solar-car/solar2.jpg differ
diff --git a/content/keyboard-review.md b/content/keyboard-review.md
deleted file mode 100644
index ec99f0d..0000000
--- a/content/keyboard-review.md
+++ /dev/null
@@ -1,56 +0,0 @@
-Title: My First Review
-Date: 2010-12-03 10:20
-Modified: 2020-05-09 5:12
-Category: Review
-Summary: test
-
-[TOC]
-
-Following is a review of my favorite xyz.
-
-asdfasdfasdfasdf
-
-## header
-
-test test
-
-```
-this is a code block
-
-
-
-```
-
-### smaller header
-
-hello world
-
-#### Tiny header
-
-paragraph
-
-##### mini header
-
-paragraph
-
-### how to install
-
-update packages:
-
-```
-sudo apt update
-```
-
-install packages:
-
-```
-sudo apt install qot
-```
-
-clone the repo:
-
-```
-git clone https://example.com
-```
-
-all done!
diff --git a/content/led-dress.md b/content/led-dress.md
new file mode 100644
index 0000000..ed2de7f
--- /dev/null
+++ b/content/led-dress.md
@@ -0,0 +1,30 @@
+Title: LED Dress
+Date: 2016-03-18
+Category: Projects
+Summary: A dress made out of LEDs that twinkle like stars
+
+A friend of mine was attending a stars and constellations themed ball. She
+wanted to wear a dress that was lit up with LEDs acting as twinkling stars.
+Seven of the 28 stars are aligned to resemble the Big Dipper constellation and
+twinkle differently than the rest, which twinkle in a random pattern.
+
+![a blue dress with a number of LEDs shining through the fabric]({static}/images/dress/dress1.jpg)
+
+## Construction
+
+The LEDs came from that strip that was cut up and soldered together with very
+small wires. Each of the LEDs can be controlled individually.
+
+![the controller circuit board on the left, and the soldered together LEDs on the right]({static}/images/dress/dress2.jpg)
+
+21 of the stars are light magenta in color and twinkle by fading randomly. The
+seven LEDs that form the Big Dipper continually scroll through a gradient of
+three colors. Instead of calculating the values of each color in the gradient as
+the program runs, a lookup table is used.
+
+
+
+
diff --git a/content/light-switch.md b/content/light-switch.md
new file mode 100644
index 0000000..5bd40fe
--- /dev/null
+++ b/content/light-switch.md
@@ -0,0 +1,30 @@
+Title: Remote Control Light Switch
+Date: 2014-10-09
+Category: Projects
+Summary: A device to toggle my lights remotely.
+
+I wanted the ability to toggle my bedroom light remotely for convenience. I
+designed a circuit that allows me to control my light with any
+device that can load a webpage.
+
+I still wanted to be able to control the light manually, so I bought a metallic
+face-plate and turned it into a capacitive touch sensor. The slightest touch
+anywhere on the plate is enough to toggle the light. I had to electrically
+isolate the metal screws from it because they screw into a grounded switch box.
+
+![a rusted metalic hand]({static}/images/light-switch/light1.jpg)
+
+## Function
+
+I have a Raspberry Pi ($35 computer) on my home network that runs a web server.
+When you connect to it in your web browser, a page loads with buttons to turn
+the light on or off. When you press a button, the server executes a command that
+sends a message over Bluetooth to the light switch. The Bluetooth module in the
+wall receives this message and forwards it to the microcontroller, which
+processes it and toggles the relay. The whole circuit is also powered from mains
+by an AC-DC converter.
+
+This entire process happens quicker than half a second, so it feels instant.
+
+![a rusted metalic hand]({static}/images/light-switch/light2.jpg)
+![a rusted metalic hand]({static}/images/light-switch/light3.jpg)
diff --git a/content/painting.md b/content/painting.md
new file mode 100644
index 0000000..7ddc098
--- /dev/null
+++ b/content/painting.md
@@ -0,0 +1,40 @@
+Title: Man’s Reach Exceeds His Grasp
+Date: 2012-04-11
+Category: Projects
+Summary: My first attempt at painting with acrylic.
+
+The painting is called “Man’s Reach Exceeds His Grasp”. I've always wanted to
+try painting and thought I had a good idea, so after a couple of drawings I
+attempted to paint it. I eventually got it framed at Michaels. Many thanks to my
+friend Laura for the opportunity to do this, I couldn't have done it without her
+help.
+
+![a painting of water pouring out of a vase and into a hand]({static}/images/painting/painting1.jpg)
+
+## The Meaning
+
+It’s hard to see in the photo, but the moment the water touches his hand it
+turns into sand and is taken by the slight breeze. The title is a quote from
+Andrea del Sarto, a poem by Robert Browning. It is also said by Nikola Tesla’s
+character in my favourite movie, [The Prestige](https://www.imdb.com/title/tt0482571/).
+
+“I, painting from myself and to myself,
+Know what I do, am unmoved by men’s blame
+Or their praise either. Somebody remarks
+Morello's outline there is wrongly traced,
+His hue mistaken; what of that? or else,
+Rightly traced and well ordered; what of that?
+Speak as they please, what does the mountain care?
+Ah, but a man’s reach should exceed his grasp,
+Or what’s a heaven for?”
+– Robert Browning from *Andrea del Sarto*
+
+## Creation
+
+I started with the background, trying to make it blurry and out of focus, then
+slowly progressed to the foreground. The hands were drawn in pencil and painted
+in. It was quite difficult to get the blending and shadows perfect, but I had
+Laura to tell me when things didn't look right. Below I am trying to figure out
+what a hand looks like in a mirror.
+
+![me looking at my own hand in the mirror]({static}/images/painting/painting2.jpg)
diff --git a/content/plant-waterer.md b/content/plant-waterer.md
new file mode 100644
index 0000000..87ca14c
--- /dev/null
+++ b/content/plant-waterer.md
@@ -0,0 +1,39 @@
+Title: Automatic Plant Waterer
+Date: 2014-06-05
+Category: Projects
+Summary: A device that automatically waters plants.
+
+One day I decided watering my lone plant was too much work, so I automated it.
+It's also great for when I'm on vacation. The plant is a year old now and
+doesn't look as good as when it was younger (kinda like you). So this machine is
+like its life support.
+
+Update: this plant died long ago.
+
+![the device and pump on a 2L pop bottle with a tube running to a flowerpot]({static}/images/plant-waterer/waterer1.jpg)
+
+## First Attempt
+
+The design was very simple and soldered together on perf board. A
+microcontroller turns the pump on for 20 seconds, then waits 24 hours and
+restarts. The pump ran way too fast so it was slowed down to 10% power.
+
+This design suffered from a fatal problem. After running, there was a chance
+that the tube would stay full of fluid. If the water level in the pop bottle was
+too high, it could siphon out. I woke up with a flower pot overflowing with
+water a couple of times.
+
+![a new version feeding into a different plant]({static}/images/plant-waterer/waterer2.jpg)
+
+## Second Attempt
+
+I liked the idea so much that I made a second iteration. This one used a custom
+printed circuit board with a lot more features. The pumping duration could be
+adjusted with a screwdriver. This was useful as the plant (now a
+[Ming aralia](https://en.wikipedia.org/wiki/Polyscias_fruticosa)) grew.
+
+Another feature was the ability to run the pump backwards. This completely
+eliminated the siphoning problem from before. After pumping for a set duration,
+it would run backwards until the tube was cleared of water.
+
+![the new version beside a big Min aralia plant]({static}/images/plant-waterer/waterer3.jpg)
diff --git a/content/solar-car.md b/content/solar-car.md
new file mode 100644
index 0000000..d056f26
--- /dev/null
+++ b/content/solar-car.md
@@ -0,0 +1,23 @@
+Title: Solar Car
+Date: 2013-04-27
+Category: Projects
+Summary: About my time volunteering with the University of Calgary Solar Car Team, where I designed a maximum power point tracker.
+
+I joined the University of Calgary Solar Car Team in my first semester for a
+chance to learn things, gain practical experience, and meet people that share my
+interests. The car was the top Canadian team in a 3000 km race from Darwin to
+Adelaide, Australia in 2011. We met up at a shop on campus every Saturday
+morning to work on the new Generation IV of the solar car.
+
+![the MPPT device, a printed circuit board with components]({static}/images/solar-car/solar1.jpg)
+
+## The Helianthus MPPT
+
+I was in charge of designing and assembling the MPPTs (maximum power point
+trackers) for the new generation solar car. An MPPT extracts as much power out
+of the solar cells as possible. The solar array operates less efficiently
+without them. The Generation IV car, Schulich Delta (pictured below) uses seven
+of them: one per section of solar cells with similar lighting conditions. Andrei
+and I designed the MPPT above.
+
+![our team of 30 standing behind the solar car which is covered in sponsor logos]({static}/images/solar-car/solar2.jpg)
diff --git a/content/videos/dress/dress3.mp4 b/content/videos/dress/dress3.mp4
new file mode 100644
index 0000000..a7a6ee1
Binary files /dev/null and b/content/videos/dress/dress3.mp4 differ
diff --git a/themes/theme/static/me.jpg b/themes/theme/static/me.jpg
old mode 100755
new mode 100644
index 21cffa0..c347976
Binary files a/themes/theme/static/me.jpg and b/themes/theme/static/me.jpg differ
diff --git a/themes/theme/templates/index.html b/themes/theme/templates/index.html
index 62303bb..3bf0dd6 100644
--- a/themes/theme/templates/index.html
+++ b/themes/theme/templates/index.html
@@ -1,8 +1,20 @@
{% extends "base.html" %}
{% block content %}
+
+ Hi, I'm Tanner! I do firmware design and web development, although I majored
+ in electrical engineering.
+