DjangoCon US 2024 just concluded in Durham, NC, and as always, it was an energizing week to be surrounded by so many digital friends and peers. The conference was structured in the familiar format of tutorials on Sunday, followed by three days of talks, Monday through Wednesday, and then two days of sprints, Thursday through Friday.

Saturday

It’s only a two-hour flight from Boston to Durham and a twenty-minute cab ride from there to the Durham Marriott City Center Hotel, so logistics couldn’t have been easier for me. As an added bonus, it’s in the same time zone. Many attendees came from much farther away and had to juggle a bit of jet lag the first day or two.

Durham’s nickname is “Bull City,” and there is an appropriate statue just outside the hotel if you forgot it.

Bull Statue

North Carolina is quite hot and humid, but I managed to self-motivate and get a run in around the Duke University golf course on the Al Buehler Trail. The route to the trail itself isn’t especially picturesque, but the 3-mile loop is worth the trek.

Strava Run

Trail Sign

Trail

Back at the hotel, I was a bit hungry, so I headed to Pizzeria Toro, right next to the hotel, for an excellent pizza and salad.

In the evening, my roommate for the week, Carlton Gibson, arrived, and we headed out with Jeff Triplett and some others to the Durham Food Hall for a quick bite for dinner. Afterward, we hit up The Parlour, a local ice cream shop just across the street from the hotel. The Vietnamese Coffee hit the spot.

There were groups headed out after this, but Carlton had just completed a 20-hour voyage, and I was happy to make it an early night.

Sunday

Jon Gould from Foxley Talent and I snuck out for an early-morning round of golf at a local municipal course. Our playing partners were two biology professors from UNC Chapel Hill who both had sun umbrellas attached to their pushcarts, something I hadn’t seen before, but which makes sense when temperatures regularly get 90+ down here in the summer months.

Afterward, I met up with fellow attendees at Tobacco Road Sports Cafe to relax on the porch overlooking the Durham Bulls ballpark and watch some Sunday sports. The baseball season had ended the week before, so there was unfortunately no game in session, but it was still a beautiful spot to relax. And it was the 31st birthday of Josh O’Brien from Foxley Talent!

Ballpark

Josh O'Brien

In the evening, RevSys hosted a DjangoSocial Meetup at Ponysaurus Brewing, which had excellent food and drinks, including several non-alcoholic beers.

Ponysaurus

There were many conference attendees, which was a great way to kick off the conference.

Monday

Registration and breakfast began at 7:30 am on Monday. The food all week was quite good, and I had all my breakfasts and lunches at the conference. There were also snacks and appetizers between sessions so I don’t think anyone went hungry.

Carlton and I snuck over to Press Coffee at 8 am after breakfast and wandered around the American Tobacco Historic District. Check out the floating train; this was the end of the line for tobacco shipments in the area.

Carlton Gibson and Will Vincent

All talks should be online in a month, and I will do a separate post on them then, but here are some highlights for me.

Sheena O’Connell gave the opening keynote on Power to the People who Teach the People, a look at her experiences building a learning platform and teaching many new developers. One of the standout quotes for me was, “People with a fixed mindset will hide their deficiencies from you.” She spent several slides talking about fixed vs growth mindsets, how to spot them, and how to nurture a growth mindset in students. I also think a lot about education, so this talk deeply resonated.

After the keynote, there were two talk options for future time slots. I saw Chris May’s talk on “SPA vs HTMX for Your Next Project. HTMX is very, very hot right now in the Django landscape and I don’t see that trend changing anytime soon. HTMX neatly slots into the massive gap between server-rendered templates and a full API-driven SPA JavaScript option. It came up in multiple talks during the conference, including Carlton’s on Wednesday, API Maybe: Bootstrapping a Web Application circa 2024.

Next up for me was Ryan Cheley’s talk on Error Culture, highlighting how seemingly subtle differences in how errors are managed can manifest in powerful ways within organizations.

Then it was time for Lightning Talks, which Andrew Mshar organized this year. These are short, 3-5 minute mini-talks on any number of subjects. They are a great way to try your hand at public speaking, bring attention to a particular topic or project, and generally make the conference even more inclusive.

One tip I’ve learned over the years is to step outside the conference venue at least once during the daytime! Otherwise, it’s far too easy to be indoors all day. I had lunch immediately and walked to the Sarah P. Duke Gardens. It did not disappoint! I wish I had more time to soak them up, but it is truly a special place.

Sarah P. Duke Gardens

Sarah P. Duke Gardens

Sarah P. Duke Gardens

After lunch, there were again multiple talk options, and I sat in on An Opinionated Guide to Modern Django Forms by Josh Thomas. Forms are foundational to websites and yet don’t receive that much attention, or at least not as much as they should. This talk was a fantastic overview of them and recent improvements in Django.

One more talk to mention–I can’t cover every talk here, unfortunately–was Passkeys: Your Password-Free Future, which tied into my talk on Django’s User model. There was a lot in here, and I found myself nodding in agreement throughout most of it.

In the evening, Carlton and I went to dinner at Cucciolo Osteria with the two Django Fellows, Natalia Bidart and Sarah Boyce. It was a continuation of sorts to our Django Chat conversation that had been recorded before the conference. We ended the night back at Parlour for more ice cream.

Tuesday

I woke up early to pouring rain and decided to skip a run. Instead, I headed out with an umbrella and rain jacket to Cocoa Cinnamon for coffee. Given the downpour, it was just me and the staff for the first 15 minutes at 7 a.m., but then Andrew Mshar came in, and so one coffee turned into two.

Coffee

They have several blends unlike anything I’d had before and multiple flavored coffees if you’re into that sort of thing. This picture is from a non-rainy day.

Cocoa Cinnamon

Back at the conference, Mario Munoz gave an inspiring keynote to start things off in How To Be a Developer and Other Lies We Tell Ourselves. Next up, I attended Karen Tracy’s talk on Django + Alpine.js + htmx Ups and Downs. This is the common stack I see in most greenfield projects these days, and she helped clear up a lot of confusion about what each component does and how to use them in real-world projects.

The following session had two great talks: Jacob Kaplan-Moss gave one on what the Django Software Foundation Could Do with $1,000,000. I have had this discussion privately and on the Django Chat podcast with Jacob so it was exciting to see it stated publicly. Django can move slowly, but I think the momentum is strongly behind adding an Executive Director to do more than the current volunteers can manage. Paolo Melchiorre gave a talk, too, on Maps with Django. I sat in for this one, and it was an excellent step-by-step guide to implementing maps and GeoDjango. He also has several tutorials on his site that go into great depth on the topic.

At lunch, I sat with a larger group, continuing a number of people I hadn’t met before. DjangoCons take seriously a Pacman policy for seating, aka always leaving room for others to join. It works out well and means no one feels left out of a conversation.

Pacman

I went to the speaker’s room to rehearse my talk, and then–you guessed it!–snuck out for a quick run. This time, I ventured to the Duke East Campus, near the hotel, featuring an almost 2-mile dirt track around the perimeter.

Strava Map around Duke

Duke East Campus Trail

I had a light lunch so I grabbed a sandwich from Ninth Street Bakery on the way back and wolfed it down before racing to attend Simon Willison’s talk on How to design and implement extensible software with plugins. He’s been using plugins quite extensively on his Datasette project and made the point that they are an effective way to customize your projects, especially in Django. To prove this point, he live updated several plugins he maintains and announced the release of DJP, a plugin system for Django. It was an astounding talk, and I highly recommend it once the recording is available publicly.

Next up was DSF Board Member Thibauld Colas’s talk on 10x Lower Website Carbon Emissions and Tim Bell’s look at Deploying Django Migrations at Kraken Scale. I had a chance to talk with Tim about this during the conference, and I hope he writes something up, as deploying migrations is a nuanced topic that has very little written about it in the docs or publicly, as far as I’m aware.

The last two talks were on Fighting Homelessness with Django by Benjamin Zagorsky and Operations: The Missing Django Piece, a last-minute addition due to a speaker illness. Kudos to Micah Lyle for stepping in on short notice!

In the evening, starting at 6 pm, there was a Conference Speakers Dinner at Geer St Garden. This event is for speakers and conference organizers, which means it’s large! One of the best parts about being a speaker is attending these dinners and rubbing shoulders with everyone else who is actively contributing to the conference. The after-party was across the street at Boxcar Bar + Arcade. I was feeling wiped, so I headed back to the hotel room, but apparently, there was a very dramatic MarioKart tournament.

Wednesday

The third day of talks focused on “Deep Dives,” which are generally more technical or advanced in nature. Carlton and I had a quick breakfast at the conference venue and then walked to Press Coffee again to clear our heads. Natalia Bidart was up with the keynote, The Fellowship of the Pony, where she used a Lord of the Rings analogy to describe what it’s like to be a Fellow. All her talks are excellent, so I strongly recommend you check them out once they are live. One of the things about Django is that millions use it, but a relatively small number of people actually drive decisions in the community, and then within that subset, an even smaller number have a good understanding of the Fellows role. I only do because I’ve known Carlton forever and served on the Board, but absent that experience, I would also be relatively clueless about how exactly all the Django pieces align.

After the keynote, there was a short break. Then our other fellow, Sarah Boyce, was up with Hidden Gems of Django 5.x, which focused heavily on the lesser-known additions to Django, most notably accessibility improvements within the admin. Django doesn’t do a good enough job of marketing all its amazing changes, partly because by the time volunteers have written the code, tested it, documented it, and so on, it can be difficult to truly celebrate all the upgrades. But Sarah did a wonderful interactive job highlighting just a few of the 5.x major improvements.

Frank Wiles gave the next talk on A Brief History of Django, which he would be well-placed to give as he was the boss of Adrian, Simon, and Jacob at the Lawrence World-Journal where Django was created.

There were lightning talks again during lunch, but I had some food quickly and headed to the Durham sBulls ballpark to buy some souvenirs for my kids. It’s always a toss-up whether I get the same thing for all three or roll the dice with different items. Here were the choices, ranging from a T-shirt to a stuffie to a backpack dongle stuffie (my kids have several already).

Durham Bulls Gifts on a Bed

This was also a chance to catch up with Jim Matlock, a professor who has been teaching my Django for Beginners book this past year. He’s had a lot of great feedback on the content and played a big role in my 5.0 updates. A long-term goal of mine is for the Beginners book to be suitable for a university-level undergraduate course. I know it’s been taught at several dozen schools, and I hope that long-term “the web” becomes part of the core computer science curriculum, but for now, it’s an elective at most schools.

Jim was generous and bought us another round of coffee at Press. You might be seeing a theme here!

Then it was back to the conference to give my own talk on Django User Model: Past, Present, and Future. I gave a version of this back in February at Django Boston, but since then, there has been a lot of momentum around making changes to user authentication. You can see the active discussion here on the forum so please weigh in if you have thoughts!

Carlton went after me with his talk, API Maybe, which highlights how individual and small teams can build powerful Django websites quickly these days without needing a full-blown API backend and dedicated JavaScript frontend.

After this, I wanted to get rid of some excess energy, so I went for a run on the American Tobacco Trail. It extends for 22+ miles from the hotel, but I only went for around 4 miles.

Strava Run

After a shower, it was time for dinner, and eight of us headed to Little Bull, an outrageously good local restaurant that mixed Mexican and Southern food. The group included Simon Willison, Andrew Godwin, Carlton Gibson, Andrew Mshar, Ryan Cheley, Tim Bell, and Daniele Procida.

On their way back to the hotel, some members stopped at Simons Says Dip This. Our Simon, in particular, found it irresistible.

Simons Ice Cream Sign

The other half of us went, again, to Parlour near the hotel for more traditional offerings. Some people went out on the town after this but many of us stayed in the hotel lobby and had a beer together before heading to bed.

Thursday

Thursday and Friday are sprint days, focused on development directly related to Django, whether it be code, docs, new features, and so on. Caktus Group hosted the event and has beautiful offices right near the hotel.

But first, I was off to a 7:30 am tee time with Jon Gould at the amazing Duke Golf Course. We were the first ones off in the morning as the sun doesn’t rise until 7:15 am or so, far later than I am used to for that time of year. Our playing partners were two Canadian men who had been friends for 50+ years; one lives in the area full-time now, and the other is still up in Canada but comes down every year for a week of golf. They were good company, and the course was a real treat to play, even with the standing water everywhere.

Golf Hole at Duke

Jon Gould and Will Vincent on Golf Course

After the round, Jon was off to a Dick’s Sporting Goods store with his British colleagues to buy exotic items for their families. I took an Uber back to the hotel and raced over to the Sprints for a bit. For lunch, Simon Willison suggested King’s Sandwich Shop, a local institution since 1942. We got variations of Impossible Meat in a burger and Philly Cheese steak, along with fried okra and fries.

There was time afterward to return to the Sprints for a little more before heading to the airport. They have a “virtual food hall” where you place an order, and then it appears in a box a short while later. Wild.

Reef Food Options

Hurricane Helene was starting to come in as I was leaving, leading to a delayed flight. Thankfully, all went smoothly, although things were a little dicey in Durham on Friday, and there was a lot of devastation in other parts of the state.

Recap

I hope this overview gives you a sense of my personal experience of DjangoCon US. It was maybe a bit light on the talks themselves, but those are available online later whereas the whole scene is not. I encourage anyone who can to attend the conference in the future.

And a huge thank you to the volunteer conference organizers who made it all possible!