Alex Penman
I'm Alex Penman, a developer based in San Francisco. I'm currently working at Butchershop Creative doing Web Development. I was previously a Software Engineer at Renaissance Learning after being a part of their UClass acquisition in 2015.

I will be attending CIID's Interaction Design Program in 2018.

Outside of work, I explore emotional connections and observations of human nature through creative code projects. I recently completed Gray Area's 10 week Creative Coding Immersive. During my time there I explored new technologies and gained experience installing works for display.

I graduated from Cal Poly San Luis Obispo in 2015 with a major in Computer Science and a minor in Media Arts and Technologies.

You can see some coding experiments I work on here. I host a radio show on called No Tomorrow and occasionally create punk playlists on ANTI, an online continuation of the radio show I hosted at my college station where I also served as Music Director.
Smiley face Smiley face
Music For Memories || Programming

Music For Memories is an initial exploration into generative audio for video. The goal is to create a warm and nostalgic soundtrack that can accompany any piece of film. The program analyzes the color values of randomly sampled points along with recently played notes to determine which note from a scale to play next. Due to the nature of using random samples, each viewing of the same video will generate a different soundtrack, allowing for a unique experience every time.

This project was created for the final showcase of Gray Area's 10 week long Creative Code Immersive during Winter 2017. It was displayed in Gray Area's Grand Theater alongside the final project of my peers in the winter cohort. Music For Memories, in its current form, accompanied a compilation of found footage of old family hiking trips captured on 16mm film from the Internet Archive courtesy of David Ross Brower. The video looped for over three hours with the program generating sounds the entire time.

Read more about the process behind it and view the code on Github.

Smiley face Smiley face
Floods Website Redesign || Design, Programming

Website design and development for electronic musician Floods. Worked closely with the artist through the entire process to create a simple splash page for links to his various social media sites.

Built using three.js, implementing the postprocessing Glitch Pass shader.

View the site here.

Special thanks to Floods and GRN+GLD.
Smiley face
Angels 2.0 || Programming

In the mid 70s, Bruce Conner produced a series of large-scale photograms with Edmund Shea, which they titled Angels. Using their bodies to block out light, the pair created life-sized ghostly figures in black and white.

Angels 2.0 is an interactive recreation of this work written in Processing. Inspired by the use of the entire body in the original series, Angels 2.0 uses a Kinect to track the figure and "burn" it into the final image. The more still the subject stays during the time lapse, the resulting image becomes sharper. If the subject decides to move around, forms start to blur. By moving this project into the digital realm, the permanence of photopaper gets lost but the process remains similar. In 2.0, photograms can be recreated over and over until the perfect one has been captured.

Watch Angels 2.0.

View the code repo and along with more samples on Github.
Smiley face
UClass || Programming

UClass was a content management system for teachers and school districts. Described as a "Dropbox" for education, customers could upload, share, and collaborate on lesson plans and quizzes all in one place. Worked in a small team of 3 engineers to plan, design, and create new features for the website. The latest and most notable feature was an analytics platform created in d3.js which allowed admins to see how their content was being used at the district level down to the classroom level.

Acquired by Renaissance Learning in 2015.
Smiley face
Crub Life Press || Design

A short-lived tape press to distribute hard copies my close friends' music. I designed tape covers and indivually duplicated copies from master CDs in my bedroom. A few copies of each were given to friends but the remaining were sold at their shows.

CLP-001: Crooked Captain - C'est La Vie EP. Edition of 15 hand-numbered tapes. 5 copies were reserved for the band and 10 were sold at their EP release show. This was Crooked Captain's first recorded material. Hear more of their music as Barriers.

CLP-002: Dripping Gems - Issues. Edition of 20 hand-numbered tapes with a fold out insert. Official release through GRN+GLD and special tape release by Crub Life for his album release show at Que Sera in Long Beach, CA. Cover and foldout art inspired by plague doctor imagery used by the artist during early recording sessions. Hear more of his music as Floods.
Smiley face Smiley face
San Francisco, So Much To Answer For || Photography, Design

A critique on life in San Francisco. In our most vulnerable state, we are all human, all the same. Well over a year before I moved here, I created the images during a weekend trip with friends with the intent to capture a wide variety of people unassumingly.

The idea was conceived and executed in 2013 out of what I had heard about the housing situation in the city and the growing problem of gentrification.

Hand-made, accordion fold, hardcover book meant to be viewed completely unfolded like a landscape.
Smiley face
BartListen || Programming

An exploration into P5.js, data visualization, and deploying sketches to heroku. Started after a talk by Jonathan Dinu on data sonification at Gray Area. This was my first step into P5 and creative coding.

This project uses the Bart API with P5.js to visualize when Bart trains leave stations in the Bay Area. When a train leaves, a sound is played and an expanding circle is drawn on a random point on the screen with the name of the station displayed in black. The color of the circle maps to the color of the Bart line returned by the API. Multiple trains often depart at the same time creating a blend of colors.

View the project here.
Smiley face
PhotoMap Android App || Programming

Photomap was built to make sharing photos taken during a trip much easier. Input a date range and the app pulls all pictures taken within that time and creates an interactive album with them. The app displays a preview of the image and metadata associated with the image. The user can also the map view and see dropped pins of where each picture was taken on a map. The pin changes color indicated the currently highlighted image. On larger format devices such as tablets, the map view is displayed directly next to the preview and metadata. On smaller devices, the user can toggle between map view and the image preview. The app includes Facebook connection allowing for the albums created in the app to be uploaded as new albums with a custom name to the users linked Facebook profile. All images upload asynchronously, whether or not the app is in focus, and displays a toast notification when the album is fully uploaded to Facebook.

PhotoMap was my senior project at Cal Poly under the supervision of Dr. Janzen. This was inspired by my love for travel and photography after taking Dr. Janzen's Android class. The entire process included creating mockups of each screen and a user flow, getting feedback, and iterating on the design. Ultimately, the general UI layout managed to make it in place but do to issues with the code, getting a functioning app took precedence over a final, polished user experience.

View the code on Github.