Playlists
Choose an ordered learning path and learn step by step
![#26 send emails with Action Mailer - Complete Guide](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgyMywicHVyIjoiYmxvYl9pZCJ9fQ==--d40bcd4bc039ead7787e4d7843ab790b03db6880/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#27 Gem Letter Opener - best way to preview emails in development](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc1OSwicHVyIjoiYmxvYl9pZCJ9fQ==--8613ea91b34805cab0b8fe22986a395073dfe898/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#28 Action Mailer: Gmail SMTP - send emails in production for free](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgwMiwicHVyIjoiYmxvYl9pZCJ9fQ==--a4703f2e3e3af30b480de327b36d1c9a260199f9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#21 Active Storage With Amazon S3 Cloud Storage](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg4OSwicHVyIjoiYmxvYl9pZCJ9fQ==--6b3bb0920b42d5c5d69b0d166e38a8b52a5d84f1/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#22 ActiveStorage Direct Uploads, AWS S3 CORS](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc2NiwicHVyIjoiYmxvYl9pZCJ9fQ==--f5258a8ba29d77586e108ca7ba8a0611ddc4b17f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#23 Active Storage - Display Audio, Video, PDF attachments](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc5OSwicHVyIjoiYmxvYl9pZCJ9fQ==--967ae3c29c51f407b0c4fe6e345702d49de9a703/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#101 iCalendar and .ics format. Add events to calendar](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgyOSwicHVyIjoiYmxvYl9pZCJ9fQ==--54a7459d4e69c08a30404b891d4a2a73d9af4882/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#102 Email Calendar Invite](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNiwicHVyIjoiYmxvYl9pZCJ9fQ==--a7a52a12ac31ed0ac3f57d5919f67ccadfed09e4/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#104 Remote Calendar Subscription with WEBCAL](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkwMSwicHVyIjoiYmxvYl9pZCJ9fQ==--4e2371e8b18c30d56e24e9263730067accbf73a6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
Do you work at 37signals?
Are you building a calendar?
Are you facing a deadline?
This series is for you! 😜
![#160 Meta Tags. Open Graph, SEO, social sharing previews](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjAzMywicHVyIjoiYmxvYl9pZCJ9fQ==--a75e679f17278e3867a3014fd11c1d6b28101605/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#162 Gem Ferrum - Generate PDF and PNG with Headless Chrome API. No Puppeteer, no NodeJS](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjAzNywicHVyIjoiYmxvYl9pZCJ9fQ==--925c37e549cb1e042defe2ed910ff28fa9e7b79f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
Automate your open-graph social images with screenshots!
Get better CTR to your link with engaging OG social images.
Build a micro SaaS like https://image.social/ or https://tinyzap.co/
![CertificateOwl day1 - product and market ressearch](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg1MywicHVyIjoiYmxvYl9pZCJ9fQ==--8979a0a4cc12b072f6977d2875ebc7cf321349a7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![CertificateOwl day2 - building a proof-of-concept (POC) app with Ruby on Rails](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0MywicHVyIjoiYmxvYl9pZCJ9fQ==--b17ff3292bb6d8c37333f8fdbbf98e96c103483e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
I've always dreamt of building an app, where a user can:
1. Select a certificate template (certificate of completion/award/graduation/etc.)
2. Upload a CSV file with a list of awardees;emails;award_details
3. Auto-generate PDF certificates and send people emails
4. Page to validate certificate by QR on ID
I will start with researching the competition and building a proof-of-concept app.
Let's see where it takes me!
![#1 Essentials! Let's build a User Feedback app with Rails 7](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg1NiwicHVyIjoiYmxvYl9pZCJ9fQ==--8d8b98b52a3d2076b05d69069f0921a935377c37/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#2 Production! Let's build a User Feedback app with Rails 7](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc5MCwicHVyIjoiYmxvYl9pZCJ9fQ==--39da18fc0d7d0659dc974548f7c37926e013eb10/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
I am often asked to create a video about X topic.
This app would allow content creators to create Questions, and their audience can add Answers and upvote them (yeah, sounds a bit like Stackoverflow).
![#39 Devise Authentication from ZERO](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3MiwicHVyIjoiYmxvYl9pZCJ9fQ==--e25caef85f06eb42099d682b7c86b40ff99124ab/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#40 Devise Trackable, Users Index page](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg4OCwicHVyIjoiYmxvYl9pZCJ9fQ==--b75191503a8d30fc413cb4bb6ef083b8f8535573/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#41 Devise Confirmable - no more users with fake emails!](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc2MywicHVyIjoiYmxvYl9pZCJ9fQ==--c1571d092dac0178f17f208a36ea68acea884f9d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![Friendly Show E1 Pilot 😬. You need a CS degree to be a programmer? How did you start? RailsSaaS conf](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc5OCwicHVyIjoiYmxvYl9pZCJ9fQ==--a35a7119f7a4bbd39ff62079e37a5523dfb38f0f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![Friendly Show E2 Adrian and Yaro visited RailsSaaS Conference in Athens, Greece](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3NywicHVyIjoiYmxvYl9pZCJ9fQ==--63d00bda532600247853ab05c54996ebcbeb3a0d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![Friendly Show E3 The Ruby On Rails Interview Bible - Author Nezir Zahirović talks about his book](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3NCwicHVyIjoiYmxvYl9pZCJ9fQ==--6c4469ad41c7a9990edd52a8b26abe0dcaa39a60/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#171 Internationalisation (i18n) basics. Translate your app!](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjI5MCwicHVyIjoiYmxvYl9pZCJ9fQ==--37d7664cc7d9e164f4feb5c3b6fd96b6e1543c13/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#172 i18n. Set language preferences in session or in User model](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjI5MiwicHVyIjoiYmxvYl9pZCJ9fQ==--0ea8a7a8febfb04ee1284201017fa4d9cb09a6b5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--34e5c9bac0ea93c87a890e274478a7e6bd659b29/172.png)
![#173 automate translations with AI](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjI5NCwicHVyIjoiYmxvYl9pZCJ9fQ==--2fce7386296773799983993368a9676b46a6bd78/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--34e5c9bac0ea93c87a890e274478a7e6bd659b29/173.png)
![Live talk: Hotwire, ViewComponent, StimulusJS in production (my experience )](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNSwicHVyIjoiYmxvYl9pZCJ9fQ==--38ab9efc6960571cec3677964cf441e4e3059723/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![Yaroslav Shmarov - 18 months of using hotwire and viewcomponent in production - wroc_love.rb 2022](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjI4NiwicHVyIjoiYmxvYl9pZCJ9fQ==--f11c8d9f2d2fb36cb49f2b65d6a64b528f809375/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![Rails World - Hotwire Cookbook - Yaroslav Shmarov: Common Uses, Essential Patterns & Best Practices -](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzOCwicHVyIjoiYmxvYl9pZCJ9fQ==--32551262c66323e4cdf706ec665dbec80722e84a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#106 How to use gem Geocoder, GPS coordinates, distance calculation, map markers](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgxMywicHVyIjoiYmxvYl9pZCJ9fQ==--fa5854971fac389163e676e7b0b7e156f2cc91a3/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#107 How to display locations on a map with Mapbox API and gem Mapkick like AirBnB](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOSwicHVyIjoiYmxvYl9pZCJ9fQ==--40f3c2cf7034cb0bfd4b3cf58b48de87cf84a0c1/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#108 How to use the Browser Geolocation API with Rails](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg3MSwicHVyIjoiYmxvYl9pZCJ9fQ==--dd678d29d1065aaf26bb39c50fb4f1c877d75ad1/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#166 PWA (Progressive Web Apps) in Rails 8](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjA1OCwicHVyIjoiYmxvYl9pZCJ9fQ==--d9daa3042f4e7fd1d8223e8aa24e80d59b07c206/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)
![#167 Build a PWA](https://superails.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjI4MCwicHVyIjoiYmxvYl9pZCJ9fQ==--fff2a79c0060574cb036efdbfd5a241755840d3a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls0MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--2d7cd3a4d9675c7f4c17dad7856d799792bd3595/maxresdefault.jpg)