Ryan is extremely excited to be making his Jobsite debut! Local credits include A Few Good Men, Inherit the Wind, Psycho Bech Party, Judgement at Nuremberg (Stageworks Theatre), Laughing Stock, The Three Musketeers, What The Bellhop Saw (Hat Trick Theatre), Twelfth Night, Hamlet, Julius Caesar, Much Ado About Nothing (St. Pete Shakes), and Stupid F**king Bird (Tampa Rep). He is also the associate artistic director for ThinkTank Theatre, Tampa’s professional theatre for young audiences, and the head writer for the Best of the Bay winning sketch comedy crew, Some Sort of Show. He would like to thank his friends, family, and cat for their unending support.
As of 2025, we handle Season Tickets for the remainder of the main stage season directly with you. Submit the form below, and we’ll get back to you as soon as we can!
Contact Us
Jobsite Giving Challenge
Help with our most urgent 24 hours of fundraising Apr. 28-29
Ask about volunteering for shows, fundraisers, or just Jobsite in general.
Contact Us About A Show
We love your feedback. Share your thoughts about a show you saw!
#GivingTuesday
Tue., Dec. 2 is #GivingTuesday, a world-wide day of online giving, and that weekend, Sat., Dec. 6, we host our signature Jobsite Rocks! event. We hope fans will participate in one or both events that week, and share our story with your friends and associates.
Request tickets to be donated to your organization.
Technical Director Contact
Questions for our Technical Director.
Staged Readings Contact
To perform in a reading, have your script considered, or have other Staged Readings questions.
Contact The Artistic Director
Get in touch with Artistic Director David M. Jenkins for all business and production related questions and touring information.
Contact The Development Chair
Donating to fundraisers, plus any other grant or sponsorship questions.
Auditions Contact
Audition questions, scheduling, resumes and headshots. Also, read about our auditions for more info.
Donations & Support Contact
Be a Jobsite sponsor, send us something from our wishlist, advertising questions, etc.
Tickets Contact
General questions and information regarding tickets, group rates, discounts, and individual ticket donations.
Contact The Webmaster
Email our Online Producer regarding website questions, broken links and general kudos for all around groovy site design.
document.addEventListener('DOMContentLoaded', function () {
// Only run if Vimeo Player API is available or can be loaded
function initVimeoSync() {
if (typeof Vimeo === 'undefined' || !Vimeo.Player) {
// Try to load the Vimeo player API if it's not present
var script = document.createElement('script');
script.src = 'https://player.vimeo.com/api/player.js';
script.onload = setupVimeoCarouselSync;
document.head.appendChild(script);
} else {
setupVimeoCarouselSync();
}
}
function setupVimeoCarouselSync() {
// Find all Vimeo iframes inside the specific carousel
var carousel = document.querySelector('.vimeo-sync-carousel');
if (!carousel) return;
var vimeoIframes = carousel.querySelectorAll('iframe[src*="vimeo.com"]');
if (!vimeoIframes.length) return;
// Create Vimeo player instances
var players = [];
vimeoIframes.forEach(function (iframe) {
try {
var player = new Vimeo.Player(iframe);
player.on('play', function () {
// Pause all OTHER players when this one starts playing
players.forEach(function (otherPlayer) {
if (otherPlayer !== player) {
otherPlayer.pause().catch(function () {
// Ignore errors (e.g., not ready yet)
});
}
});
});
players.push(player);
} catch (e) {
// silently ignore if something isn't a valid Vimeo iframe
}
});
}
initVimeoSync();
// In case Elementor loads content via AJAX (popups, etc.), re-run when DOM changes
document.addEventListener('elementor/popup/show', initVimeoSync);
});