The Djangonaut Space Program: A Recap

April 21, 2025 • 4 min read


If the first half of my Djangonaut Space experience was about finding my feet, then the second half was about stretching them, sometimes uncomfortably🙃, but in all the best ways.

It’s hard to describe the Djangonaut Space Program without sounding overly sentimental, but honestly, this program cracked something open for me. I walked in wanting to contribute to Django and walked out as a contributor wanting to build a world accessible to everyone.

The Grind Gets Real

Continuing from where the initial blog post left off, I hit what I’ll call “The Merge Wall”😆.
I fixed the failing JS tests eventually and was expecting the PR to be merged. Then… boom. Failed tests again🙃. This time with Black, Flake8 and Selenium. I thought Django's test suite runs all tests but I discovered later that sometimes, target tests must be run manually because they may be skipped due to one's local setup.

I went back to fixing stuff. I dug into the log files from the failures. Black and Flake8 tests were style and formatting tests so they were relatively easy to fix. The Selenium tests however, took a while. I read the logs, found the target test functions and eventually got them all passing as well. I made another commit and requested another review. Sarah responded swiftly with a few areas that needed improvement. She requested some changes on mobile and RTL views. This sent me back to work. The changes were rather simple. I just had to make some CSS edits to the buttons to make them responsive and RTL compatible. I made those changes and pushed another commit.

Since then, I have hit the biggest merge wall yet😅. Before pushing, I rebased my branch onto main because I felt like it's been a while since my last commit. However, after making the push, the Selenium tests that were passing initially began failing again but this time in an unsual manner. The failures did not reflect the changes I had made. To try and understand what was going wrong, I reverted the change to the previous commit(point of last review) to check whether the tests will pass. But that brought in other test failures. The most confusing aspect was that the failures and logs were not consistent. They were flaky.

I thought it may have to do with how I rebased my branch onto main and read many articles on Git rebasing, but I didn't find anything useful for my problem. In the final weekly-check-in, I spoke to Eli, my navigator, on what has gone wrong and she advised me to ask Sarah about it on the PR. I spent another week trying to debug the issues myself but I made no progress. Finally, I tagged Sarah on the PR yesterday and asked a few questions to get some insights. It's the week of Djangocon Europe and Sarah will be giving the keynote speech so i don't expect to get a response quickly like the first time. But hopefully, she'll come in clutch!😊

Coincidentally, she will be speaking about the need for more reviewers in the Django community in a talk titled "Django needs you! (to do code review)". I look forward to it. She also gave an amazing talk for new Django contributors in the Djangonaut Space titled "Your First Django Contribution". You should check it out if you're interested in contributing to Django.

The program ended a week ago. Has my PR been merged? Not yet🙃. But the lessons, resources and networks have been amazing and will be invaluable in my open source journey. I’ve also learned that open source is not a speedrun. it’s more like a long, winding stroll through code, feedback, and community. You stop to help someone, get helped, fix something… and grow.

Exploring New Terrains While Still Figuring Stuff Out

Despite still figuring a lot out myself, I gave a short talk during the Djangonaut Showcase. The Djangonaut Showcase is an event that happens during the program for interested Djangonauts to speak about their experience or anything at all they would like to share wuth the community via short 5-minute lightening talks. Despite my nervousness, I registered and gave a short talk encorugaing new contributors to not hesitate to ask questions in the community. In case you check out my talk, I'm sorry about the bad sound. My internet connectivity was pretty bad on the day🫢.

I took another leap and submitted a Google Summer of Code proposal to add a command palette to the Django Admin Interface in order to make it more accessible and powerful.

I also submitted a talk proposal to Djangocon Africa with a talk titled "Inclusive Coding: My Journey with Django and Accessibility". I aim to speak about my journey into Open Source through the Djangonaut Space Program and how it has shaped my understanding of accessibility. I want to share the importance of making our code and communities more inclusive, and how we can all contribute to that goal.

Wish me luck with these proposals!😉 Big shoutout to Eli and Keanya for all the guidance and support in crafting them.✨

The Joy is in the Journey and Community

Throughout the program, there were weeks when the tests refused to pass. There were weeks where I wondered if I was “doing enough.” But there were also weeks where I sat back and thought, “Wow, I’m really doing this.” The weekly check-ins were a lifeline. They kept me accountable, and more importantly, they made me feel like I wasn’t doing this alone. The workbook helped me reflect and stay on course.

I now know more about Django’s code structure and style, accessibility standards, and how to contribute to open source (in more ways than just code).

Team Saturn's focus on accessibility wasn't just technically interesting; but also very meaningful to me. It has made me far more aware of how design and code can include or exclude users.

So, What Now?

Well, the program might be over, but I intend to stick around for a long time.
Here’s what I plan to keep doing:

  • 🌍 Keep working on accessibility and advocate for it in every codebase I work on.
  • 👨‍💻 Continue contributing to Django and other open source projects.
  • 🎙️ Give talks (maybe starting with one at DjangoCon Africa 👀).
  • 💬 Show up. Help someone else just getting started.

To the Organizers

Thank you for the resources, the community, the patience, and the brilliance. This was more than a mentorship program. It's been amazing.

I still have a PR that hasn't been merged yet. I still google many things like “how to rebase safely”😂. But I now know that none of that disqualifies me from being part of open source.

I’m not just someone learning to contribute anymore. I am a contributor. A Djangonaut Star. ⭐

Until the next mission,
Philip 🚀