Welcome. Take a look at some projects I’ve been working on.

DavidXu.tech 🔗
This website right here! Newly redesigned to be clean and fun. More pictures, papers, and videos coming soon
  • A website all about what I’ve been doing.
  • Utilizes a custom version of Masonry for extra-exciting presentation.
August 2020
Patient Monitor
A cheap and reliable solution to enable safe monitoring of hospital patients.

Hospitals are currently exceeding capacity and strained for resources. Yet, in many cases, nurses and doctors must stay near patients to listen for alarms. Not only does this increase the exposure risk, it also further exacerbates the resource shortages.

While newer machines may support central telemetry, the majority of devices don’t. In addition, not only is it expensive to replace them, such a replacement results in substantial time costs from order processing, setup, and training.

Thus, this system was designed. It transmits audio signals from numerous rooms to doctors’ computers, decreasing exposure and also increasing efficiency while improving patient care. Now, each doctor can monitor many patients via a powerful web or desktop interface. At the same time, each patient can now be monitored by numerous doctors.

In the end, this system aims to provide cheap, reliable, and secure patient monitoring for hospitals. The device is scheduled to be tested in hospitals soon.

May 2020 -
InstruMini 🔗
A miniature string-esque instrument with two buttons and a joystick.

Photo of the InstruMini instrument

  • Modeled after string instruments such as the ukulele or the guitar
  • On-the-fly configuration allows rapid changing of instrument or “capo position” (i.e., musical key)
  • A joystick allows users to “pluck” digital strings
  • Fret buttons encode information densely, allowing a larger range of musical expression in a smaller form factor
  • Hardware interface is managed by an ESP32 which transmits user inputs to a Raspberry Pi for visual and auditory synthesis
  • 2nd Place Winner of Digikey Best Hardware Hack at MakeHarvard 2021 (submitted with instructor permission)

  • Created as part of the Columbia Creative Embedded Systems course
February 2021
Hybrid Sensor Sheet 🔗
A sensor sheet to detect both pressure and bending. It is made of a flexible material that can be cut into shapes.

Sensor Sheet PCB and Flexible PCB Photos Applications:

  • Rehabilitation (my friend recently tore his ACL, he hopes this will make physical therapy measurements less painful)
  • Augmented reality control (the sensor sheet can be cut to a hand shape, sensing finger bending and contact)
  • Sports monitoring (providing measurement of both posture and impacts)

Technical Documentation (code at end)

Demo Video

Thank you to SAIL and mHealth for funding this project.

2018-2019
Lightfield 🔗
Light-painting robotics!

'The Starry Night' drawn by the Lightfield device

  • Stepper and servo motors work together to choreograph the movement of a single RGB LED
  • A long-exposure photograph of the device in the dark produces light paintings
  • The paintings can be drawn using a provided web app or converted from a pre-existing photo using a Python script

  • Created for Columbia’s Creative Embedded Systems course
March 2021
Collecture
A searchable collection of university lecture videos

Screenshot of Collecture So many lectures are being held virtually right now. What if we could preserve and share them all?

May 2020
Vybe 🔗
A wearable device for distraction-free navigation

Vybe Device Photo Compatible with both iOS and Android, Vybe is a navigation wearable that aims to get you to your destination quickly and safetly – with no sounds or visuals to distract. Never again will you have to risk a glance at your phone while approaching a busy intersection.

Utilizing Bluetooth Low Energy and a custom haptics stack, we aim to make navigation both safe and intuitive.

Our company began at a hackathon, where we developed the initial prototype of the Vybe. After a big win there, we went on to interview at Y-Combinator and have not stopped improving on it since.

March 2020 -
Ga-Me 🔗
A game of Pong split across three portable screens

Photo of the three Ga-Me devices showing the Pong and generative art components

  • A Pong game is split across three devices. The left and right players control paddles while the middle player can influence the ball
  • The Pong game is rendered only on the screen where the ball currently is
  • The other two devices show generative art interfaces
  • However, when the ball reaches your screen, the work of art you’ve created is deleted
  • Keep the ball away so you can enjoy the creative process!
    \
  • Control of game state is transferred between devices using ESP-NOW, allowing for a low-power, lag-free experience
  • Created for Columbia’s Creative Embedded Systems course
April 2021
Path Prediction Microcontroller
A programmable Logisim microcontroller with a simple physics simulation

Logisim Microcontroller

  • Fully-programmable microcontroller created in Logisim.
  • 16-bit ISA

Logisim MCU Sample Output

  • Given a particle’s initial position and velocity, the microcontroller was programmed to output the particle’s position over time if it were to collide elastically within a rigid container of a given size.
November 2019
Shopper Social Distancing
Promote social distancing straight from the shopping cart!
  • Using localized communications, augmented shopping carts and baskets detect proximity of other such devices
  • Alerts shoppers of their proximity, encouraging social distancing
  • Can be used in conjunction with incentives (e.g., discounts for safe shoppers)
  • Additionally serves as a powerful customer analytics platform
December 2020 -

I’ve been tinkering with circuits for half a decade and programming for twice as long.

Cylindrical Connect 4
What if we took Connect 4, and wrapped it into a cylinder?!

Initial Prototype

  • Utilizes a custom 96-LED matrix arranged in an 8” tall cylinder
    • Prototype shown above, without wooden frame
  • Drop a new piece… or flip a column or spin a ring
  • Fast and fun, this project came complete with flowing animations
  • Best of all, the matrix and controller were designed to enable full-board displays with only a few connections using persistence-of-vision tricks
    • You could make your own for a few dollars!
  • Created with a team for the Columbia Art of Engineering Project Expo
2019
Lantern Display 🔗
Celebrate the Lunar New Year with lanterns projected onto your windows.

Photo of projected lanterns on window

  • Lanterns swing and sway with the “wind”
  • They are randomized in shape and size
  • Graphics are rendered on a Raspberry Pi which outputs the result to a projector
    • Photo shown above, however some camera-induced blur is present in the image
  • Created for Columbia Creative Embedded Systems course
February 2021
AI Browser Game
An online game where players write algorithms to compete with each other.

Sporting an in-browser code editor, this game allows players to write their own algorithms to control agents which compete with one another in weekly challenges. Rather than competing for the highest score as with many algorithmic competitions, instead the agents are free to interact with, aid, and sabotage one another.

June 2020 -
Seek and Hide 🔗
Play hide-and-seek across the dimension of time

Photo of the Seek and Hide device

  • Connect to the device’s Wi-Fi access point to receive its communications
  • Follow its hints and taunting messages to find where the last player hid the device
  • Then, hide the device somewhere for someone else to find later!
    \
  • Designed as a socially-interactive work of art despite social distancing requirements
  • Powered by a ESP32 which hosts the web server, acts as a Wi-Fi access point, and manages the connected presence and motion sensors

  • Created as part of the Columbia Creative Embedded Systems course
March 2021
Exercises in Web Technologies 🔗
A series of introductory exercises designed to introduce students to the advantages of more efficient browser capabilities such as WebAssembly and WebGPU.

Designed to work alongside a course at Columbia University, this series of exercises was designed to show the speed of new browser technologies such as WebAssembly and WebGPU relative to traditional methods such as JavaScript and C.

Examples currently include linked list traversal and matrix multiplication.

June 2020 - August 2020
Peww.io 🔗
An online game designed to be fast, shiny, and cheater-free

Screenshot of Peww Game Developed as a fun and fair game to play with friends and strangers around the world, Peww began as a simple top-down game and has been evolving ever since. Another game is coming soon!

April 2020 - August 2020
Nutriscient 🔗
The hassle-free food scale

Photo of the Nutriscient food scale

  • Weigh your ingredients while cooking and Nutriscient will automatically track your nutrition for you
  • RFID-based ingredient identification
  • Easy calibration procedure provides sub-gram accuracy
  • Steady-state detection algorithms allow for precise measurements in under a second

  • Created with a team of 3 for Columbia’s Internet of Things course
April 2021
Playlex
Don't know what to listen to? Pick your favorite word and discover a brand new playlist.

Playlex Sample Playlist (using the word "test") Utilizing the Spotify API, this website crafts a playlist of songs for you based on a single phrase and optionally a list of genres. There’s no way I’m the first person who’s wanted to listen to a playlist about “chicken nuggets”.

June 2020
Stourmet 🔗
Gourmet meals from your local grocery store. Find discounted and interesting recipes to make and enjoy!

Photo of recipes shown on the Stourmet page

  • Do you find yourself always making the same meals?
  • Using Stourmet, you can find actively-discounted recipes so you can try out something new!

  • Automatically gathers recipe, ingredient, and price data from external APIs
  • Powered by Ruby on Rails
  • Created with a team of 4 for Columbia’s Advanced Software Engineering course
February 2021 - April 2021
MeetPeople
A video chat system to meet new friends online
  • Features a grouping system so you can meet new friends while talking to people you already know
  • Accessible via Android, iOS, or web app
  • Powered by Node.js, React Native, Socket.io, and WebRTC
July 2020
Digitization Pen
A digitization pen to help with note-taking in the near future
  • Utilized inertial sensors to perform dead reckoning
  • Costs under $20
  • Designed as an attachment compatible with standard pens
  • Prototype video
2017-2018
MaskAPI
To use public services, wearing a mask is a must. Here's an easy way for anyone to integrate an automatic check.
  • Wearing a mask has been shown to reduce the spreading of disease
  • Yet, many refuse to do so, even in crowded public areas
  • Many businesses currently refuse service without a mask, but it is up to employees to enforce this
    • This setup leads to conflict and exposes employees to risk
  • This API provides a free online endpoint that any service can integrate, providing a fast and effective AI-powered mask check
  • Sample applications include in-app verification for delivery drivers, entry checks in brick-and-mortar shops, or even customer verification when calling a taxi
  • Powered by TensorFlow and OpenCV
September 2020
LearnPlatform
An educational platform designed for centralized online instruction.

While many educational institutions rely on a long list of services to enable virtual instruction, this system aims to combine all of those technologies in one place.

Features lecture recordings, video meetings, assignment submission, customized online worksheets, and more.

August 2020 -
VEX Robotics Autonomous Routine Recording System
Carefully crafted autonomous routines for VEX robots take days to perfect. Yet sometimes, you need to generate one on the fly.

Traditionally, an autonomous routine for a VEX robot is carefully planned, implemented, and tuned over the course of several days. However, some teams may not have the programming skill or time to do so. More importantly, even the most skilled programmer can’t develop a perfect routine without any testing in the midst of a competition.

This system allows a human driver to control the robot via a controller, recording the user’s actions. Then, during competition, the routine can be played back, recreating the motions via precise control systems utilizing PID controllers, velocity measurements, voltage readings, and sensor values.

The system can been exceptionally useful for designing an autonomous routine to synergize with an alliance’s strategy or to foil an opponent’s plans.

2017-2019
College Essay Writer 🔗
A minimalist tool for writing college essays -- or anything, really

Developed to aid in the college essay brainstorming process, this website serves as a simple tool to craft essays on. With the necessary metrics upfront and no distractions, users are able to experiment with essay ideas. They can also leave and take a break – when they come back, their essay will be waiting for them thanks to local storage capabilities.

September 2018
SpecPlanner 🔗
An app to help parents record behaviors of children diagnosed with ASD.

SpecPlanner seeks to help facilitate the care of children diagnosed with Autism Spectrum Disorder (ASD). It provides a streamlined calendar-esque tracking interface which allows parents to keep records of good and bad behaviors.

2018
VirtuAlso 🔗
An "invisible" five-octave piano utilizing hand-tracking technology.

Place two hands in the air and play away. By moving your hands and bending your fingers, you can play a five-octave piano as if it were right in front of you.

Note: Leap Motion sensor required.

September 2018
Online Game Console 🔗
A free online gaming console that supports multi-device control.

Designed as a free alternative to expensive gaming consoles, users can use a computer as the display while controlling the games from phones or tablets.

Note: The hosted version is set to always run a snake game. Make sure you have at least one “display” and two “controllers” connected – either on separate devices or separate tabs.

2015-2018
YRBK.live
A quick and simple way to enable yearbook signing online
  • With the closing of schools around the world, many are missing out on yearbook signing – a chance to share lasting messages with the people they’ve gone to school with for years.
  • While some solutions exist, they rely on cumbersome login and account creation systems.
  • YRBK.live is designed to be quick, secure, and registration-free. Via the usage of unique URLs, students can share their page so anyone can leave a message in an instant. Yet, only the owner can view these personal messages.
  • (This website, frontend and backend, was made in a day. It’s not the prettiest haha….)
July 2020
The Clean Air 🔗
Some words on air pollution with graphics and animations.

Winning a prize from Project Green Challenge, this website speaks about the dangers of air pollution with smooth scroll-based animations.

October 2016
Online Buzzer 🔗
An online buzz-in system for competition practice.

Created as a way to practice with my Quiz Bowl team, this website allows anyone to join a room with a computer or mobile device. Then, users can buzz-in at any time, with the earliest buzzes displayed to all.

Note: make sure you have at least one “display” and one “controller” connected – either on separate devices or separate tabs. The initial load time may be slow, as the system is hosted on a free Heroku dyno.

2017-2018
Musical Bobbleheads 🔗
These interactive bobbleheads will dance along with the music.

Pick a song and watch them move. Drag the heads to have some fun, or relax as these virtual bobbleheads move with the music.

2015

Want to see some of the code? Check out my GitHub.