There exist certain exoplanets, possessing certain atmospheric/surface-level conditions, that might
endear themselves toward sheltering liquid water, and in turn, extraterrestrial forms of life.
These questions of habitability were foundational to NASA's 2009-2018 Kepler mission,
whose telescope detected roughly 2,600 exoplanet candidates.
Among them was Kepler-1649c: now renowned as a particular habitable exoplanet, it was first misclassified as a False Positive
by an automated screening procedure that NASA calls the Robovetter.
Propelled by Kepler-1649c's misclassification, I developed a program that would remodel the
phase-folded light curves of exoplanet candidates, improving upon the original
light curves extracted by the Kepler pipeline. By extracting light curves from a set of 20 different apertures,
all the while optimizing parameters via Simple Aperture Photometry (SAP) to increase the curve's photometric precision,
I was able to arrive at an accurate classification of Kepler-1649c — and many other sample candidates —
as bona fide exoplanets.
A non-suspended, animated fluid obeys dynamics governed by the Navier-Stokes equations:
a set of partial differential equations, that this project discretizes for a two-dimensional grid.
By developing high-performance, computational code for fluid simulation, and logging
the x-velocities and y-velocities of the subject at points across a grid, I
sought to augment a "mesh-like" representation with a vectorial one.
I then displayed my results within an interactive matplotlib interface,
allowing users to drag, zoom, and save the product.
This project was completed under a research internship with the
Dartmouth Visual Computing Lab.
I presented its results at the 28th annual Karen E. Wetterhahn Science Symposium.
As a final project for a course in software design and implementation,
I collaborated with two other students to create a client application that would "solve"
for the convergence of several avatars in a server-generated maze. The server would randomize
the number of avatars we had to work with, the locations that these avatars "spawned" at,
and the locations of the walls that made up the maze. Our algorithm used a
Right-Hand Rule heuristic optimized by Manhattan distances and breadcrumbs. It was
successful in solving for the convergence of up to 10 avatars in a 9x9 (maximal size) maze.
For additional credit, I singlehandedly built an animated GUI to visualize our algorithm's
solving process. By creating 10 overworld, 8-bit sprites to represent avatars, and
constructing the maze as a series of connected lines, I was able to log each step
as a frame in the animation.
CrabQuest is a point-and-click game about an unexpected symbiosis between a giant crab monster and a family of moles.
It was — is, rather — being made in Unity.
Current features: a non-humanoid, third-person player; a dialogue system featuring various NPCs;
multiple buildings to enter, and a sprawling winter wonderland to explore; a minimap of the overworld; an inventory system;
a pause menu; and a heartwarming, albeit barbones, little story.
Features in development: more areas to explore in the overworld; a quests system; minigames for item retrieval;
more NPCs; a main menu; and, well, more of a story.
All done in Procreate. Assembly in progress.
Hover over each image for more details!
(The pixel floaties you see above are also made by yours truly.)