EasyStayAI is an AI-powered assistant designed to streamline guest communication for property hosts. It enables 24/7 support through iMessage and SMS, providing guests with personalized responses within 45 seconds. By referencing property details and leveraging location-based search, the assistant offers tailored check-in/out instructions and local recommendations. Built with DigitalOcean VPS, PostgreSQL, Auth.js, Stripe, OpenAI, and Sendblue, the platform ensures secure user authentication, payment processing, and seamless guest interactions without the need for additional apps or logins.
Contemplay's Q3 app is an interactive, web-based experience designed to enhance visual and critical thinking through daily art engagement. As the lead developer, I built the fully responsive app and two custom landing pages using React and Next.js, ensuring seamless performance across all devices. The app leverages the OpenAI API to provide AI-driven prompts that guide users through thoughtful reflection on art. This flagship project, now in its investment stage, represents the first in a series of AI-powered experiences focused on mindfulness and play.
SteelCore: Meta Mechs is a grant-funded Unity project designed to showcase Meta's Presence Platform API. As lead developer on this title, I worked directly with the documentation to create a room-scale wave shooter with 4 unique enemy types, 5 unique weapons, an original player-controller, and engaging gameplay. Passthrough, scene-information, spatialized audio, haptic-feedback, and Meta avatars were all combined to create a compelling XR experience.
This web AR music visualizer showcases 8th Wall's real-time reflection capabilities as well as dynamic shadows. The visual was built in Blender and deformed to the beat of the song, which was then imported to 8th Wall with the animations as morph targets. The morph targets are manually driven through a custom JavaScript component in order to keep the song and visual in sync.
Daydream VR is a PC-VR music experience built in Unity. The app features real-time audio analysis in order to drive customizable parameters in the scene. The app has a file browser system which allows users to upload their personal music and cover art to appear in the virtual space. Drum set driven reactions as well as in-game photo capture are also featured.
This RoboCop filter demo uses two separate shaders converted to Meta's Spark SL in order to recreate the original screen-space effects. The helmet is a face-anchored object with backside occlusion culling, and the screen typing is an animation created in Davinci Resolve imported and played back as a series of textures.
This Stable Diffusion render was created using AnimateDiff in ComfyUI. Data from the original footage was extracted via BodyPose and LineArt control nets before being fed into AnimateDiff with a customized prompt. The result was then upscaled and frame-interpolated to create a full size, 30-fps stylized animation.
Click any project for more information!
This demo was built using the Photon Fusion networking API in order to create a smooth multiplayer experience in which each players' Meta Avatar is automatically loaded. Players can interact with physics objects and fly through the scene on physics-based hoverboards.
This project was created as a real time audio-reactivity test and demonstration. The particle positions are affected by audio amplitudes and noise values from a 2D noise map, which is 'scrolled' through in order to create a wave-like effect.
Click any project for more information!
Click any project for more information!
This demo features a CRT scanline shader converted from an open-source Shadertoy project to Meta Spark SL in order to be used in a filter.
This filter uses the audio analysis patch to loop through different pairs of sunglasses parented to the user's head. The pulse is obtained through the patch and reacted to in a custom script.
This custom shader samples values from a provided texture in order to tint each grid segment by the corresponding color.
This project passes a screen-space position obtained through a tap gesture to a Shadertoy-converted shader in order to create a ripple effect in the desired location.
Want to see more?