The Making of a WWWizzzard

By Dave Aronson

Elevator Pitch

This talk should be included at any Elixir/BEAM conference that includes new Elixir devs, especially ones who have not done paid work in it yet, to give them an example of what can be accomplished with it, even on one’s own and without great expertise in it.

Description

Do you need to know when any of many web pages change? Or maybe you’re looking for examples of what can be done with Elixir?

This talk is the story of why I needed a web page change checker, the alternatives I found and tried, how I finally created and launched www.WWWizzzard.com (“it checks the WWW while you ZZZ!”), why I did it as my first “serious” Elixir project, how I did it all for free (so far, except the domain name), and what I learned (and re-learned) along the way.

Notes

This one is aimed mainly at Elixir/BEAM conferences, where the attendees are already familiar with Elixir and what’s different about it versus other languages.

This talk hasn’t been written yet, and probably won’t be fully done for quite a while, as WWWizzzard is still a work in progress (I just recently release a pre-alpha MVP), but the intended agenda so far is:

  • Finding out about Elixir and starting to learn it, including Exercism.io (and very brief summary of my prior experience)
  • Getting into conference speaking, thus needing to check a bunch of conference/list sites, hunting down a change checker, and the chosen one proving unreliable
  • Detour: trying to land Elixir work, and why my situation makes it even more difficult
  • Creating my own change-checker as a command-line tool, in Elixir to finally get some non-trivial experience in that, including learning Elixir mix project structure, plus page content fetching, and the limitations and other problems of that
  • Adding the extra features I wanted, including HTML parsing with Floki
  • Making it a SaaS, including considering hand-rolled GenServers, opting instead for Oban for background jobs (scheduled and one-off), plus Swoosh to send email, and looking at email service providers, settling on the free tier of SendPulse
  • Hassles of setting up reliable email sending, avoiding being marked as spam
  • Finding hosting, and launching, including avoiding not only fees but also Docker hassles by just using Gigalixir’s free tier (and how well it fits)
  • Summary/recap/wrapup
  • Q&A

For longer timeslots I could also add what I found surprising or very easy about Elixir’s differences, or about the differences between conference speaking and other public speaking, maybe even assorted whinging about trying to break into Elixir work as a very senior dev without prior paid Elixir experience. ;-)