Fullscreen Made with three.js

My name is Aleksandar Rodić but most people know me by Aki. I am a technical artist, creative coder or something along those lines.

I worked for Electronic Arts, Pixar, LucasArts and I currently work at Google Creative Lab.

My biggest passion is bringing high quality 3D graphics to the web and creating tools for all sorts of creative applications.


Daily Routines


When cheap and portable GPS devices became available few years ago, I had an idea to start tracking myself everywhere I go and make a data visualization experiment with that data after few years.

1099 days have passed since I started collecting the data. In the meantime, I learned about WebGL which made this a fun and easy project. I was hoping this data visualization will reveal interesting patterns in my movement governed by my daily routines, personal motivations and the environment itself. And so it did. You can check out the visualization here

The fist question people ask me about this project is how I collected the data. It is quite simple actually. I have been using Maverick App on my Nexus One/4/7 for years. It tracks the data in the background and stores it in standard GPX file format. It is not perfect, and it definitely cuts the battery life, but from all the apps I've tried it requires the least intervention on my part. There are many alternatives on the app market and if you want, you can use a dedicated device for tracking such as Garmin GPS watch

One of the biggest technical challenges was to render this huge data set in real time so I can interactively change the parameters to explore different dimensions and segments of the data. Fortunately, the computers are very powerful nowadays and with the help of some WebGL shader trickery it wasn't a huge problem.

Another challenge was to get rid of the "dirty" data. As you probably know, GPS reception can be very bad in closed spaces. Moreover, if your device relies on WiFi signals to approximate it's position, you can get very inaccurate data. Consequently, I ended up having some noisy lines, especially around my house and other indoor spaces. I was able to get rid of most of this data by filtering out points based on speed and distance threshold.

Because of unreasonable FTA regulations, I was not able to keep my phone turned on during flights. However, it is possible to approximate flights by detecting large gaps in existing data. This part of my application needs a lot of improvement but I'm happy with the results I have so far.

That is it for now. I plan to keep collecting the data and revisit this project in couple of years. If you have any questions, comments or you want to learn how to make this for yourself, you know where to find me ;)

My Site Has a New Look


I ditched Octopress and completely redesigned my website.

I've been thinking about doing something like this for quite some time and I finally got an excuse to do it.

Believe it or not, I am still in college, working on my masters degree. Not that I really need it but it doesn't hurt to have one. For example, if one day I decide I want to teach, I will need a masters degree at least. Moreover, immigration procedures are much easier if you hold a paper in your hand. So I'm going forward with this and if everything goes according to plan, I will earn my MA in Interactive Design and Game Development at SCAD by the end of this year.

This quarter I was in an online web development course (the irony). We were supposed to make a website using Adobe Flash. But since Flash and me separated few years ago (it wasn't Flash, it was me) I wanted to try out something new.

I wanted to attempt to integrate a 3D scene with 2D HTML content. I haven't seen many examples of people doing this and most of them try to force the 2D content into becoming 3D. This usually leads to distorted 3D planes flying around which is interesting but not ideal for content consumption. With that in mind, I decided to present all pages flat, facing the camera.

The second challenge was designing the 3D scene. I wanted it to be simple for both technical and aesthetic reasons. After a short sketching phase I modeled the scene in Maya and did some basic lighting using Mental Ray and voilà!

And last but not least, there were many technical challenges. Fortunately, Three.js library makes this job much easier. Most problems I ran into were related to CSS 3D transformations. If you wonder my all my pages have scroll bars, it is because if they don't, Chrome decides to hide them if you get the camera too close. I hope to make a more isolated test case and submit this as a bug but I've heard other people had this issue too so I wouldn't be surprised if they fix it soon. Anyway, I hope you like scroll bars.

Return to San Francisco


From now on I work at the Data Arts Team in Google Creative Lab.

After a 6-week visit to my home city Belgrade, I returned to my new home in San Francisco. I wish I could have spent more time with my friends and family but at the same time, it feels so good to be back. I’m really excited about my new job and the life ahead.

At this moment, I don’t know exactly what I’ll be doing at Google but it will most likely involve use of the latest web APIs for all sorts of creative experiments. After a year in the game industry, I have to admit I feel like Im falling behind the web tech but fortunately, I have amazing coworkers to learn from. The first thing on my list is the angular.js framework

Always in Motion the Future Is


Tomorrow is my last day at LucasArts.

It has been more than a year since I joined the force and it was a great journey! I had the privilege to work with some of the most talented artists in the industry and take part in making of the upcoming game Star Wars 1313. Working at LucasArts made my childhood dreams come true to say the least!

Most of my friends know that I’ve been switching career paths between animation, visual effects, web, games and all sorts of creative coding fields. You would think that by now I should figure out what I want to do. But the truth is… I’ve been doing it all this time! I was incredibly lucky to have the opportunity to choose and be chosen so many times. I can say I am happy with every career decision I ever made. I learned so much, broadened my perspective and met a bunch of really, really good people. Now, it is time to move on.

In January 2013, I will start working for Google Creative Lab in San Francisco! I’m happy to say that I already know the team and I’m excited to work with them again! We will make all sorts of Chrome Experiments to help the web become a platform for the Future. I am stoked to become part of Google culture and work on something that has a potential democratize the software industry and promote collaboration on a global scale. I will write more about it in the upcoming posts.

And last but not least, I want to mention some of the amazing people I had the opportunity to work with at LucasArts: Anupam Das - Brady Parell - Brian Recktenwald - Chip Lipscomb - Cliff Ramshaw - Dan Roarty - Dave Smith - David Kury - Dominic Robilliard - Eric Hartz - Jacobo Barreiro - Jason Rosson - Jason Smith - Jem Geylani - Jerome Lim - Jerome Platteaux - Jonathan Tilden - Jon Robins - Kim Libreri - Lutz Latta - Marcus Ng - Matt Furniss - Matt Brudette - Matt Koehler - Mark Bergo - Michael Koperwas - Nigel Ang - Nikki Smith - Paul Moya - Peter Nicolai - Pol Jeremias-Vila - Polly Ing - Roger Cordes - Steve Lee - Tom Banker - Yoon Kim

Always in motion the Future is.
Sometimes, let a Jedi know what may likely happen, the Force can.
But show what definitely will happen, the Force cannot.
Perhaps take comfort in that I can.

~ Master Yoda

5022 Miles to Go


It has been almost a year since I started planning for this trip with my brother. Starting from South Carolina we will travel across the country visiting major cities and national parks. It will be an epic journey and it is starting today. No computer will accompany me on this trip but Im bringing a plethora of other digital equipment so expect lots of photos when I come back to San Francisco.

Settling the Hub


I have been thinking about rebooting my website for a long time. So here it is! Fresh and transformed. I took out the garbage, transplanted some of the old projects and I’m starting over.

Some of the biggest changes are:

  • Format is changed to a blog. So far I haven’t been much of a blogger but hey… people change :)
  • The website is no longer hosted on Slicehost and it is moved to open-source hosting service provided by GitHub.
  • Static page generation is handled by Octopress and comments are powered by Disqus

I don’t have the project page yet, but most of my old projects are still there including:


Demo reel 2011

This demo reel represents my best work until 2011.
I should probably make a new reel at some point.

Star Wars 1313 is a game in development by LucasArts. I worked on various parts of texturing and shading pipeline and occasionally on some special assets like the real-time 3D Hologram projector.

ROME "3 Dreams of Black" is a WebGL project I worked on at Google. It was one of the most ambitious projects of its kind. I have credits for the asset viewer and some of the interactive effects in the experience.

Chrysaora is one of my first WebGL projects originally commissioned by SCAD as a multi-screen installation in Hong Kong Later on, I created this more refined and optimized jellyfish for the web.

The Origin of Mass is another SCAD project made with Houdini. It is an exercise in procedural modelling that become a motion graphics sensation. I owe the inspiration to demoscene and the music to Puryx