From OSINT Theory to Building My First Tool
I recently finished documenting my learning of OSINT in a series of posts.
But honestly? I was not satisfied.
Most of what I had written felt like theory dumps — definitions, lists of tools, and what each tool does. Useful, yes… but something was missing. It didn’t feel like engineering.
And then I realised something:
Knowing tools is not the same as building something.
So, to satisfy the engineer inside me, I decided to do something different.
The Turning Point
I opened ChatGPT and asked a simple question:
“What OSINT tools can I make as a beginner?”
I got a list of ideas. I read through them, picked one, and decided:
this is the one I’m going to build.
But choosing the tool was only the beginning.
The next question naturally followed:
“What do I need to learn to build this tool? Give me a day-to-day learning plan.”
And honestly — that response changed everything.
Learning What Was Actually Needed
ChatGPT suggested:
-
Python basics (loops, conditionals, functions, recursion)
→ I already knew these, so it was mostly revision 😎 -
The
requestsmodule in Python
→ This was new, so I slowed down here and gave it proper time
It also gave me a warning ⚠️ that I’m really glad I listened to:
“Since you’re a beginner, don’t jump into advanced topics like BeautifulSoup or heavy web scraping. Keep them for later.”
That advice alone saved me a lot of confusion.
When I looked at the plan, I realised something exciting —
I could finish all of this in about a week if I gave just one hour daily.
Revising what I already knew and learning what was new took roughly a fortnight (maybe even less).
And once it clicked… it genuinely felt like I had landed among the stars ⭐.
The Day of Building the Tool
Then came the day — the day I actually had to build the tool.
And yes, I was confused.
I didn’t know where to start.
That’s when something unexpected helped me: mathematics.
In maths, you’re taught to break a big problem into smaller steps — algebra, trigonometry, one equation at a time.
So I applied the same logic.
I asked myself:
-
What is the first thing this tool needs to do?
→ Send requests to multiple websites.
Suddenly, the answer was obvious:
That was step one.
From there, I kept asking myself small questions — again and again.
Each answer led to the next step. Slowly, things started coming together.
From Confusion to a Working Tool
Eventually, I had a working CLI-based OSINT tool for username reconnaissance.
But there was still a problem.
If someone new cloned the project, they wouldn’t know:
-
what the tool does
-
how to use it
-
how to install it
So I wrote a README.md.
I also tried to improve the look and usability of the tool.
For this part, DeepSeek helped me polish things a bit.
And that’s how UserRecon was born.
What UserRecon Does
UserRecon is a simple CLI tool for username OSINT.
You just:
-
Run the tool
-
Enter a username
-
Press ENTER
That’s it.
The tool checks the presence of that username across 70+ platforms and:
-
tells you whether the username exists or not
-
creates a dictionary mapping platforms to profile URLs
How to Use It
Clone from GitHub:
Or install via pip:
Then simply run:
Enter the username and you’re done.
What’s Next
This wasn’t just about OSINT.
It was about moving from consuming knowledge to creating something real.
I’ll come back again with the story of how I got this project published on pip — because that journey taught me even more than building the tool itself.
Until then —
keep learning, keep building, and don’t settle for theory alone.
Comments
Post a Comment