let mut me = Dev{
    name : String::from(“Gene”),
    age : 18,
};

Persistence

I love what I do.

me.About()

"""Im from Jakarta, but I lived most of my life in Ithaca NY. I moved back for a family thing, but I hope to stay in the States! Be it teaching me or working side by side, all the worthwhile things I do have been influenced by amazing people. If you have a good idea and need some people to run with it; or just want to gym, hoop or grapple; contact me! I hope to spread the love, and maybe learn something new in the process. """

Skills

Frontend,
Backend,
Computer Visions,
Machine Learning,
webscraping,
Electronics
CAD,
Data analysis,
Discord Bots,
Databases,
MC Plugins,
Video Editing,
3D modeling

Tools

Python,
Rust,
C++,
Raspberry Pi + Components
Java,
Verilog
HTML/CSS/JS,
R,
Matlab,
Heroku,
YOLO,
Tensorflow,
OpenCV,
nextcord,
MongoDB,
Latex,
Flask,
Manim,
jupyter notebooks,
Autodesk Fusion 360
SQL,
Rocket,
numpy,
Pandas,
Limelight,
Jevois,
Spigot,
Blender,
Davinci Resolve,

Experience

Intern
@Cornell SonicMEMS lab
2024

Experiment Dev
@Cornell SC Johnson
2024

Intern
@Lockheed Martin
2023

Research Intern
@Cornell Autonomous Systems Lab
2023

President
@IHS Dev team
2022 - 2024

Computer visions head -> Mentor
@Code Red Robotics
2022 - Present

Honors

Amazon Future Engineer Winner
@Amazon
2024

Best Beginner Hack
@BigRed//Hacks
2024

Finalist
@BigRed//Hacks
2024

First Robotics Dean's List Semifinalist
@Code Red Robotics
2023

First Robotics Innovation in Control Systems Award
@Code Red Robotics
2023

NASA Lunar Gateway Cargo Storing Design Challenge Semifinalist
@NASA GrabCad
2024

Cornell University Dept of CS Award
@Ithaca High School awards ceremony
2024

RIT Computing Medalist
@Rochester Institute of Technology
2023

Sam Lafferty Memorial Achievement Award, 2024
@Ithaca High School awards ceremony
2024

Ruth E Polson Academic Achievement Awardd
@Ithaca High School awards ceremony
2024

Languages

English
2006 - now

Bahasa Indonesia
2006 - now

Latin
2020 - 2022

me.Quote()

    "Be rootin, be tootin, and by God be shootin; but most of all, be kind."

Prolificity

Its 100 degrees, why you feeling down? whats the problem?

me.Work()

“””Catch me if I fall.”””

Lives SMP

Lockd

Big Red Hacks 2024 Finalist and Best Beginner Hack.

CODE RED

Lockd.

Project we built for BigRedHacks. We created a motorized smart lock system with remote control and break-in detection, along with an app to go with it. The lock system was built using a Raspberry Pi and a Servo, supported in a 3-D printed case. A shock and sound sensor connected to the Pi was responsible for break-in detection. The app was scaffolded using React Native with Expos for the frontend and Flask for the backend, and connects to a web server hosted by the Pi. By sending requests to various API endpoints from the Pi's web server, the app is able to remotely unlock and lock the system, and monitor for any red flags raised by the detection system. Whenever suspicious activity is detected i.e. the sensors detect activity beyond normal threshold, a push notification and email is sent out to everyone in the group.

Links:

Lives SMP

Scroll Nudge Experiment

Code for the Scroll Nudge Experiment

CODE RED

Scroll Nudge Experiment

Context: The paper aims to study how ranking quality affects seller behavior on a B2B platform. The platform arranges buyer requests sequentially on a seller’s log in page. When the seller logs in, they view requests sequentially starting from the top and click on a button called “contact buyer” if they want to transact with the buyer. The platform generates revenue from the number of times the seller clicks on the “contact buyer” button. The platform is making investments to improve ranking quality, i.e., it wants to show buyer requests that have the highest value to the seller at the top of the page. Empirical results from my paper thus far show that as the platform improves ranking quality, sellers decrease the number of positions viewed on the page, i.e., they do not scroll deep. While this is a good outcome for the seller as they spend less effort on the platform, it may lead to lost usage for the platform, i.e., since the seller is not scrolling deep, there is a possibility of there being a request that the seller would have liked (or clicked “contact buyer” button) if only they had seen it. To overcome this possibility, we are recommending the platform to accompany their investments in improving ranking quality with scroll nudges. A scroll nudge is a prompt to the seller to scroll at least up to a certain position number before ending a session. We want to test this strategy using an experiment at different levels of ranking quality. Goal: Study the impact of scroll nudges on the number of “contact buyer” clicks and views of the seller at different levels of ranking quality.
Experiment design: We two groups of participants as follows: without a scroll nudge with a scroll nudge Each participant will be asked to play 30 rounds. In each round we will show a list of 500 requests each and the participant is asked to find all buyer requests which have a value greater than a threshold V (= 75). Among the 30 rounds, 10 will have perfect ranking, 10 will have partial ranking and 10 will have random ranking. The sequence in which the perfect, partial and random ranking are shown can be randomly generated with the following conditions met. Among the first 6, there must be 2 partial, 2 perfect and 2 random sequences Among the last 6, there must be 2 partial, 2 perfect and 2 random sequences The rest can be sequenced randomly. Compensation: Participants will be paid a fixed fee to participate, and a small compensation based on the number of requests they find with a value greater than V. How do we rank: We consider that the value of each buyer request for a seller comes from four features, say x1, x2, x3, x4, x5, x6. The value from each feature is randomly drawn from uniform distributions U(1,17), U(1,19), U(1,14), U(1,19), U(1,17), U(1,14) respectively. The total value of a request for a seller is the sum of values from all the features. Perfect ranking: We obtain this by sorting requests based on total value Partial ranking: We obtain this by sorting requests based on value from only A and C Random ranking: We do not sort.

Links:

Lives SMP

FightRig

The Bag that hits back.

Octane7

Fight Rig.

The status quo requires that you go to a gym to train striking sports. Why? Because you need to train with a reactive partner, who will not just take all your hits, but will dodge, and most importantly, Hit Back. We interviewed, observed, and even immersed ourselves in combat sports around ithaca, including Black Irish Boxing, Corazon Martial arts, Ithaca Jiu Jitsu, and even personal trainers. In each area, we saw that people only trained in partners. When asked, they said that training is about building their "fighting sense." For example, Spencer from Black Irish Boxing stated that when he went into his first sparring match, he thought he was going to be able to plan things out, and do combos. This all stopped when he got hit. People fight very reflexively. They need people to train with to build that skill. However, we thought that as engineers, we could do better. We are making a training dummy that hits back. Paired with an array of motors and YOLOv8 powered computer vision, our robot will hit you where you are open.
Before you needed a partner, a gym, and a car. Now you just need a Fight Rig.

Links:

Lives SMP

Whole Lotta Red (Red hot chilli bot)

"The code for 2024 FRC Visions"

CODE RED

Whole Lotta Red (Red hot chilli bot)

For the 2024 FRC game, Crescendo, I continued doing PnP but this time: with 6 cameras. Goodbye Code Red Robotics!

Links:

Lives SMP

Cornell ASL Jackal

Human robot interaction with contradicting values.

Octane7

Cornell ASL Jackal

Robots have the potential to assist in emergency evacuation tasks, but it is not clear how robots should behave to evacuate people who are not fully compliant, perhaps due to panic or other priorities in an emergency. In our study, we compare two robot strategies: an actively nudging robot that initiates evacuation and pulls toward the exit and a passively waiting robot that stays around users and waits for instruction. Our robot uses the drive base of Clearpath’s wheeled robot, Jackal, and uses a LIDAR for mapping surroundings, along with cameras for human tracking. The robot will use the LIDAR to localize where it is on whatever map we have given it and will use waypoints to guide users to the exit. For our study, we time people to retrieve objects of value stored in safes and “escape.” They are given a sheet of paper with a lookup table of the code for each safe. Each run is recorded with go-pros placed around Rhodes Hall for further analysis. We have run pilot studies for each of the evacuation methods, and are currently implementing feedback from participants, for the main study that will happen this November. We will submit our paper to the Robotics Science & Systems (RSS).
I expanded our particle filtering method to handle sensor uncertainty and navigation in unmapped areas. This algorithm projects the human's position onto the roadmap between waypoints. It involves evaluating every segment between waypoints, excluding those intersecting with walls to create a roadmap. The robot moves to the nearest projected position and follows the human within its navigable area. For the waiting robot, users signal their readiness to be led to the exit using Shadowsense. By placing their hand on top of the robot's inflatable balloon with an embedded camera, the camera detects the hand and signals the robot to change states. I made necessary modifications to the existing code, particularly refining the support vector machine (linear neural network). This involved fitting the model across a grid of hyperparameters, saving it for future use, and deploying it. I developed a state machine that uses the classifier and localization data to ascertain the robot's current state. It also controls the UI by projecting various images on the balloon providing instructions. I developed an algorithm, processing a text file of walls to create a “bloated map”, ensuring the robot avoids corners when following waypoints with Dijkstra's algorithm. Additionally, I also quick fixes to the robot code such as inverting the output from feedback linearization and recording training data. All work is implemented as ROS (robot operating system) nodes for deployment.

Links:

Lives SMP

FKTXT

Detecting Distracted Drivers

Octane7

FKTXT

Over 1.6 million car crashes happen annually due to texting and driving. We wondered how we could help. This started out as a prompt for an engineering presentation, but we decided to go further. We prototyped our software with the pretrained YOLO dataset and the mediapipe hand landmarking model.

Links:

Lives SMP

Beluga Sturgeon Financial

Open-access to financial data and AI financial modeling

Octane7

Beluga Sturgeon Financial

After AP exams, Jun and I decided it would be really cool to create a finance firm (right now its just a tool). We thought it would be really cool to combine our skills to create a really great trading model that can be easily accessed and used by anybody. The model expands on Jun's generalized Deep reinforcement learning approach, by adding geometric brownian motion as an indicator. I worked on experimenting with sentiment to see if it was a good indicator. Unfortunately, due to its volatility, it would not provide much advantage to the model. The website shows the stock price over time, the "state" of the environment over time, and finally a recommended action. (0 for short, 1 for idle, and 2 for long.). We have realized that simulation time is quite a bottleneck for website performance so I rewrote it with pytorch to take advantage of parallel GPU computations.
Website allows users to purchase “portfolios” which advise them on how to partition their money among chosen stocks. Utilizes firebase database, firebase authentication, and PayPal API.

Links:

Lives SMP

Nasa Lunar Gateway Storage System

Semifinalist on GrabCad Challenge

CODE RED

Nasa Lunar Gateway Storage System

GrabCad design challenge. Worked with Arda Griffin and Ziqi wang. My part was to CAD the containers for the boxes.

Links:

Lives SMP

Octane7

Fan design is a bit hard

Octane7

Octane7

I was playing rocket league one day. "dang these cars are cool, what if I made one?" So I sat down my boys and pitched the idea. I proposed some ideas for the jumping, and propulsion, and we had a good discussion. This is going to work. We will make a toy rocket league car that can jump, and do aerials. There are 4 subsystems on the robot we needed to tackle. Each runs on their own thread. **Controller input** Just constant update of buttons and axes **Engine** This is the easiest part. Slap a dc motor onto the back wheels. **Steering** Steve handled this. You see, real cars dont just have a servo that turns the wheels the same amount, as the outer wheels need to turn less than the inner wheels. Steve designed a differential, along with a steering mechanism. **Boost** I worked on this part. We thought of using combustible rockets, then jet engines, and finally decided on an EDF. I caded multiple designs (one of them is shown above) and had Mukund print and test them. If we cant engineer a good EDF, I will simply buy the 7kg thrust nuke off amazon. **Jumping** I also worked on this part. I looked up jumping robots, and found a good spring loaded flea like mechanism that looked promising. I printed a prototype, and it can jump quite a bit! However, we are also considering using the jumper from the spider jumping rc car toy. The downside would that it would be pushing off the ground itself instead of the wheels.

Links:

Lives SMP

JHU-CTY

Lots and Lots of jupyter notebooks

CODE RED

Johns Hopkins CTY

This is a repository of turned in work for the Center for Talented Youth at Johns Hopkins University, Investigations in Engineering. This course was taught by Dr. Manuela Badea TA. Yarin C.A. Throughout the 3 week course, we completed lots of labs, and projects, with each of them documented here. I chose to do most of my writeups in notebooks, as it seemed like a great tool when working with datasets and calculations. I tried R, but Im better with np and pandas haha. For one of the projects, I designed and prototyped an anti-texting device, and I think I might pursue it, dont know though. Kinda overloaded with other things. Check it out. CTY is fun

Links:

Lives SMP

Gerrymandering analyzer

"Rule-Based filtering and analysis"

CODE RED

Gerrymandering analyzer

Gerrymandering, the manipulation of district boundaries to benefit a particular political party or group, is a serious issue that undermines the integrity of democratic elections. It can result in the unfair representation of certain communities, the suppression of minority voices, and the consolidation of power in the hands of a select few. Our program aims to allow the user to input an image of a voting district and establish the values of the contiguous, compactness and solidity of the district. We define solidity as the area of a contour subtracted by the areas of all child contours, divided by the area of the parent contour's onvex hull. A convex hull is a boundary which a line segment connecting any two points within the boundary does not intersect the boundary. Compactness of a voting district is measured in a different way. If the shape of the voting district is a perfect circle, the compactness will be 100%. The general formula for compactness is: 4π * (A/P²), where A is the area of the district and P is the parameter of the district. For visualizatoin, a circle that has the same area as the distric will appear upon the district These values will allow the user to then calculate whether or not the district has fallen victim to political gerrymandering or not. In addition, the program can aid the user in determining what group or groups have been suppressed. Upon running this program, 3 windows will open. The first has sliders, which allow ou do configure different color filters, and display different elements of our analysis. The second is the display window. Upon filtering districts, ideal circles will be drawn along with contiguousness and solidity values. You also have the ability to select different districts by clicking on them. Finally, there is a filtering window. Our filter method relies on an HSV filter for colors. The filter window assists the user in finding their desired HSV thresholds for the districts they wish to analyze. We hope that our program can lead to the removal of gerrymandered voting districts and the unfair representation of minority groups and communities. In turn, this will allow us to hold fair and impartial elections and promote greater transparency and acountability in the political process. We believe that developing a reliable and accurate tool to detect gerrymandering, we can ensure that all voices are heard and all communities are represented fairly in our democracy.

Links:

Lives SMP

Tyrannosaurus Red

"The code for 2023 FRC Visions"

CODE RED

Tyrannosaurus Red

For the 2023 FRC game, Charged up, Code Red made three pipelines, used 5 cameras, and won an award for integrating them into the robot code. One for global positioning, one for game piece detection, and another for game piece orientation. I worked heavily on the first one. Photonvision was mentioned, but a limelight didnt provide a sufficient FOV for detection in the community, so we wrote our own pipeline from scratch. This process forced us to learn how pose estimation was based upon fundamental projection concepts. The details are detailed in documentation I wrote, and I also made this the basis of my AP lang research paper. and ran three cameras, a thread for each. We put a PC on the robot, and made our python script a systemctl service, which ran on startup. The second pipeline, was mainly worked on my Rocky Shao, and involved HSV filters on an RGBD camera, and distance calculations. The Third, was for a deprecated indexer subsystem. Good season overall man I loove solvePnP

Links:

Lives SMP

Math animation for finding determinants

"Another shaun project."

CODE RED

Math animation for finding determinants

I made this to freshen up my manim skills for writing visions documentation for Code red. This was also a project for my math teacher. it was supposed to be extra credit, but I didnt finish the animations in time.

Links:

Lives SMP

Inverted Spear of Heaven

"A dagger from jjk"

CODE RED

Inverted Spear of Heaven

I made this to potentially print, and (maybe?) cosplay. If you read Jujutsu Kaisen, you know that the person who weilds this is none other than the absolute UNIT, Toji Fushiguro. Ever since I started working out, I always wanted to have a physique like his. Back, Triceps and forearms. This october, boys, this october.

Links:

Foresight

Holiday Code Jam 2022

A coding competition for the IHS DEV team

Foresight

IHS DEV TEAM Holiday Code Jam 2022

For Dev Team, I wrote a beginner level coding competition. It was really fun making the problems, and writing the solutions. Took much longer than I expected. Dont even try to look at the github before the deadline.

Links:

Foresight

Tau / 2 r squared

A Defense of the Area of a Circle in Terms of Tau

Foresight

A Defense of the Area of a Circle in Terms of Tau

I watched a 3b1b video. My math teacher, Shaun Errichiello also had a project. "Well dang those animations go hard." So I learned manim. This proof just details why Tau/2 r squared is actually better than the traditional pi r^2. The focus is maintaining the integrity of the circumference.

Links:

Foresight

Handwritten Digit Recognition

A deep neural network to recognize handwritten digits -- In Rust.

Foresight

Handwritten Digit Recognition

I watched a 3b1b video. "What if i wrote it in rust tho?" So I did. I had to first write a json version of the mnist dataset, which then I parsed with rust's serde_json library. I looked 3b1b's code for a neural network. Even though it was in python, It was hard to read. I didnt want to look at it. So I didnt.
A friend of mine had sent me resources about writing neural networks from scratch. I looked at them, and didnt understand anything. I studied up and it makes sense now. At one point, I scrapped a bunch of code, and rewrote the whole project, because I was modularizing too much, and things were getting blurry. I rewrote it, and tested things. When debugging, I was forced to write debug code, so things look nice. The pretty printed structs in the console are something I take pride in. Unlike my car driving neural net, this one actually implements "learning." It took a while to wrap my mind around the calculus, but I just now think of stochastic gradient descent as changing each knob in a mystery machine by its derivative with respect to error. After a lot of changes, the machine will be fine-tuned for the job.

Links:

Foresight

Foresight

Neural Network stock prediction.

Foresight

Foresight

The Foresight is a webapp that does stock price prediction with tensorflow's LSTM dense model.
Foresight splits its responsibilities into 2 applications: The webapp, and the Foresight API.
The webapp is responsible for displaying content, while the API does most of the heavylifting.
I did this, because I needed to access data in javascript that is only available with python libraries.
So, I just had my scripts send queries to a python application: the Foresight API.
Foresight took a lot of work. Routing, Styling, Scripting, Webscraping, Machine learning, integration and deployment were all things that needed to happen.
it was daunting at first, but my enthusiasm increased as things started coming together, especially after integrating the graph (Huge thanks to anychart)
The grind began during the summer. i tried my best to do a little bit each day I could. (Not that successfull, check my github)
Its here now. feels good.

Links:

ForesightAPI

Foresight API

"Google finance + Machine learning"

Foresight API

Foresight API

The Foresight API is the brain behind My Stock prediction webapp foresight. It scrapes data from the google finance website, and makes predictions using Tensorflow's LSTM Dense model. Its also open source, so you should check out the github, and some of its endpoints:

Links:

NEURAL NETWORK TRAFFIC SIMULATION

Neural Network Car Sim

"Way more trig than expected"

NEURAL NETWORK TRAFFIC SIMULATION

Neural Network Traffic Simulation

A project made entirely on vanilla javascript HTML and CSS. Implements a basic feed forwards neural network which determines the Cars movements. The simulation relies on random variability in the parameters instead of stochastic gradient descent. In other words, it omits the calculus. The Car movements made a great application of the unit circle.

Links:

CODE RED

Red Zeppelin

"The code for FRC 2022 visions"

CODE RED

Rapid React Robot Vision

Rapid React, the FRC 2022 game was very similar to basketball. Code Red Robotics (My Highschools Robotics Team), wanted a visions pipeline that would accurately track the circular target and relay its distance and angle data at a high rate. We delivered. I worked with one other student and a mentor to create not only a target tracking pipeline, but also a ball tracking one. This was the first year that the visions sytsem worked on the robot. The target tracking pipeline was deployed on a limelight, while the ball tracking one was developed on a jevois camera. Both used OpenCV, involved lots of trig, and yielded results that required (mostly) linear corrections. Overall, It was a solid pipeline that helped the team perform amazing at the competition.

Links:

Lives SMP

Lives SMP

"MC Life system with lifesteal."

CODE RED

Lives SMP

Lives SMP is a spigot plugin for minecraft that implements a life system. In this life system, You can donate lives, and steal lives when you kill another player. When a player's lives reaches 0, they are put in spectator mode, and a message is shown to everyone in the server. This was my first java project, and It was really fun making it.

Links:

Lives SMP

Lightsaber

"A cool lightsaber I designed"

CODE RED

Lightsaber

I made this lightsaber for a project in school. I hope to print it. First cool thing I made with CAD software.

Links:

Peoples republic of IHS

Peoples Republic of IHS

"just a joke, chill"

CODE RED

Peoples Republic of IHS

The Peoples Republic of IHS is a discord bot made for my highschools discord server. Each server member is given social credit, which may increase or decrease depending on what they do. This project is open source, I am not maintaining it anymore, but feel free to fork and make pull reqs.

Links:

CodeBozu

BozuBot

"Insane Time Constraint"

CODE RED

BozuBot

BozuBot is a discord bot made for the CodeBozu communnity. Codebozu was a cornell edtech startup, which offered coding courses. I wrote this bot in like 2 days. Rishi hit me up and asked me If I could make a bot that could sort people into groups based on a google spreadsheet. I said yes. This bot also adds support for Bozu point tracking, which was an awards system in the community. Unfortunately, CodeBozu has been discontinued.

Links:

ReflexTesting

Reflex Testing Game

"Aimlabs but with a camera."

blue circle

Reflex Testing Game

This game is played with a camera. The goal is to catch as many circles as you can with your hand. This project was made to help me get familiar with openCV before the code red season. It uses a library that adds landmarks to where the joints in your hands are, after that its just basic math.

Links:

Amoris

Amoris

"What you've always wanted in a bot."

CODE RED

Amoris

Amoris was a discord bot that had an absolute truckload of features. It was my very first project in python. So everything new that I learned, would have some implementation in Amoris. Each of the systems in Amoris was interconnected. You want to play minecraft with your virtual friend? You need to buy a pc and minecraft from the shop first. And make sure your PC meets the specs minecraft has. You need money? Get a job! Job application rejected? Get some xp first. Or, if you want secondary income, you can fish, mine or hunt (make sure you buy the correct tools to do so). Want to get better loot? Craft better tools. Someone is trying to rob you? Defend yourself! Got beaten, upgrade your stats by levelling up! Use your money to buy weapons and items that have different abilities and ultimates. I even made a webapp that you can change personal settings from! Amoris' main feature was the.. well.. lets call it the "friend simulator" This simulator allows you to customize everything about your buddy. Images, personality, etc. The cool thing is, The experiences with your friend are saved, and their responses update as well. Its like talking to a real person. This is thanks to GPT-3, an incredibly advanced NLP engine.
It should also be noted that Amoris has a webapp that users can go to modify guild settings. Source code is linked down below. It was an excellent application of MongoDB.

Links:

Calcom

Calcom

"Your solution to computation."

CODE RED

Calcom

Calcom is a graphing calculator made by PyCalc X. It has a TON of features including number theory and matrices

Links:

puzzles

Puzzles

"Discord code jam submission"

CODE RED

Puzzles

This was the submission for the discord code jam hosted by the Python discord server. It was a competition among groups made of individuals who had solved the qualifier. It was my very first time working in a group with other developers, so it was a very valuable experience.

Links:

Politician Scraping

Politician Scraping

"Analysis of webscraped US Politician Data."

CODE RED

Politician Scraping

This was a project focused on webscraping from various web sources and running sentiment analysis. In this paper, my group details its results and process scraping statistics from the web. In the last scrape, We generated a heatmap which showed different news sources sentiment towards different presidents.

Links:

Pleasure

Heart attacks in broken waves.

Gaming

Gaming
You dont get another chance, life is no Nintendo game.

Exercise

Exercise
5 percent pleasure, 50 percent pain,

Music

Music
You make elevator music

Socials

Socials
A thousand you's, only one of me.

me.Contact()

"""so call me, maybe?"""