Sonny Scroggin

Phoenix Core Team Member (Bleacher Report)

Sonny Scroggin is a software craftsman with broad interests in the world of computing. He is a core team member of the Phoenix Framework and is working on various libraries within the Elixir ecosystem. You can find him presenting or teaching others about Elixir, Phoenix, and other tools and libraries in the local user groups in Nashville, TN and at conferences around the world.

Past conferences

Sonny Scroggin
Code BEAM STO 2018
30 May 2018
13.30 - 17.00

Introducing Phoenix


Phoenix is an Elixir framework for building scalable web applications with realtime connectivity across all your devices. Together, we’ll take a guided tour of the framework, going from the very basics, to building our own realtime applications. You’ll see the framework’s foundations, core components, and how to use Phoenix to write powerful web services.

We’ll start by exploring the foundations of the framework in Elixir’s Plug library, followed by the core components of Phoenix’s Router and Controller layers. Next, we’ll review the View layer and build an application together as we learn each concept. We’ll finish by using the PubSub layer to add realtime functionality to our application. Along the way, attendees will see how to apply advanced features like router pipelines and plug middelware and receive tips on how to structure a Phoenix application for real-world services.

Sonny Scroggin
Code BEAM STO 2018
31 May 2018
16.25 - 17.10

Taking it to the metal

As it turns out, Erlang or Elixir aren't the fastest kid on the block. And while raw CPU speed matters little for most applications, there does exist a couple reasons you might want want to reach for tools that give you access to native power.

In this talk we will discuss Native Implemented Functions (NIFs) - Erlang's Foreign Function Interface (FFI).

NIFs are normally implemented in C and are considered dangerous. But we're going to explore writing safer NIFs in Rust - a new systems programming language developed by Mozilla, that focuses on memory safety.

We'll talk about the pitfalls with writing NIFs and how Rust can make this process easier and safer.


This talk is intended to show how to build performance-critical functionality in Erlang/Elixir with Rust. Because of the unique way the Erlang VM operates, there are many pitfalls you must be aware of when writing native code. This talk exposes these pitfalls and offers direction to those interesting in writing native code for the Erlang VM.