I contributed to the development and enhancement of the AAPL website, a leading resource for physician leadership education and networking. The platform offers online courses, membership management, event registration, and a rich library of resources for healthcare professionals.

My work included building React components, optimizing user experience, and integrating third-party APIs for seamless course delivery and member engagement. The site is built with Next.js and leverages modern web technologies to ensure scalability and performance.

Visit physicianleaders.org to explore the platform.



Multiplayer Fighter is a browser-based real-time fighting game featuring online multiplayer matches. The game uses an authoritative server architecture powered by Socket.io to ensure fair play and synchronized game state across all clients.

Players can join matches, control their fighters, and compete against others in fast-paced battles. The server handles all physics and collision detection, preventing cheating and maintaining consistent gameplay.

The frontend is built with React and communicates with the Node.js backend via WebSockets for low-latency updates. Try it out at fight.raveaboutdave.com.



This Poker app features real-time multiplayer interaction, allowing users to join tables and play Texas Hold'em with others online. The app uses WebSockets for instant communication between players, handling game state, chat, and actions like betting and folding.

The frontend is built with React and Next.js, while the backend leverages Node.js and Socket.io for scalable, low-latency updates. Video demos showcase live gameplay, table management, and interactive UI elements.

Explore the app at poker.raveaboutdave.com.



Della was my first job as a Full Stack Developer. I was brought on during the startup phase to build out the entire code base, including those elements which operate on the Blockchain.

Della (originally QAltFi) is a platform desgned to offer an alternative to traditional home loans. It's connected to the Ethereum blockchain, and uses "smart contracts" to orchestrate the tokenization of real estate.

Users create a profile and act as either real estate investors, or as home buyers who initiate a campaign to crowdfund a home purchase. Investors purchase share tokens representing fractional ownership of the real estate. The home buyer lives in the house and is responsible for all utilities, taxes, insurance, and upkeep. Ideally, the home buyer also has an ownership share in the property great enough to ensure investors that they won't let the house fall into disrepair.

After a certain holding period, the tokens can be traded on the secondary Marketplace. Without the pressure of meeting a monthly mortgage payment, the home buyer is free to save up money and is offered first rights to buy back shares of the home they live in.

The original (MVP) QAltFi site was built with VueJS, EJS templates on Node, and MongoDB.

I later moved it to a server-rendered SPA with code-splitting to improve UX and loading time. Della is built with the NextJS framework.



Stocker pulls in data from an IEX Trading API. I wrote my own canvas charting code, which was a great exercise for learning to draw on Canvas. I was interested in tinkering with automated price monitoring, and signaling. Writing functions to handle all the data for 8000 stocks really taught me to think about data processing in efficient ways. It has opened up my world to Linear Algebra, and ML algorithms. Currently I'm researching ML techniques and patterns with Python, Pandas, Numpy, Scikit-learn, Tensorflow, and Currently working on my D3.js chart making skills. D3.js is an amazing library!



Waves was inspired by my love for surfing, and always checking the NOAA website for the buoy readings. I wanted an easier way to read all the data in one spot. This app uses Cheerio to collect the buoy data from the NOAA website. The Swell markers display the location of the buoy on the Leaflet map, the marker size shows the swell period, and the color shows the wave height. There is also wind data, and the temp is yet to be coded up. Clicking on the marker icons reveals a nice graph and list of recorded data.



IOT Haiku is the name I gave for my Internet of Things temp sensor for my office in Haiku, HI. It uses a nodeMCU, which is a lot like an Arduino, with built-in WiFi capabilities. The WiFi micro-controller is wired to a BME 280 which reads the Temperature, Humidity, and Pressure, every five minutes. The data is then sent over the internet to a Digital Ocean server which stores the data in a Mongo Database, along with NodeJS hosting a small front end client to graph the data. Socket.io is also used to get real-time data updates from the sensor. (Sometimes the wires get loose in the breadboard, and the readings are WAY off)



MeetApp started as an idea to help friends get together with greater ease. It has a fully functional chat window, and can access a user's GPS location (with permission) using websockets to broadcast the data. It could be hooked up to a Google API to find locations within reasonable distance of the user, and suggest places to go hang out, get coffee, food, etc. It could then invite local vendors to offer deals to entice users to visit their business. Similar to a Groupon, but on demand and based on the user's current location and desires.

It's also hooked up to a weather API, clicking on the map, a weather icon will appear to reflect the current weather conditions.

As an experimantal bonus feature, I implemented the ability to upload images, and execute the Primitive library.



MyDB is a basic CMS CRUD application. Users can create catergories of lists, and then add items to the lists, such as name, description, and even images. The basic model of the list items is custimizable. Items can be edited with a very friendly UI/UX.

This was build with EJS, and VueJS, Vuex, and MongoDB/node backend.



TeamBall is one of the first apps I made. It was designed to maintain player and game stats for recreational basketball leauges / teams.

It was made it the LAMP stack, a mix of Vanilla JS and jQuery, and used the Foundation CSS framework.

It's a CMS for basketball stats! It's a little rough around the edges, it hasn't been updated since late 2015.