Software engineering leader with over 25 years of technical expertise, specializing in mobile architecture, large-scale consumer application delivery, and developer enablement. Experienced in leading multi-time-zone engineering teams, integrating modern AI tooling into development pipelines, and bridging complex technical execution with strategic business goals across high-concurrency media and enterprise environments.
See my LinkedIn profile for a complete and detailed history.
Driving technical strategy, system architecture, and client engineering execution across ESPN mobile platform initiatives. Focus on high-scale architecture, cross-functional engineering alignment, and developer experience enablement.
Directed the ESPN Core iOS engineering organization, leading 17 distributed engineers across 5 time zones. Managed end-to-end execution for major features like NHL Live Activities, reduced work cycle times by 50%, and optimized triage processes to save 20 engineering hours weekly. Championed developer tooling, AI integrations, and automated workflows[cite: 1].
Served as technical lead for the ESPN iOS Client Platform and Core architecture, focusing on app stability, real-time performance, and observability for millions of daily active users[cite: 1]. Architected foundational mobile client solutions and led technical strategy across cross-functional feature teams[cite: 1].
Developed and optimized high-concurrency iOS and tvOS applications across the Disney media portfolio, supporting ABC News, ESPN (Core App, Fantasy, and Tournament Challenge), and ABC Owned Television Stations[cite: 1].
Architected and deployed a secure clinical iOS application enabling doctors and nurses to retrieve real-time EMR data via RESTful services. Integrated strict HIPAA security protocols, streamlining caregiver workflows and significantly reducing response times for critical patient diagnostics.
Developed web applications to augment patient retrieval and data entry.
Worked on iOS and Android Progressive Insurance mobile applications.
Implemented programs for calculating sales program performance and incentives for 1000+ branches.
Designed and developed a web based collateral management tool to replace Oracle's. The tool saved $100k, is used internationally in Europe and Asia, and has processed 10000+ requests over the past year.
Built e-book online retail websites and developed and maintained backend systems.
Provided network and web services
Focusing on strategic management, organizational leadership, and executive-level business decision-making.
Specialties: Graduate Software Engineering Methodologies, Graduate Enterprise Systems Architecture, Unix, Computer Security, Mobile & Embedded Computing, Database Management, Entrepreneurship
Older DSLR cameras do not typically have a camera, but it would be nice to geotag photos. The phone has GPS and is able to track, but the phone and the camera's date/time need to be in sync to accurately geotag. This project addresses this by offering an iOS app that handles the geo-tracking and provides a QR code. Take a picture at any time during the photo shoot of the QR code and the GPS2Photos app can sync the phone time with the camera's time just before looking up the GPS coordinates.
Built to answer the question, "what's that flying over there?" Nestled between LGA and JFK airports, there is a fair amount of interesting air traffic. From all flavors of commercial jets, to helicopters and even sea planes!
It would be interesting to view a website's (or mobile app's) realtime active user count. Using a 30 LED individually addressable lightstrip, this is possible. I've setup a lightstrip at the NYC office to show realtime users. During a 2019 hackathon, another lightstrip was created and deployed at another office location.
The Raspberry Pi provides the platform to run scripts and interface with the internet. It's capable of driving the LEDs directly, but may not be as reliable, so the Arduino is used to interact and manage the LEDs. The Pi then commands the Arduino which LEDs to light. Add Hubot, and now the lightstrip can be managed from a chat bot within chat apps such as Slack.
https://www.rsbauer.com/2018/02/led-bar-graph-with-slack-chat-control
At the time, an internet enabled garage door opener did not exist. I wanted something that could solve the problem, "did we close the garage or did we leave it open?" And if the garage was opened, can we close it remotely and verify it closed?
Using a Netduino (which runs C# code), I setup a simple web socket server to allow other machines on the network (although not internet) to connect, get status updates, and send commands. The Netduino was wired to a relay which was then wired to a garage door remote. Trigger the relay would trigger the garage remote as if it was pressed, which would open or close the garage.
To read the state of the garage (if it was open or closed), a magnetic reed switch was used at the door and wired back to the Netduino. As the switch changed state, the Netduino would notify listeners on the web socket.
To protect the Netduino, a local Linux box connects to it and proxies commands and data to it. The Linux box would provide web socket access to Android and iOS as well as a web page (all of which required authentication).
There had been too many telemarketers calling. So many that we exceeded the number of calls you could block on our home phone (26 numbers). Could these be blocked another way?
Someone figured out how to capture the Vonage caller ID packet using Perl. Using a hub, a low end PC running Linux could sniff the packets as they go to the Vonage device. It captures the caller ID and forwards it to a more powerful Linux box. The 2nd Linux box then logs the call and checks if it has been blocked or not. If not, the call proceeds like normal. If the call is to be blocked, the lower end Linux box receives the instruction to drop the call. To drop the call, it instructions the dialup model to pick up the receiver and then drop it. This process was usually fast enough that the phone would either ring once or there would be a half ring. This ring helped identify the call came in and got blocked.
This is a proof of concept app for communicating with your ConnectedDrive enabled BMW.
July 29th - 30th, 2011: The OSUE Urban Agriculture Program needed a way to help promote locally grown produce. Between 5 developers, graphic designers, a project manager, and OSUE, an Android application and iPhone (iOS) application was developed. The address data was ported to Google Fusion. The mobile devices used Google Maps to display the locations, allowing the user to discover and navigate to these locations.
As a team member on this project, I helped develop the iOS application and helped the Android developers when possible.
The iPhone application was shipped after two days of development and accepted to the Apple App Store (https://itunes.apple.com/us/app/harvest-neo/id454060850?mt=8).
Wardriving sounds like something evil, but it's the mapping of wifi access points. It was a past time of mine. It was interesting to fiddle with the hardware and software to create a setup which became mostly hands off. Then be able to collect wifi access points and their GPS coordinates and graph them. It was interesting to see over time the number of access points being secured. It was also interesting to see how the neighborhood I was in would only have 3 or so access points on the whole street. Then a few years later, just sitting on the couch, there would be 9-12 access points broadcasting their availability (and without needing any special antennas to hear them!).
The goal of this project is to create a Kismet client which could be run from a mobile device, such as an iPod, connect to a Kismet server, and monitor and review the wireless access points processed by the server. Kismet is a Unix/Linux 802.11x protocol analyzer, which has a server and client components. The client component is available to monitor and review the data the server has processed, but is a console based application and difficult to read on a mobiledevice.
When on the go, it can be challenging to trust a network (wifi mostly). It's nice to be able to connect to the network and then initiate your own virtual private network to ensure your data is safe. I'm not a VPN or networking expert, but had fun figuring out how to get OpenVPN to go. Originally tried getting it to go with mixed results on a router equiped with DD-WRT, I finally settled on running OpenVPN from a Linux box. This provided better up time and better supported tools.
A collection of scripts I've written in TI-Basic for the TI-85 and TI-89.
Interests range a little bit, but tend to focus on technology. My focus has always been on the Internet of Things (IoT) and bridging the physical world with the internet and technology.
When not in front of a computer, I might be biking, taking photos, or travelling. Having moved to NYC, I sometimes miss grilling in the backyard and seeing how quick I could get my car around a set of cones at autocross.