Course Cover Art
  • The Fullstack D3 course is the complete guide to D3. With dozens of code examples showing each step, you will gain new insights into your data by creating visualizations in this self-paced online course.

    How The Course Works

    Fullstack D3 is a self-paced, online course where you will learn how to master D3 and build beautiful, custom visualizations

    Remote

    Take the course anywhere

    Self-paced

    Take the course anytime

    Structured

    Learn in a cohesive fashion

    Community

    Learn with other students

    Newline Image

    Ben Xiao

    Data Analyst

    When I turned to d3, the learning curve felt so steep. But this course is a great catalyst for learning d3js.

    I've always had trouble translating what is in my head onto the screen but I feel more confident creating my own things now

    Hey! I'm Amelia, the author of this course.

    I'm a front-end developer at The Pudding

    Over the past ten years that I've been visualizing data, I've been perfecting my method and collecting helpful tricks. I'm here to jump-start your own journey!

    In Fullstack D3 and Data Visualization, I distill my hard-earned knowledge into bite-sized lessons.

    We'll start making charts right away, and learn new concepts and design theory as we go.

    X-Ray Image

    Charts are like an x-ray for your data

    [{"time": 1514782800, "summary": "Clear throughout the day.", "icon": "clear-day", "sunriseTime": 1514809280, "sunsetTime": 1514842810, "moonPhase": 0.48, "precipIntensity": 0, "precipIntensityMax": 0, "precipProbability": 0, "temperatureHigh": 18.39, "temperatureHighTime": 1514836800, "temperatureLow": 12.23, "temperatureLowTime": 1514894400, "apparentTemperatureHigh": 17.29, "apparentTemperatureHighTime": 1514844000, "apparentTemperatureLow": 4.51, "apparentTemperatureLowTime": 1514887200, "dewPoint": -1.67, "humidity": 0.54, "pressure": 1028.26, "windSpeed": 4.16, "windGust": 13.98, "windGustTime": 1514829600, "windBearing": 309, "cloudCover": 0.02, "uvIndex": 2, "uvIndexTime": 1514822400, "visibility": 10, "temperatureMin": 6.17, "temperatureMinTime": 1514808000, "temperatureMax": 18.39, "temperatureMaxTime": 1514836800, "apparentTemperatureMin": -2.19, "apparentTemperatureMinTime": 1514808000, "apparentTemperatureMax": 17.29, "apparentTemperatureMaxTime": 1514844000, "date": "2018-01-01"}, {"time": 1514869200, "summary": "Clear throughout the day.", "icon": "clear-day", "sunriseTime": 1514895684, "sunsetTime": 1514929260, "moonPhase": 0.52, "precipIntensity": 0, "precipIntensityMax": 0, "precipProbability": 0, "temperatureHigh": 25.79, "temperatureHighTime": 1514923200, "temperatureLow": 12.65, "temperatureLowTime": 1514980800, "apparentTemperatureHigh": 20.13, "apparentTemperatureHighTime": 1514923200, "apparentTemperatureLow": 12.1, "apparentTemperatureLowTime": 1514944800, "dewPoint": 5.51, "humidity": 0.57, "pressure": 1028.58, "windSpeed": 4.71, "windGust": 12.25, "windGustTime": 1514912400, "windBearing": 266, "cloudCover": 0.05, "uvIndex": 2, "uvIndexTime": 1514908800, "visibility": 10, "temperatureMin": 12.23, "temperatureMinTime": 1514894400, "temperatureMax": 25.79, "temperatureMaxTime": 1514923200, "apparentTemperatureMin": 4.51, "apparentTemperatureMinTime": 1514887200, "apparentTemperatureMax": 20.13, "apparentTemperatureMaxTime": 1514923200, "date": "2018-01-02"}, {"time": 1514955600, "summary": "Mostly cloudy starting in the evening.", "icon": "partly-cloudy-night", "sunriseTime": 1514982086, "sunsetTime": 1515015712, "moonPhase": 0.56, "precipIntensity": 0, "precipIntensityMax": 0, "precipProbability": 0, "temperatureHigh": 28.32, "temperatureHighTime": 1515009600, "temperatureLow": 23.46, "temperatureLowTime": 1515070800, "apparentTemperatureHigh": 28.32, "apparentTemperatureHighTime": 1515009600, "apparentTemperatureLow": 14.28, "apparentTemperatureLowTime": 1515070800, "dewPoint": 6.03, "humidity": 0.52, "pressure": 1024.79, "windSpeed": 0.64, "windGust": 5, "windGustTime": 1514955600, "windBearing": 254, "cloudCover": 0.13, "uvIndex": 2, "uvIndexTime": 1514995200, "visibility": 10, "temperatureMin": 12.65, "temperatureMinTime": 1514980800, "temperatureMax": 28.32, "temperatureMaxTime": 1515009600, "apparentTemperatureMin": 12.65, "apparentTemperatureMinTime": 1514980800, "apparentTemperatureMax": 28.32, "apparentTemperatureMaxTime": 1515009600, "date": "2018-01-03"}, {"time": 1515042000, "summary": "Foggy until afternoon.", "icon": "fog", "sunriseTime": 1515068486, "sunsetTime": 1515102166, "moonPhase": 0.6, "precipIntensity": 0.0001, "precipIntensityMax": 0.0005, "precipIntensityMaxTime": 1515088800, "precipProbability": 0.06, "precipAccumulation": 0.032, "precipType": "snow", "temperatureHigh": 24.09, "temperatureHighTime": 1515110400, "temperatureLow": 8.86, "temperatureLowTime": 1515157200, "apparentTemperatureHigh": 15.76, "apparentTemperatureHighTime": 1515067200, "apparentTemperatureLow": -2.83, "apparentTemperatureLowTime": 1515157200, "dewPoint": 16.64, "humidity": 0.75, "pressure": 999.78, "windSpeed": 7.31, "windGust": 24.33, "windGustTime": 1515099600, "windBearing": 334, "cloudCover": 0.98, "uvIndex": 1, "uvIndexTime": 1515078000, "visibility": 5.01, "temperatureMin": 19.8, "temperatureMinTime": 1515124800, "temperatureMax": 26.62, "temperatureMaxTime": 1515052800, "apparentTemperatureMin": 9.16, "apparentTemperatureMinTime": 1515124800, "apparentTemperatureMax": 25.83, "apparentTemperatureMaxTime": 1515042000, "date": "2018-01-04"}, {"time": 1515128400, "summary": "Clear throughout the day.", "icon": "clear-day", "sunriseTime": 1515154884, "sunsetTime": 1515188621, "moonPhase": 0.63, "precipIntensity": 0, "precipIntensityMax": 0, "precipProbability": 0, "temperatureHigh": 15.36, "temperatureHighTime": 1515182400, "temperatureLow": 7.4, "temperatureLowTime": 1515240000, "apparentTemperatureHigh": 4.56, "apparentTemperatureHighTime": 1515189600, "apparentTemperatureLow": -3.15, "apparentTemperatureLowTime": 1515243600, "dewPoint": -1.71, "humidity": 0.52, "pressure": 1009.75, "windSpeed": 8.06, "windGust": 21.82, "windGustTime": 1515182400, "windBearing": 290, "cloudCover": 0.13, "uvIndex": 2, "uvIndexTime": 1515168000, "visibility": 9.87, "temperatureMin": 8.86, "temperatureMinTime": 1515157200, "temperatureMax": 18.65, "temperatureMaxTime": 1515128400, "apparentTemperatureMin": -2.83, "apparentTemperatureMinTime": 1515157200, "apparentTemperatureMax": 8.19, "apparentTemperatureMaxTime": 1515128400, "date": "2018-01-05"}, {"time": 1515214800, "summary": "Clear throughout the day.", "icon": "clear-day", "sunriseTime": 1515241279, "sunsetTime": 1515275077, "moonPhase": 0.67, "precipIntensity": 0, "precipIntensityMax": 0, "precipProbability": 0, "temperatureHigh": 13.02, "temperatureHighTime": 1515268800, "temperatureLow": 3.68, "temperatureLowTime": 1515330000, "apparentTemperatureHigh": 2.1, "apparentTemperatureHighTime": 1515272400, "apparentTemperatureLow": -4.08, "apparentTemperatureLowTime": 1515304800, "dewPoint": -7.22, "humidity": 0.46, "pressure": 1023.97, "windSpeed": 6.44, "windGust": 18.09, "windGustTime": 1515218400, "windBearing": 294, "cloudCover": 0.03, "uvIndex": 2, "uvIndexTime": 1515254400, "visibility": 10, "temperatureMin": 6.62, "temperatureMinTime": 1515297600, "temperatureMax": 13.02, "temperatureMaxTime": 15
    D3 Weather Radar X-Ray Image

    Charts communicate ideas with simplicity, clarity, and detail.

    Once you're comfortable with D3 you can quickly:

    • understand key metrics at a glance
    • catch anomalies (before they turn into problems)
    • give key insights to your customers
    • and impress your boss and co-workers

    Today, I will show you the exact methods I use to create beautiful, understandable data visualizations using D3.

    Newline Image

    Christine Gotth

    Data Journalist

    This is the first book (on coding) that I actually learned something from and I built my first visualization within 30 minutes.

    That took away a lot of my hesitation. I think you did an amazing job!

    Newline Image

    Ali Butler Glenesk

    Software Engineer at Curai

    I always dreamed of being a data journalist and, after this book, I'm going to start a data vis blog - Thank you!!

    What People Are Saying...

    Enroll now

    Newline Image
    Fullstack D3 and Data Visualization Book
    Instantly download the complete book and code examples
    $129
    • PDF, EPub, and Mobi
    • All Code Projects

    You might be asking:

    “Is this just another "pretty coffee table book"? I don't need another book that's filled with beautiful but useless information.”

    Nope! This is a practical course that teaches you both the tooling and when to use it.

    The world of data visualization books is often split into two groups:

    • Pretty "coffee table" books with gorgeous pictures of impractical charts that you'll never use OR
    • exhaustive software library "explanations" that aren't much better than reading the API documentation

    What you need is something that is both full of beautiful, clear (and practically useful) charts, but also walks through every step necessary for creating real D3 charts - from empty folder to the browser.

    “But I'm a programmer not a designer - What if my charts turn out ugly?”

    In this book we cover design principles, do's-and-don'ts of design, and when to use certain kinds of charts. The result is that your charts will look great even if you have no formal training in creating visual information design. But more importantly: you'll understand how to communicate ideas with visualizations.

    “Isn't D3 complicated? I need to get a dashboard up quickly! I don't have time to learn every corner of some confusing library.”

    Fullstack D3 is not a reprint of the API docs - it's a practical guide to everything you need to create charts as quickly as possible. Within the first 10 minutes you'll be creating your own custom D3 charts. After reading the first few chapters you'll feel comfortable creating your own visualizations.

    “Can I use D3 with my existing React / Angular / web app?”

    Absolutely. The course comes with lessons and sample code on how to integrate D3 easily — and efficiently — into your existing application.

    Newline Image

    Corey Thompson

    Senior Software Engineer at Enovation Controls

    I really like the way Amelia outlines the steps in Making a Scatterplot. The steps frame it nicely when presented as a checklist.

    Also, seeing free formed shapes being created was eye opening and really drew my attention.

    Great job

    Questions you might have

    Here are answers to some common questions

    The book is a downloadable PDF, ePub, and Mobi along with example code zip that goes through the content.

    The course - which includes a free copy of the book - is an online course with hours of video lessons from Amelia, walking through the lessons.

    If you like to read, you may prefer the book. If you like to watch videos, and see how Amelia works, then you'll love the masterclass.

    It depends on if you enroll in the course or buy the book only.

    If you buy the course, you'll be given a login to newline where you watch the videos, download the code, read the manuscript, and add comments and ask questions.

    If you buy the book, You'll be able to download the book and source code after checkout. You'll also receive an email from Gumroad giving you instructions on how to download it at any time.

    In either case, you'll be given access to our community Discord channel where you can get help.

    Yes, but you don't necessarily need to be an expert. We assume you know the basics of programming in JavaScript. We walk through every line of code on how to build the first few charts.

    When joining the course, you'll be invited to our community Discord where you can chat with fellow students.

    It depends. The masterclass and the book share material - so if you went through the entire book and already feel confident building custom D3 visualizations, then you may not need the masterclass.

    However, if you only worked through a couple of chapters or you find you're a visual learner, you enjoy listening to a teacher, and you want to see, hands-on, how Amelia works -- then you will love the masterclass.

    If you're unhappy with the course for any reason, just reach out to us and we'll give you a full refund. No risk involved.

    Our customers work at

    Learn how to turn numbers into insights with D3

    Dig in and create your first D3 visualization within 10 minutes.
    Click the button below to get started.

    I'm in!

    Jump to purchase options