I was a guest again on Cloudinary DevJams Episode #36 with hosts Sam Brace and Jen Brissman. This time we revisited my portfolio site since DevJams #17-walking through the move from Next.js to Astro, experimenting with Cloudinary video delivery, cover-image transformations, and a few supporting pieces like Val.town and AWS Lambda.
What we covered
- Astro migration - why Astro fits blogs and portfolios (static by default, content collections, islands) compared to Next.js for this site; see also Why I Migrated from Next.js to Astro
- Cloudinary in Astro - integrating images with
astro-cloudinary, transformations for cover art, and responsive delivery across devices - Cloudinary video - experimenting with the video player for illustration content on the site
- Cover images - generating and cropping blog covers with Cloudinary transformations
- Instagram → Cloudinary recap - the existing instagram-cloudinary workflow and how it still feeds the illustration gallery
- Val.town - small serverless functions for side experiments
- AWS Lambda - triggering site builds when content updates
- Open source and community - sharing work on GitHub and contributing back to the Jamstack ecosystem
Resources from the show
- joelmturner/joelmturnercom on GitHub - site source from the walkthrough
- Illustration gallery - synced Instagram work on the live site
- Val Town - serverless functions mentioned in the episode
Technologies mentioned
- Astro, MDX, and content collections
- Cloudinary (images, video player, transformations, Upload API)
- AWS Lambda and Netlify builds
- Val.town
- TypeScript; Instagram Graph API and instagram-cloudinary (unchanged from the earlier episode)
Episode timestamps
- 0:00 - Introduction to DevJams
- 0:41 - Meet Joel Turner: Senior Product Engineer at Sprinklr
- 1:51 - Exploring Astro: A New Framework
- 3:15 - Cloudinary and Community Engagement
- 5:10 - Joel’s Journey: From WordPress to Astro
- 10:52 - Astro’s Unique Features and Benefits
- 15:55 - Integrating Cloudinary with Astro
- 19:44 - Experimenting with Cloudinary Video
- 25:22 - Exploring Astro Image Component
- 26:38 - Introduction to Val.town Functions
- 27:32 - Automating Instagram to Cloudinary Workflow
- 28:52 - Using AWS Lambda for Website Updates
- 31:47 - Generating Dynamic Cover Images with Cloudinary
- 34:55 - Open Source and Community Contributions
- 36:39 - Optimizing Images for Different Devices
- 42:02 - Final Thoughts and Future Plans