From Outreachy Intern to Fedora Co-Mentor: My Year in Open Source
100+ applicants. 1 selected. 110 commits. 15 months. Here's how I went from Outreachy intern to co-mentor on the Fedora release-schedule-planner.
March 2025. I’m staring at an Outreachy application form, wondering if I’m wasting my time.
The project was Fedora’s release-schedule-planner — a tool to replace their aging release scheduling system. 100+ people applied. One position.
I got it. Still not entirely sure how.
June to August 2025: the internship
The project was a skeleton when I showed up. A few Flask routes. Some SQLAlchemy models. A README full of good intentions. Twelve weeks.
I moved the whole thing from Flask to FastAPI. Not because Flask is bad, but because the project needed async, automatic docs, and Pydantic validation if it was going to survive in production. That kind of migration is tedious and thankless and absolutely necessary.
Then I built the data layer. Models, schemas, endpoints for schedules, milestones, tasks, task dependencies. Every relationship. Every edge case I could think of. Then tests for all of it. Then a CI pipeline on Forgejo Actions so nobody could merge broken code.
Then a database seeder that parsed Fedora’s actual XML release schedule and turned it into something the app could use. If you’ve ever written a data import script that has to handle real-world XML from a 20-year-old process, you know that’s where the actual engineering lives.
By August the project had a pulse. Working API. Test suite. CI. Not bad for a skeleton.
And then I didn’t stop.
September 2025 to April 2026: the part nobody asked for
Most interns finish the program and move on. I made 60 more commits. Nobody was paying me. Nobody was checking on me. I just wasn’t done.
This is where the work got harder. OIDC authentication — actual Fedora account sign-in, not a tutorial OAuth flow. Session management. Secure cookies. The kind of edge cases that only surface when real Fedora accounts try to actually sign in and things silently break.
I built the frontend with Jinja2 and HTMX. No framework. No build step. Server-rendered templates that actually load fast. It’s not trendy, but it works.
I containerized the whole thing for OpenShift. Docker to Podman. Non-root user. Health check endpoints. Liveness probes. The kind of stuff that separates “works on my machine” from “runs in production.”
I moved the database from SQLite to PostgreSQL and wrote the config layer and the migration docs so the next person wouldn’t have to figure it out.
By the time Outreachy applications opened for May 2026, I had more commits after the internship than during it. That’s still kind of wild to me.
May to August 2026: the other side of the table
Fedora asked me to come back. Not as an intern. As a co-mentor.
Fifteen months earlier I was one of a hundred applicants hoping someone would give me a shot. Now I’m reviewing applications, scoping the project, writing onboarding docs for someone who’s about to feel exactly the way I felt.
I know what they’re going through. The imposter syndrome that hits the moment you open the codebase. The “am I even good enough for this” that sits in your chest while you stare at the README. The fear of pushing that first commit and having everyone realize they picked the wrong person.
I get to tell them: nope. You belong here. I was you.
What I actually learned
110 commits. 15 months. Here’s what stuck.
Consistency beats talent every time. I’m not the smartest person on Fedora. Not even close. But I showed up. Month after month. And that compounds in ways raw ability doesn’t. People trust you when you show up.
The internship is not the point. Outreachy gives you three months. What you do after — that’s the whole game. The program opens the door. You walk through it. Then you keep walking. Most people don’t.
Mentoring teaches you faster than being mentored. Explaining something to a beginner forces you to actually understand it. Reviewing someone’s code sharpens your own. Helping someone through a bug you’ve already hit — that builds a kind of confidence tutorials can’t give you.
Your origin story is not embarrassing. It’s your edge. I went from pirating Windows in Kenya to contributing to a major Linux distribution. When I tell people that, they listen. Don’t sand down where you came from. It’s the most interesting thing about you.
Bet on yourself first. I applied to Outreachy not sure I was ready. I kept contributing not sure anyone cared. I said yes to mentoring not sure I had anything to teach. Every step was a bet on myself before anyone else would make one. Every bet worked out.
What’s next
I don’t have a five-year plan. Maybe Fedora. Maybe an OSPO role. Maybe I’ll just keep building and mentoring and seeing where it goes.
But I know this: 15 months ago I was one of 100 hoping for a chance. Today I’m the one giving someone else theirs.
If you’re reading this and you’re on the fence about Outreachy: apply. The worst they can do is ignore you. The best they can do is say yes.
And a year from now, you might be the one writing this post.