Ghost Pacer.

Ghost Pacer is an augmented reality startup based out of Seattle. It was founded by a high school friend of mine and I've worked there since the summer before my senior year. Ghost Pacer builds super-lightweight augmented reality headsets for runners. These headsets feature fully custom, in-house hardware, firmware, and software. During the past 2 years, I led design and graphics development at Ghost Pacer. Here's some of what I built there.

The Graphics Engine

I built the embedded graphics engine that rendered the glasses' augmented reality visuals.

Learn More

What I Built


The Ghost pacer glasses use an OLED microprojector to reflect an image off of a partially transparent mirror in front of the user's eye. My job was to write the code that transformed abstract representations of what the user should see into actual images on that microprojector. Specifically, this entailed transforming both 3D and 2D assets into Open GL ES 2.0 vertex buffers that could then be loaded into the GPUs draw buffer and rendered to the screen.


The Ghost Pacer logo projected in the glasses' screen


Hardware Constraints


The glasses were extremely lightweight. In fact, one of the things that makes them remarkable is how small the overall package is. We achieved this form factor by building totally custom hardware from the ground up. However, this also comes with drawbacks. In particular, the glasses are forced to use an underpowered GPU to display the augmented reality scene. As a result, the graphics code had to be very low level and extremely optimized to run on our chipset. I had to take care to not waste any memory or compute power, so all the code I wrote was in C and C++. Since we were so constrained by performance, and since the chipset was so exotic and unsupported by prebuilt solutions, I had to write almost everything from scratch. This included the code for rendering 2D shapes, loading textures from image files, shading 3D models in the GPU, and an entire subsystem based around these extremely low-level processes.


The Ghost Pacer glasses side view (v1.5)


Results


My graphics engine powered two versions of the Ghost Pacer glasses (including the most recent one). It allowed us to display complex User interfaces with backgrounds, shapes, buttons, icons, multiple 3D models, and a host of other capabilities that would've been impossible without it. It helped us secure development contracts and it helped us impress potential customers in demos. I wish I could say more, and maybe someday in the future I'll be able to...

The Mobile App

I built significant parts of the glasses' companion mobile application.

Learn More

What I Built


Alongside my partner Izak Lewis, I helped develop the mobile companion application for the Ghost Pacer glasses. The main purpose of the app was to load running routes into the glasses and track usage statistics. I constructed the UI/UX for the app from scratch by myself. I also helped create the backend logic for the app, including data storage, API interfaces, and Bluetooth low energy connectivity.

Kickstarter + Web

I designed and created the (successful) Kickstarter campaign for the glasses, and built the company's websites.

Learn More

Marketing & Design


After demonstrating my design abilities in the mobile app, I was asked to lead the marketing design of the company going into our Kickstarter campaign in the summer of 2020. This involved personally drawing every graphic used in social media marketing and in the campaign itself, as well as redesigning our website for the launch. The website I built can still be viewed (although it's been downscaled significantly since then) here, if you want to take a look.

Other Projects.

Working on engineering projects provides me with a creative outlet that I really value. It's not uncommon to find me working late into the night on my latest pet creation because there are few things that fulfill me more. Listed below are some of the projects I've worked on recently.

DALI Lab VR


During the past fall quarter at Dartmouth, in addition to taking on a challenging course load and working for Ghost Pacer, I was also employed as a developer for the DALI Lab. The DALI Lab is a student-run organization at Dartmouth that builds computer science products for sponsors in the private sector.

My project was an educational tool for university chemistry classrooms. It allows users to view and interact with crystal metal structures in virtual reality using an oculus quest 2. I created the logic used to programmatically generate the crystals in virtual reality based on their bravais lattices.

Tackling Food Waste


In the summer before my freshman year at Dartmouth, I built an app designed to help alleviate food waste in Restaurants. It matched restaurants with food banks and homeless shelters in their area that could pick up leftover food.

Restaurants could post food that they were about to throw away, and food banks could see the postings in real time and reserve them for pickup. The app was built using SwiftUI and featured Firebase data storage, firebase push notifications, and Firebase location tracking to allow all parties to stay updated in real time.

Check out the code on git >

REAL


In January of 2021, I started working for my former physics professor Robyn Millan. She runs Relativistic Electron Atmospheric Loss, a research group that's launching a satellite into space next year. She needed me to build a website, an online data portal, and a satellite tracker for her project. The website was built using React.js and featured a 3D model of the earth upon which I overlayed the current position and trajectory of the project's satellite using data from NASA's API. The website's backend was built using Node.js and Firebase.

See a preview of the site >

CS50 TSE


One of the landmark projects of CS50 (software design and implementation) at Dartmouth is the tiny search engine. Written entirely in C, it uses curl and Google's web indexing technique to crawl, index, and scrape a subsection of the internet. The indexed data is mapped to each page and the number of times it appeared on that page. It uses basic query processing to parse user searches into index queries from which webpages can be scored and returned to the user in a ranked list.


Huffman Encoding


Another project I found really valuable from school was Huffman encoding. In CS10 (data structures) I built an encoding algorithm that uses binary trees to compress text files. This is one of the projects that sparked my interest in algorithms and convinced by to look deeper into the field.

Class Reviews


In my senior year of high school, we were given an extremely open-ended, 4-week web development project. I decided to build a comprehensive web service that would be useful for my peers.

"Rethink Lakeside" is a website that allows students at my high school to rate and review any class listed in the school's curriculum guide, and see what their peers think of any class offered within the school. The website allows students to make better-informed decisions about what courses they will take, and it was utilized by many students before its MySQL servers were reset. (The website features 100% custom CSS, and it was not built for mobile devices)

Take a look at the site >

My Skillset.

I’ve worked professionally as an engineer and designer since I was 16. Over the years, I’ve developed apps, built websites, created a successful Kickstarter campaign, built a search engine, created an embedded systems graphics engine, and quite a bit more. Here are some of the skills I’ve picked up along the way.

Programming Languages



C


C++


C#


Java


Swift


Python


OpenGL/ES


JavaScript


Go (GoLang)


Matlab


HTML/CSS


PHP/MySQL


VR/AR Dev



Unity


Blender


PowerVR (by Imagination)


Web Dev



React.js


Node.js


Static


App Dev



SwiftUI (iOS)


UIKit (iOS)


Android Studio


Industry Tools



Git


Docker


Firebase


About Me.

Hi, I'm Sid. I'm a current student at Dartmouth College majoring in computer science and mathematics. In my free time, I love to hike, read, play FIFA, and I'm a huge fan of Real Madrid (the soccer team). I'm currently looking for a job starting in the summer of 2024, so please feel free to reach out if you can help me out or just want to talk!

Photography.

I also like taking photos from time to time. Some of my product photography is also featured on Ghost Pacer's website. Here's a sample: (Click to enlarge)







Contact me


Your email:


Your message: