Skip to main content

Command Palette

Search for a command to run...

Midpoint Reflections

Published
•4 min read•View as Markdown
Midpoint Reflections

Time flies when you’re staring at a terminal! It feels like just yesterday I was writing my introductory post, fueled by a mix of excitement and "imposter syndrome" jitters. Now, reaching the midpoint of my Outreachy internship with the Wikisource Reader App, the view looks a bit different. The journey hasn’t been a straight line, but every bug encountered and every PR merged has taught me more than a textbook ever could.

Here is what the halfway mark looks like from my desk.

The Learning Curve: From App to Backend to Building Pipelines

The past few weeks have been a deep dive into the unknown. Every issue on the Wikisource Reader App has acted as a gateway to more research and deeper understanding. I’ve found myself moving across the entire stack:

  • The Backend: I’ve been working within Django, migrating models, building out robust APIs, and implementing middleware to ensure smooth data handling.

  • The Frontend: This is where the magic happens for the user. I’ve been designing intuitive UIs, managing data flow with ViewModels, and handling API consumption. I also tackled the high-stakes task of building the local Room database and successfully migrating schemas without the app crashing.

  • The DevOps: I’ve been in the trenches of CI/CD, crafting the .yml configurations required for F-Droid submission and ensuring our build environment is rock solid.

At this point, I think I can officially (and proudly) call myself full-stack. Seeing a feature travel from a Django middleware change all the way to a Kotlin ViewModel and finally onto a user's screen is incredibly satisfying.

The F-Droid Breakthrough

One of my most significant "wins" was successfully configuring the app for F-Droid. I’ll be honest: I was stuck on this for a while. I was constantly hitting reproducible build issues. I spent so much time tweaking the .yml file, convinced the error was in my configuration logic.

After a conversation with a friend, they suggested I take a step back and look at it from a different perspective. That was the "aha!" moment. It turned out the culprit wasn't the .yml file at all, it was the specific versions of the tools I was using while building the application. Once I aligned those, the magic happened.

It’s a great feeling to know that the app now meets the high standards of the open-source community.

If You can think about it, you can definitely do it

If this midpoint has taught me anything, it’s that in software development, "impossible" is usually just a placeholder for "I haven't found the right resource yet."

When I was staring at those failing F-Droid builds, it felt like I had hit a digital brick wall. But that experience redefined how I view roadblocks. I’ve realized that finding a solution isn't always about how many lines of code you have memorized; it’s about your ability to navigate the ecosystem around you.

I’ve developed a three-step mental model for whenever I hit a blocker:

  1. The Resource Deep-Dive: Moving past the first page of search results. It’s about digging into the official documentation and reading through closed GitHub issues.

  2. The Power of the "Second Pair of Eyes": Whether it’s a mentor, a fellow intern, or a friend, explaining your problem out loud (the "Rubber Duck" method) often reveals the gap in your logic.

  3. Community Knowledge: Open source is a giant, living library. Somewhere, someone has likely faced a similar configuration error. Tapping into the Wikisource and Outreachy communities reminded me that I’m not coding on an island.

What’s next?

If there is one universal truth I’ve gathered from the first half of this journey, it’s that nothing comes easy. But the struggle is exactly where the growth happens. I’ve learned that the most rewarding "merges" are the ones you had to fight for.

As I look toward the second half of my Outreachy internship, I’m not just aiming to finish, I’m aiming to excel. I intend to take the momentum and push even harder. There are more features to build, more bugs to squash, and an even deeper dive into the Wikisource ecosystem waiting for me.

The view from the midpoint is great, but the view from the finish line is going to be even better. Let’s get back to work.