It is not hard to come across something annoying that you feel could be done in a simpler, better manner. What can be more difficult than identifying this problem is actually coming up with an improvement, or ideally a solution. This article and its second part explore how I encountered one such issue and, in my opinion, came up with a pretty good solution. I call this “solution” Archive Finds and this is how it came about.

This part will focus more on the idea and how it came about, while second will focus more on the technical aspects and lessons I’ve learned.

“I wish this shit didn’t take as much time”

In my teen years, I used to buy/resell vintage, archive clothing. This process involved finding undervalued clothing, buying it and then finding someone willing to pay for it more than I did. I always found the hardest part of the whole process finding these hidden gems, as this involved looking through various websites with varying degrees of accessibility and sometimes poor UX. My daily routine would be made up by me spending hours browsing through these online stores, just to find the best deals. Even if this meant sometimes just refreshing these websites over and over.

It occurred to me that this doesn’t have to be the case. What if I could be notified when a new item appears? What if I wouldn’t have to constantly switch between different websites, but instead have a single source of items to look at? Would it be easier to browse through items if the UI was tailored to my needs?

These questions formed the initial idea for this service.

Creating something, from nothing

With my Computer Science (CS)-based background, I realized there must be a technological way of realizing these ideas. The core of what I set off to build was a central search engine, collecting items from various websites and presenting them in a clean & powerful UI. Extensions such as item notifications could always be added if this would bring value.

I had past experiences with creating UIs and web services, creating the interface wouldn’t be the hardest part. Collecting the items would. That is why I started with a prototype, built purely for myself. This very simple prototype would collect items from a single website (Yahoo Auctions) and paste them into a file. I would then read this file and show these items - their name, descriptions, photos, etc.

When a personal tool becomes something more

I realized what I had built wasn’t of much use - I still look at a single website, I can’t collect as many items because they are stored in a file and the UI was lacking.

This led me to improve on the website more and more:

  • Instead of a single file, a database was used.
  • Instead of using a heavy web scraper, the Python Scrapy library is used, a more lightweight approach that is easier to parallelize.
  • Items are now taken from multiple websites.
  • A simple UI with basic functionality is up and running on a hosted website, not just locally on my PC.

It has already replaced the existing “process” of finding new clothes. By this point I realized I put a decent amount of effort into this service and I started being content with the current state of affairs. Sure, there are bugs and inconsistencies, but I know what they “mean” and why they happen, so it’s fine. Yeah, the UI could be better, but the website is only for my eyes, so why does it matter?

Only then did I realize others might find this useful - throughout the years I have met many resellers and others with an interest in the same niche of fashion.

My perspective changed totally.

Make public what you think others will find useful

My understanding of the service’s quirks made me partially blind to all of its problems. If this was to ever see the light of the (Internet) world, many things would need to be fixed and improved. I no longer aimed for “good enough”, but for “as good as possible”.

A small dilemma arose though - if I make this public, I could lose my competitive advantage. On the other hand, this could potentially save hours of users’ time.

Reselling was something I did less and less. Eventually, I realized I value coming up with a solution to a real-life problem that improves on the status quo far more than a few items I might snipe up quicker than others.

Making this service public, getting feedback from both actual and potential users, and dragging this project to the finish line, all taught me more than I could have imagined. And definitely more than if I left the project in a dormant, un-published state. This taught me to open up my projects and ideas to people (whether users or developers) as much as possible. Inviting my friend Surya (Hey!) to work in the later stages gave me a different perspective, which is often lacking in one-man projects. I’m very appreciative of our collaboration.

What if I could start over?

Finally, if I could start over, I would have definitely validated this idea earlier. In its current state, the reselling community (which might find this product useful) seems way less active than it was years ago when I had the idea for this service.

Perhaps if I had started earlier, I would have been able to test my assumptions and improve on the product, making it interesting to a wider audience. Even if this failed, I could always move on to the next idea, the next thing. I can say this thanks to the self-confidence and experience I have gained developing this service, as my first full-fledged solo-project.

Thank you for reading.