What Codecourse Uses

April 30th, 2024

So what goes into running a profitable educational screencast company for developers? Here's everything I use.

There are some services/products listed here where I earn a commission if you decide to buy. But, I genuinely love and use them. All of these are marked with an asterisk.

  • Coconut - When a new episode is uploaded, it's sent to Coconut to encode a downloadable version.
  • Mailcoach* - Powers the newsletter and course/episode release notifications.
  • Oh Dear* - This lets me know if the site is down, or if there's another issue (like queues have stopped working).
  • Sentry - Error reporting for both front/back end.
  • Laravel Nova - An amazing admin panel that saves me a bunch of time from having to build anything myself.
  • Stripe - Processes payments for our wonderful subscribers.
  • Vimeo - Hosts every video you watch here.
  • Algolia - Powers the search at the top of the site. To index content, I use Laravel Scout.
  • Fathom Analytics* - Privacy-friendly analytics — because I don't want to know every detail about you.
  • Postmark - Sends emails. Reliable, and amazing customer support.
  • PhpStorm - Previous VSCode, but switched for better PHP/Laravel support.
  • Laravel Idea - The plugin for PhpStorm that every Laravel developer needs.
  • Redis - Some things (like episode progress, likes and visits) are stored in Redis to keep the site snappy.
  • PostgreSQL - The main database for Codecourse.
  • MySQL - I use this for screencasts since it's the most familiar option to everyone.
  • TablePlus - A GUI for not just MySQL, I also use it to connect to Redis to browse keys.
  • Postico - Used to manage the Codecourse PostgreSQL database.
  • GitHub - Where the codebase lives
  • Laravel Herd Pro - Hugely simplified local development
  • Helo - Local email client for testing emails
  • Tinkerwell* - I use Tinkerwell as a replacement for Tinker on the command line, and occasionally SSH into production to run a command.
  • Warp - I rarely use a terminal outside of PhpStorm, but Warp is my go-to when I do.
  • Material Theme UI (Material Space) - Not the most unique or exciting, but it matches up well with the website colour scheme.
  • Atom material icons - These add more visual appeal to the file browser and make it easier to spot certain file types.
  • MonoLisa font - A beautiful, readable mono font.

I also have many configuration options set in PhpStorm to make it as clear and uncluttered as possible. Let me know if you've spotted something in my setup that you'd like to re-create yourself.

  • MacBook Air M2 15 Inch 16GB in Midnight - It's fast enough to do everything I need, and lightweight to carry around.
  • iPad (9th Generation) - I don't have a second monitor. Instead, I pair my iPad as a second monitor to view notes while recording.
  • Sony Alpha 6600 - The camera used for any video work.
  • Sigma 16mm F1.4 Lens - The lens for the Sony A6600. 16mm means it captures a lot in small spaces, and the camera can be closer to me.
  • Elgato Cam Link 4K - Connects my camera to my laptop for direct 4K capture.
  • Shure SM7B - The microphone I use.
  • Cloudlifter CL-1 - Clean gain boost from the Shure SM7B.
  • Focusrite Scarlett Solo 4th Gen USB Audio Interface - The audio interface that connects my microphone to my laptop.
  • Rode PSA1 Studio Arm - Arm for my Shure SM7B. I've used this for 6 years now and it's still working great.
  • 6TB SanDisk G-DRIVE - Video is heavy. All recorded footage goes onto this.
  • Final Cut Pro - Every screencast is edited in Final Cut Pro.
  • Accentize dxRevive Audio Plugin - A Final Cut Pro plugin that uses AI to clean up audio.
  • SwitchResX - This switches my resolution to 1280 x 720 (in HiDPI, effectively 3840 x 2160) to produce a comfortable resolution for screencasts while maintaining quality.
  • QuickTime - Used to capture screen/video before importing for editing.
  • Screen Studio - An amazing screen recorder, which I use for social media previews/demos.
  • Things 3 - Everything (I mean everything) goes in here. I track course suggestions, episodes as I'm recording, development tasks, and personal stuff.
  • Amphetamine - If I'm rendering a load of video or running a long terminal task, I turn on Amphetamine and it stops my MacBook from sleeping.
  • Sip - A colour picker to grab any colour on your screen.
  • Raycast - I use this to switch between windows while recording screencasts and have some other helper plugins installed (e.g. UUID generation).
  • Showcode - I use this to create beautiful code snippet images to share on social media.
  • Ulifance Folding Computer Desk - A cheap desk that folds up for storage. I purchased this when I moved into a temporary office and have stuck with it ever since!
  • Leitz Active Sit Stand Stool - I swapped out my Herman Miller Aeron chair for this wobble stool and my core and back have thanked me ever since.
  • Moleskine Notebook - I write a lot of notes by hand while figuring out solutions to complex problems.
  • Lamy Safari Ballpoint Pen - A really comfortable, solid pen.
  • A bunch of Rubik's and GAN Cubes - My record time to solve a 4x4 is 1 minute 35 seconds and I'm working towards improving!
Thanks for reading! If you found this article helpful, you might enjoy our practical screencasts too.
Alex Garrett-Smith
Share :


No comments, yet. Be the first to leave a comment.