DEV Community

Cover image for How Building `shuka` Helped Me Stay Consistent
Kode-n-Rolla
Kode-n-Rolla

Posted on

How Building `shuka` Helped Me Stay Consistent

GitHub β€œFinish-Up-A-Thon” Challenge Submission

This is a submission for the GitHub Finish-Up-A-Thon Challenge

Intro

Hello πŸ‘‹
I am kode-n-rolla and this is my story.

What I Built

⛏️ shuka is a Rust CLI tool for fetching verified smart contract source code from blockchain explorers and saving the full source tree locally.

Many bug bounty programs and Web3 projects do not always provide a public GitHub repository. Sometimes the only reliable entry point for research is a verified contract address on a blockchain explorer.

I built shuka to make this workflow faster and cleaner: instead of manually copying source files from an explorer, a researcher can fetch the verified source code directly and start analyzing it locally.

Demo

shuka-demo

You can try by yourself πŸ‘‰ GitHub

The Comeback Story

🚩I started shuka when I was getting deeper into Web3 security.

At that time, I often saw the same problem: many smart contract targets do not have a public GitHub repository. Sometimes the only starting point is a verified contract address on a blockchain explorer. As a researcher πŸ”Ž, you need to manually open the explorer, copy source files, recreate the structure locally, and only then start reading the code properly.

I wanted to make this workflow cleaner.

The first version of the idea started in Python 🐍. It felt like the fastest way to prototype something useful. But the project did not move as smoothly as I expected. I was learning, switching contexts, dealing with uncertainty, and sometimes losing focus. There were moments when the tool was less about "shipping a product" and more about trying to stay consistent while everything around me felt noisy.

At some point, I decided to restart the project in Rust πŸ¦€.

That decision gave the project a new shape. Rust was not the easiest path, especially because I was still learning many language patterns while building. But this was exactly what made the project meaningful to me. shuka became a way to practice Rust not through isolated exercises, but through a real tool with a real use case.

The comeback was not only about rewriting the code. It was about turning an unfinished idea into something I could actually publish, maintain, and improve πŸ’ͺ.

My Experience with GitHub Copilot

πŸ€– GitHub Copilot helped me mostly as a development assistant, not as a replacement for understanding the code.

Since I was still learning Rust patterns while building the project, Copilot was useful for syntax hints, small refactoring suggestions, and helping me move faster when I already understood what I wanted to implement.

The most valuable part was not generating large blocks of code, but reducing friction: reminding me of Rust syntax, suggesting small improvements, and helping me stay in flow.

Final thoughts πŸ€”

Building shuka helped me stay disciplined. Some days were productive, some were slow, and some were full of doubts. But the project gave me a clear direction: open the editor, write code, improve one small part, run it again, and keep moving.

Publishing shuka was a small but meaningful milestone for me 🏁. It reminded me that open source is not only about huge frameworks or popular libraries. Sometimes it starts with a small tool that solves one real problem.

shuka is still at the beginning of its journey πŸ›£οΈ, and I plan to keep improving it, adding more explorers, chains, and features over time.

Thanks to GitHub and DEV for creating this challenge. It gave me a good reason to reflect on this project, finish the story around it, and share shuka with the community.

Thanks for reading, my friend πŸ€œπŸ€›.

Keep building, keep learning, and stay cyber safe πŸ›‘οΈ.

Thanks

Top comments (0)