Roman Milyushkevich: Co-Founder of HasData on Building a Startup

Roman Milyushkevich Podcast cover
Spread Great Ideas
Roman Milyushkevich: Co-Founder of HasData on Building a Startup
Loading
/

Roman is an entrepreneur, incredibly curious, an engineer, a father of two, and, as it relates to this podcast, he’s the co-founder of HasData.com — a brand that I’ve personally invested in.

Roman used his experience in developing web scrapers for various clients and with his co-founder, Sergey, built a web scraping API — now many APIs — that would be an easy-to-use no-code tool for marketers, e-commerce sites, real estate professionals and more.

In this episode we talk about his entrepreneurial journey, what HasData is, who uses it, who should use it, and what’s next for the brand.

If you’re an SEO geek, a digital entrepreneur, or you own a marketing agency, then this podcast is, most likely, for you.

Welcome, Roman.

Favorite Roman Milyushkevich Quote

Roman Milyushkevich's quote on listening to your customers

“At the very beginning, we closely followed our competitors and tried to replicate their features. And I wouldn’t recommend doing this in the long run. It could be okay in the very beginning, but I realized we have different customers with different needs. So listen to your customers and their needs.” – Roman Milyushkevich

Additional Resources

Full Transcript of Our Conversation

Introduction: Meet Roman Milyushkevich

00:00.72 – Brian David Crane

Please welcome Roman Milyushkevich. He’s an entrepreneur, an incredibly curious guy, an engineer, and a father of two. And as it relates to this podcast, he’s the co-founder of HasData dot.com. It’s a brand which I’m an investor in. So we’re going to be talking about his entrepreneurial journey, what HasData is, who uses it, and what’s next for the brand. If you’re an SEO geek, if you’re a digital entrepreneur, or you own a marketing agency, then this podcast is most likely for you.

00:29.82 – Brian David Crane

Welcome, Roman, glad you’re here.

00:32.27 – Roman Milyushkevich

Thanks, thanks for having me. Glad to be here.

00:36.21 – Brian David Crane

So tell me a little bit about how you co-founded HasData. What’s your journey into being a SaaS business owner?

Watch the full video of our conversation on the Spread Great Ideas Youtube channel.

How HasData Began

00:46.82 – Roman Milyushkevich

I had a lot of experience in building web scrapers prior to HasData. I faced many many challenges related to web scraping development myself, such as avoiding captures, bot detection software, proxies, management, and scaling.

01:07.27 – Roman Milyushkevich

And at the same time, I was running an outsourcing company, and we had a client. It’s a digital marketing agency ,and they reached us.   They wanted us to build a SERP rank checker for internal purposes. They were tight on budget and couldn’t afford their own SERP rank checker and wanted to use an external API provider.

01:36.06 – Roman Milyushkevich

So ,I told them we have a SERP API. We haven’t had it yet.  We negotiated a monthly price for the volume of the request,and they agreed. So, while my outsourcing company started developing the product, I started working on my own product to serve their SERP scraped needs. So this is like this for sale, Kickstarter HasData development.  Yes, that’s that’s the story.

02:07.25 – Brian David Crane

Yeah. So you had a customer in hand before you had a product.

02:10.64 – Roman Milyushkevich

Yes.

02:11.55 – Brian David Crane

Yeah. And what are some of the challenges between captures between proxies? You know, like assessing the tech, that the audience listening is pretty technical.

02:22.97 – Brian David Crane

What, what, why is the script, why is web scraping so difficult?

Why Web Scraping is Difficult

02:29.38 – Roman Milyushkevich

On the modern web, there are a lot of heavy JavaScript websites, and you can just make a simple HTTP request and get HTML back. You need to run a browser on the server, and like we are running to to scrape something, we are running like a regular Chrome browser — imagine Chrome taking up a lot of resources. So the first challenge is that it’s hard to scale. If you need to scrape thousands, hundreds, hundreds of thousands of pages,  you need to run thousands of Chrome browsers. And it’s very, like, very expensive.

03:18.66 – Roman Milyushkevich

And you need to know the technical stuff to deploy these browsers. You need to be not only a software engineer but also a little bit of a web expert. The second challenge is captured.

03:33.29 – Roman Milyushkevich

We are living where CloudFlare serves almost half of the internet. And maybe you notice that when you visit some website, you have this Cloudflare CAPTCHA, or Cloudflare, interstitial like they’re checking your browser. So, like, they’re doing these background checks and analyzing a lot of stuff, like your browser headers,  your fingerprint,  your IP address, and decide whether you are a legitimate user or a bot. And when you’re developing a scraper, you need to pretend to be a real user.

04:18.85 – Roman Milyushkevich

And you can’t with the same set of headers or the same version of the browser. You can make a lot of requests because they will catch you very fast. They will notice that, like, one single computer is doing a lot of requests, and they just block you so that’s the second challenge you need to randomize your settings and third challenge eight.

04:49.10 – Brian David Crane

And then, sorry, before you get to the third challenge, the reason the second challenge is important is because these website owners are in a position where they are spending money on bandwidth, server costs, XYZ. They have data that they view as proprietary, but yet it’s public. So, you know, you’re in this dynamic where they don’t want you to have this data, yet you’re legally allowed to have it. Is that right?

Ethical Web Scraping

05:20.13 – Roman Milyushkevich

Yeah. And so also a good point about the costs. A lot of sites nowadays are deployed on cloud platforms, and they charge you by how many resources, depends on how many cloud computing resources you use. And if you are serving a lot of requests to just bots you will end up with a big deal and without having real users actually it’s also important to not like when you are scraping some site you need to scrape it carefully and Do not overload target website servers. Do not send a sound request a second

Proxies and VPNs Explained

06:14.22 – Brian David Crane

You need to be delicate, and you need to be distributed.

06:16.23 – Roman Milyushkevich

Yes, and saying about the third challenge is its proxies, and the same as the fingerprint or bot detection system checks your IP address, and if you are making a lot of requests from the same IP they will block you eventually, there are two groups of IPs. I will split them into two groups. It’s a data center IPs and residential IPs. Data center IPs coming from data centers owned by Google, Amazon, and other hosting providers and residential, these are IPs that real users use from their phones, laptops, et cetera.

07:10.13 – Roman Milyushkevich

Uh, for example, in Cloudflare, you can just enable these settings to block all data centers. Uh, so, and most likely you will.

07:20.73 – Brian David Crane

Even if they’re coming from a unique user, like just basically say, yeah.

07:22.95 – Roman Milyushkevich

Yeah. Yeah. So they just cut off entire data center pieces. That’s it. Uh, and yes, that’s correct.

07:31.23 – Brian David Crane

This would then also impact people who are using VPNs because when they come in on a VPN, and it pops up through a data center, Cloudflare is automatically going to block them.

07:40.85 – Roman Milyushkevich

Yes, that’s correct. A lot of VPNs deployed like their exit nodes deployed on some cloud providers like Amazon and Google.

07:53.05 – Brian David Crane

Yeah, okay, and then what about on the residential proxy side? Do you want to talk about that?

07:57.34 – Roman Milyushkevich

Yes, so residential proxies. So there are a lot of things, like how do they get, like how do proxy providers obtain residential proxies?

Residential Proxies Uncovered

08:09.27 – Roman Milyushkevich

So this is like a big question.

08:11.27 – Brian David Crane

I’m dying to know.

08:12.95 – Roman Milyushkevich

Yeah, so two, like two things.

08:13.38 – Brian David Crane

Really?

08:17.91 – Roman Milyushkevich

First, like legitimate obtaining residential addresses and hidden obtaining of residential IP addresses.

08:29.53 – Roman Milyushkevich

Legitimate is exchanging your internet bandwidth for free use of some app. For example, there is a BrightData data proxy provider, and they distribute their own app, BrightVPN, and it’s free.

08:49.73 – Roman Milyushkevich

And in exchange for a free VPN, users share their internet bandwidth. And to use like users, they are exit nodes for web scraping. So, of course.

09:01.41 – Brian David Crane

BrightVPN is a desktop piece of software that’s running on the local user’s machine, right? Just on the desktop. It’s not on their phones or it’s also on their phones.

09:12.28 – Brian David Crane

So okay, yeah.

09:13.21 – Roman Milyushkevich

It’s on desktop only.

09:16.38 – Roman Milyushkevich

They also have SDKs for third-party app developers who want to earn more money for their app and who are looking for ways to monetize their user base.

09:28.20 – Roman Milyushkevich

I think it’s working.

09:29.73 – Brian David Crane

And how does that work in practice?

09:32.31 – Brian David Crane

Sorry to interrupt you. Like how do like Basically, if you have an app and you may implement this Bright SDK, what does the user see or what do they experience when they’re using your app?

09:44.65 – Roman Milyushkevich

So usually, these apps have some warning and note in terms of use that they will use your phone and internet boundaries for scraping and they must agree to this in order to use the app.

10:10.49 – Brian David Crane

Is there a particular app that comes to mind that you have seen that is using Bright SDK? The reason I go there with this question is I’ve seen a lot of these games that have millions of users.

10:17.00 – Roman Milyushkevich

No I…

10:24.79 – Brian David Crane

People don’t seem to spend any money inside of the app. They don’t really make a lot of money from advertising, and then I suspect that they are implementing the Bright SDK as a means of monetizing their users’ bandwidth or their users’ mobile connections without the user necessarily knowing it or being aware of it. I don’t know if that’s true or not.

10:47.24 – Roman Milyushkevich

I haven’t seen such apps for iOS, but definitely, there are some apps for Android because Android API allows you to do this. On Android devices, you can install apps outside of the Play market,  which is not possible for Apple devices. And I think the app with such an SDK will never get into the App Store. But I don’t have in mind any  Android apps with such an SDK.

How HasData Helps Businesses

11:28.22 – Brian David Crane

Got it. Okay. Yeah. Okay. So then, what is the, so then if I understand correctly, like HasData as a business sits between, uh, these proxy providers, let’s say, and the end user and basically helps the end user either get the data they want or have it in an API format, which allows them to, consistently I’ll capture the data that they’re looking for. Is that right?

11:58.33 – Roman Milyushkevich

Yeah, correct.  The problem with proxy providers is that a lot of them are just resellers of bigger guys like BrightData data, and they charge more. And sometimes it’s not obvious whether they have their own proxy pool or they just resell in BrightData data. So when I research proxy providers, I like to go to LinkedIn, find them looking at the number of employees if it’s less than 10, I think and they most likely are resellers. Because it’s very difficult to build your own proxy pool. You need someone on the team who understands how to build proxy servers and how to build desktop apps.

12:45.19 – Roman Milyushkevich

It’s unlikely that the company with a couple of employees and three of them are sales will build their own proxy, and that’s said be yeah yeah. And that’s also a big effort to research and validate proxy providers because, like a piece of one, proxy providers might work for some specific websites but for others they will not.

12:58.47 – Brian David Crane

Well, they also have to get people to install the app right or install the desktop application.

13:19.11 – Roman Milyushkevich

And so you usually need to use a couple of proxy providers for multiple targets or even a couple of proxy providers for one target.

13:34.03 – Brian David Crane

Yeah. Okay. And so then when you look at the product offering on HasData, you’ve got, you know, things like Google search results, Shopify, Amazon, Zillow.

13:47.41 – Brian David Crane

Do you need to use different proxy providers for those different websites? Because let’s say Shopify is very good at blocking BrightData, but they’re not very good at blocking, you know, another proxy provider. Is that accurate?

14:07.59 – Roman Milyushkevich

Yes, that’s accurate.  Also, now imagine, like, let’s say BrightData has one million IPs, but they also have a lot of clients. And most likely these clients are using the same IPs for scraping the same target website. So, these IPs will be flagged by the target site system. So you can’t use BrightData Data for scraping, for example, Google search.

14:36.52 – Roman Milyushkevich

And you’re going to use another proxy provider,  like which IPs are not, like, yeah, yeah, for some specific target website you are scraping.

14:45.24 – Brian David Crane

Getting abused by everybody else. Yeah.

14:50.18 – Brian David Crane

Yeah. Yeah. It’s a bit of a, to me HasData sounds like a two-sided marketplace in the sense that it’s not really a two-sided marketplace, but it’s this intermediary that charges the customer for the service of basically saying HasData is going to figure out which proxy provider and which, uh, well, which proxies are going to get you the data that you’re looking for basically.

15:17.12 – Roman Milyushkevich

Yeah, yeah. And scaling as well because everything runs in the cloud, and we are handling browser scaling on our own.

15:17.86 – Brian David Crane

Yeah.

15:27.96 – Brian David Crane

Cool. Okay. So then, all right. Let’s assess that I’m in, you know, I’m, I’m involved in SEO. Uh, why would I be using HasData, right? Like, what’s the benefit to, well, what’s the benefit to the Google SERP API, which I think is a popular product for y’all, as opposed to, like, like, why do I need it?

Automating SEO with SERP API

15:48.79 – Roman Milyushkevich

Yeah, so the main, one of the main products of HasData is Google SERP API. We provide Google search result pages in the format that can be used for SERP.

16:04.74 – Roman Milyushkevich

We mainly serve businesses working in the area of marketing,  mostly sales agencies SEM agencies. And think of Google as a database of all the information on the internet, and you can programmatically access it and get the results in a format the computer can understand and developer developers can use it. So, a very common use case is how agencies do back-checking for their clients.

16:39.59 – Roman Milyushkevich

It’s very useful for big agencies that have more than, let’s say, 100 clients. So agencies provide regular, like weekly, monthly reports to their clients. The cost of traditional tools like refs will be very high, plus there is a limited automation opportunity. And these companies are looking to automate their reporting.

17:08.12 – Roman Milyushkevich

because they have a lot of clients and it’s very time consuming to prepare such a big amount of reports. So they use our API and their internal toolkit to build these reports for their clients and also to mentor their own work, whether the site is moving in the right direction or not in terms of service.

17:31.44 – Brian David Crane

Yeah, because I’m thinking, as a business owner, I wouldn’t. It’s great, like, you know, this agency that I’ve hired gives me a report that says our SERPs are going up or down or sideways or whatever. And I’m like, that’s okay, cool. Thank you for that. How does that translate into action steps for you as the agency, like the one that you’ve hired? And it’s been said at the end that some of these eight agencies are actually then tasked not only with reporting but also taking action based on what’s in their reporting, right? Like, so they the the reporting is one part of,

18:05.86 – Brian David Crane

The way that they justify the cost or whatever they’re charging to these companies, right?

18:13.58 – Brian David Crane

Yeah. So then, so then some of the other use cases are like, what are the other scrapers? What are the other APIs that are popular on HasData?

18:24.01 – Roman Milyushkevich

I want to talk more about Serp API because I want to highlight some use cases. So for example, we have a client that provides.

18:32.18 – Brian David Crane

Please.

18:39.77 – Roman Milyushkevich

Service that does plagiarism checking, yeah so imagine you have a text so you can split it into smaller chunks and google each small chunk, and if this small chunk of text appears somewhere like on the SERP most likely it’s a plagiarism so it’s another use case of using SERP API

18:43.03 – Brian David Crane

That is plagiarism taking out. Okay.

19:06.93 – Roman Milyushkevich

And yeah, and another use case, it’s SaaS companies that help other companies with SEM research.

19:06.94 – Brian David Crane

Pretty clever.

19:18.11 – Roman Milyushkevich

Using Google SERP, you can find trending content on platforms like TikTok, Instagram. They can find videos for given keywords, and they can even process these videos, like,

19:36.86 – Roman Milyushkevich

Using large language models and video-to-text APIs, they can extract text from the video, analyze brand mentions in the videos, and provide analytics to the brand owners.

19:55.71 – Brian David Crane

Yeah, but that’s, so that is, yeah, still going through the Google ecosystem. So it’s basically like, it’s constantly using, you’re using Google to then find these different data, so data points or data sets on a place like TikTok or a place like Instagram. What about if the brand owner wants to know?

Scraping Social Data via Google

20:20.33 – Brian David Crane

Yeah. Are you, let me say this a different way. Are you doing that because you cannot, uh, reliably scrape Instagram directly or TikTok directly.

20:30.79 – Roman Milyushkevich

You can’t. You will be bound.

20:34.33 – Brian David Crane

So the way around it is to basically go in through Google and see what Google has crawled and indexed on tick tock or on Instagram for specific terms.

20:43.44 – Roman Milyushkevich

Yeah, and also, like for Instagram,and for TikTok, you will need two scrapers,  one for Instagram and one for TikTok. But if you scrape in Google, you just need Google scraper, that’s it.

20:57.96 – Brian David Crane

Got it. OK. So yeah, it’s basically saying, OK, cool. This site, Google is able to crawl it. So therefore, we’re going to leverage Google to get at the data that Google has been able to crawl.

21:07.53 – Roman Milyushkevich

Yeah.

21:08.32 – Brian David Crane

Yeah. And then what about inside of the SERP API? How is HasData dealing with, you know AI, Gemini, shopping results, and paid search results?

21:20.61 – Brian David Crane

Because that’s different. Yeah. You might have a digital marketing agency who’s really focused on paid. Are you able to scrape paid results as well and see what, who is paying for what in particular locations, or whether it’s on mobile versus desktop?

21:39.57 – Roman Milyushkevich

Yeah, we have Google Shopping API and Google Product API. And it allows companies that do price monitoring to scrape prices. Google Shopping and Google Products, provide prices from various sources for a single product. And again, you don’t need to develop a lot of scrapers to scrape Amazon, eBay, and other sites. You just need one scrape,r and you can pull prices from all these websites because Google did it for you.   We also have Google News API, Google Events API, Google Images API, Google Maps API.

22:30.56 – Roman Milyushkevich

Like almost everything that we will provide.

22:35.94 – Brian David Crane

And why is it that you, out of curiosity, you scrape Google Maps, and somebody comes and says, hey, I need HVAC, you know, or lawyers in, I don’t know, Barcelona, Spain? So they’re looking for a data set around lawyers in Barcelona, Spain. Abogados there.

22:58.72 – Brian David Crane

Why doesn’t Google give them the data that they have inside of Google Maps? Why is it that you need to use a third party service to get that kind of information?

23:12.01 – Roman Milyushkevich

It’s a hard question. I don’t know the real reasons behind that. 

23:20.84 – Brian David Crane

Because it’s the best, yeah, it’s weird. To me, it’s a weird dynamic because of Google. The data in Google Maps is accurate, and yet the only way to access it is via Google Maps,and you’re not able to export it to build a sales pipeline or buy, or you’re not able to export it via Google Maps with their blessing, let’s say, right?

23:45.77 – Roman Milyushkevich

Yeah.  

23:49.27 – Roman Milyushkevich

Well, I don’t know. I don’t know. So it’s for me. It sounds like they are trying to protect their data. And so they don’t want to be, you know, Google Maps, it’s like community driving mostly, like community out there, like businesses, open hours and stuff like that. and so one of the reasons is maybe Google doesn’t want to be responsible for the inaccurate data.  So, like, say like maybe they don’t want to take money for the inaccurate data because someone maybe will then complain, like, why are you selling inaccurate data. So he’s one of the reasons, but I’m pretty sure there are many more reasons.

24:38.51 – Brian David Crane

Makes sense. So then, what about the data sets or the no-code scrapers? What’s the story with those on HasData? What is a no-code scraper when I say that?

24:50.03 – Roman Milyushkevich

For all APIs, we have an equivalent of no code scraper for users who don’t need an API or, who don’t know how to use it or who don’t even know what an API is. So this is an audience of our no-code scrapers.   We provide a simple interface where users can enter keywords they want to scrape, like some parameters filtering, like results limit, location, and setup, and click one button, wait a little bit, and download a CSV file or Excel file.

25:35.50 – Roman Milyushkevich

We have a lot of customers using our Google Maps scraper for sales purposes. These are businesses who sell to other local businesses that are on Google Maps.

25:51.96 – Brian David Crane

Yeah, I think one thing you said, though, is that they’re using HasData as Google Maps scraper, but they don’t necessarily even know that all they know is that they’re getting the data that they need.

26:03.01 – Brian David Crane

All they know is they get in the day that they need, basically. So they come, and they say, okay, cool. Like the lawyers in Barcelona, for example, they’re not, maybe you explain to them how you’re getting it.

26:14.54 – Brian David Crane

Maybe you don’t. All they care about is that they have a CSV file that answers the question they’re asking, which is how do I get a list of all the lawyers in Barcelona, right?

26:28.64 – Roman Milyushkevich

So in the case that I described, people know they’re using Google Maps, no code scraper, because it’s Google Maps, no code scraper.

26:35.06 – Brian David Crane

Good.

26:36.86 – Roman Milyushkevich

And the case you described, I think it’s our, that data sets offer. And yes, in that case, like we do not say the source of the data, but we are using many sources.

26:49.12 – Brian David Crane

Yep.

26:52.91 – Roman Milyushkevich

In all our data sets, we provide emails, and Google Maps does not have email.

26:54.98 – Brian David Crane

Hmm.

26:59.17 – Roman Milyushkevich

In their listings. So we’re using various and multiple sources to crop this data, and for some datasets, we’re using Google Maps in combination with web scraping. For some datasets, we don’t even use Google at all.

27:16.30 – Brian David Crane

Got it. Yeah. Okay. Makes sense. And who, yeah, makes sense. So then where, what’s what’s, what’s the, what’s the follow-on question to that? Because basically, yeah, why, but let’s talk about the legality or the ethics of web scraping. Why does somebody like Google not want you to scrape their data?

Legal and Ethical Challenges

27:45.31 – Brian David Crane

And what are the court cases around it?

27:49.27 – Roman Milyushkevich

So, in my opinion, everything that is publicly open and not behind the login wall or paywall can be scraped.

28:02.24 – Roman Milyushkevich

And because it’s public data. Like Google scrapes the whole internet, every website.

28:06.39 – Brian David Crane

They crawl it. They would argue they crawl it, right?

28:07.54 – Roman Milyushkevich

So why don’t we do that?

28:08.65 – Brian David Crane

Like, yeah.

28:13.12 – Roman Milyushkevich

It’s not a monopoly for Google to scrape the web, and we can do it as well.  

28:21.36 – Brian David Crane

And if you’re a website owner, what’s to say there have been cases where BrightData data was in a lawsuit in the US around the legality of web scraping, right?

28:31.61 – Roman Milyushkevich

Yeah, and yeah, they want it as far as they know.

28:35.37 – Brian David Crane

Yeah, because it was deemed to be that it was public information, it was published publicly, so therefore.

28:40.35 – Roman Milyushkevich

Yeah.  If you publish it on your website, it’s a public page, so you allow everyone to like it, and everyone can access it.

28:50.90 – Brian David Crane

Yeah. Okay. All right. So then, what do you see as but for 2025? Like, you know, you’re running the SAS company. What, what, what were the learnings? Like, what was, what did you learn in 2024? As far as you know, let’s say product market fit. And what are you hoping for in 2025?

Lessons from 2024

29:12.69 – Roman Milyushkevich

A lot of learnings this year,  so I can feel that our ship fast, let’s call it culture, worked well.

29:28.76 – Roman Milyushkevich

So me being the technical co-founder and also product lead at the same time allows us to quickly develop some new features and by quickly, I mean like the same day, like in the morning, we had an idea and in the evening, it’s deployed in production.

29:44.90 – Roman Milyushkevich

So yeah and then see how this feature is used by our customers.

29:47.17 – Brian David Crane

Cool.

29:54.38 – Roman Milyushkevich

And then we can improve it gradually or/or remove it completely.

29:59.65 – Brian David Crane

Are there certain products that you’ve, that you’ve removed completely or ones that you’ve decided to improve gradually, like one that did better than you expected?

30:11.14 – Roman Milyushkevich

It was everything related to no code scrapers. We improved them consistently, like optimized parameters and parameters naming, so non-technical users better understand how to get data as they want.

30:28.38 – Brian David Crane

Yeah, because I’m envisioning somebody on the no-code scraper side who, you know, if they’re let’s, let’s say, for instance, they’re in real estate, and they are, they know they need this data, they don’t know how to code, but they can, they can use the no code scraper to get at the pieces of data that they would like.

30:48.09 – Brian David Crane

Without necessarily having a technical background or even needing to understand what an API is. Is that the benefit?

30:53.76 – Roman Milyushkevich

Yeah.

30:54.56 – Brian David Crane

Yeah. Okay. And so then what, what, what do you, what do you see like, you know, what didn’t work in 2024? What was, uh, what was surprising to you? That was, uh, I’ll call it a failure, but like, yeah, it just didn’t work.

31:07.17 – Roman Milyushkevich

So I try to learn from every failure, and I don’t consider such things as they have not worked for us. They work but in the opposite direction.

31:23.20 – Brian David Crane

You learned what didn’t work.

31:24.51 – Roman Milyushkevich

At the very beginning, we closely followed our competitors and tried to replicate their features. And I wouldn’t recommend doing this in the long run.

31:39.73 – Roman Milyushkevich

It could be okay in the very beginning, but I realized we have different customers with different needs. So listen to your customers and their needs.

31:50.51 – Roman Milyushkevich

And so this is what I like, like what didn’t work, like following competitors that didn’t work for us.

31:57.88 – Brian David Crane

Yeah.

31:59.63 – Roman Milyushkevich

And listen to our customers. And I’m the customer. I’m like the customer of our own product. I use it very, very often. I listen to myself, like scraping something and facing some new challenges and we implement it in our product as well, or optimizing some workflows.

32:23.27 – Brian David Crane

And how do you find it as the technical co-founder and the product owner? like Is your team spread out? Is it all in one office? How do you manage the team?

32:36.95 – Roman Milyushkevich

We have a team of five people, three team members working in engineering and two team members working in the marketing department. We are all in the same office in our city in Grodna, and so every teammate is pretty autonomous, I would say.

33:11.09 – Roman Milyushkevich

So we have weekly meetings which we like which we are used to creating a plan for the next week and that’s it.

33:19.19 – Brian David Crane

Sick. Yeah.

33:24.34 – Roman Milyushkevich

Everyone likes to have a task after this meeting, and they’re working on it. From the software engineering process.

33:37.99 – Roman Milyushkevich

Like us, we have automated tests.

33:42.43 – Roman Milyushkevich

So everyone from the engineering team, including me, like, uh, must include automated tests, uh, like in every code change in every new feature. Uh, so we like ensuring quality and, uh,

34:02.14 – Roman Milyushkevich

And, like if some check fails, like not like it won’t get on on production. And using these automations, I don’t have to manage to and to oversee someone’s work and stuff like that. It just works.

34:24.03 – Brian David Crane

What are you? What are you building on? What’s the software stack that HasData built on?

34:28.01 – Roman Milyushkevich

We are using the backend version Node.js and Go, on the frontend version React.js.

34:36.64 – Brian David Crane

Okay. You’re happy with both of those choices.

34:40.91 – Roman Milyushkevich

Yeah, like, I’m working with this tech stack for more than the whole of my career, ten years. Everyone on the team likes using this tech stack and is  familiar with it.

34:59.62 – Roman Milyushkevich

So it was an obvious choice for us, what text tech to use.

34:59.71 – Brian David Crane

So what’s coming?

35:02.86 – Brian David Crane

Yeah. Well, especially because you already had a customer waiting on you to provide a product. And so you’re basically like, cool, what are we going to do? We’re going to build a software language that we are already familiar with.

35:11.00 – Roman Milyushkevich

Yeah, I didn’t have time to experiment with his different software languages.

35:21.27 – Brian David Crane

Are you seeing, Are you seeing any of the customers for HasData do anything in AI, or are you seeing a use for AI? How does that fit in with web scraping and basically data collection and aggregation?

35:37.84 – Roman Milyushkevich

So, I want to share my own AI experience and combination with this HasData.

35:45.47 – Brian David Crane

Yeah.

35:46.02 – Roman Milyushkevich

I got a little carried away with scripted trading, and I was curious if ChatGPT or another large language models make trading decisions.

35:58.27 – Roman Milyushkevich

Large language models are very good at analyzing text and the sentiment of the text. So my idea was I could pull news about some specific cryptocurrency, monetize it, analyze sentiment, and make a trading decision based on the new sentiment.

36:18.47 – Roman Milyushkevich

I was using this data for pulling news from Google, extracting article content, and then passing it to ChatGPT. And so I invested.

36:29.48 – Brian David Crane

To analyze sentiment.

36:31.34 – Roman Milyushkevich

Yeah, I invested in the S&P 500 and lost them due to bad trading decisions. But it was a fun experiment.

36:45.80 – Brian David Crane

Yeah, okay. So, are there customers as data who are using the data to supplement their  AI endeavors in some way or another? You know, LLM is one part of AI. Are there others for image creation or for, I don’t know, like what are they using? Is there anybody who you look at and go to? This is an AI company that is using the data that we’re able to provide via HasData to achieve their business goals.

37:18.84 – Roman Milyushkevich

It’s not like a direct use of, let’s say, Google SERP data and then pass it to the chat GPT.

37:29.29 – Roman Milyushkevich

I like  One of the use cases is, for example, that there are companies and services that help you with article creation. So what they do, you give them a keyword or some specific, like, what do you want to write about?

37:51.49 – Roman Milyushkevich

And so they ask you.

37:51.53 – Brian David Crane

Yeah.

37:53.23 – Roman Milyushkevich

And using our SERP API, they pull a search result. So for this keyword, pull the articles, analyze them using chat GPT, and suggest what to write about.

38:08.05 – Brian David Crane

Yeah. They’re basically using it as a research assistant, let’s say.

38:11.91 – Roman Milyushkevich

Yeah.

38:12.61 – Brian David Crane

Yeah. Yeah. Okay. And what’s funny then is like, okay, cool. HasData is helping them with that. But then on the same side, if they’re plagiarizing it, HasData is also helping, uh, helping them be caught, let’s say, right?

38:24.06 – Roman Milyushkevich

Yeah.

38:26.98 – Brian David Crane

Two sides, the same coin. Cool. So, in 2025, what’s on the roadmap?

What’s Next for HasData

38:33.12 – Roman Milyushkevich

Yeah.

38:33.00 – Brian David Crane

What are you excited about? You know, in your entrepreneurial journey with HasData.

38:38.79 – Roman Milyushkevich

So, I’m excited that we hit our MRR target. And in 2025, we will continue to add new Google APIs.  We want to cover Google Flights API and Google Hotels API.

39:01.06 – Brian David Crane

I would be a user.

39:03.15 – Brian David Crane

I use Google Flights a lot. I would be a user of that.

39:06.59 – Roman Milyushkevich

Yeah, another item in our roadmap is to… like, we want to focus more on our content creation, on the education of users.

39:25.77 – Roman Milyushkevich

about how to scrape some particular website using different languages using like Python, JavaScript, and others so like we are doing this right now, and we will continue to do this in 2025 yeah, also, we are developing our own proxy pool, so we don’t want to depend on external proxy providers and use our exclusive IP addresses. 

40:06.40 – Brian David Crane

Yeah, to get out of the pool where all the other unwashed masses are coming in and abusing those IPs, right?

40:14.86 – Roman Milyushkevich

Yes, yes, exactly.

40:15.79 – Brian David Crane

Yeah. Yeah.   Yeah, cool. I think that watching HasData grow, watching the team coalesce at the speed at which, yeah, you’re able to, let’s say, iterate and change directions and tweak based on what’s coming from from customer feedback. It’s really encouraging. I’ve just been impressed with the brand, how quickly you’ve all been able to move, and your leadership of it. So kudos to you on that.

40:52.67 – Roman Milyushkevich

Thanks, thanks, I appreciate hearing that.

40:55.45 – Brian David Crane

Yeah, if people, yeah, if they want to test out HasData, if listening to this, they’re like, cool, like I either want to try one of the existing APIs, or I want a custom scraper, or like, what’s the best way to get in touch? What should be their next step? They need to go to the website. What should they do?

41:18.64 – Roman Milyushkevich

If someone wants to create a custom scraper or get a custom dataset, yes, we will have forms on the website where you can fill in all the necessary information. Like If you want to develop a custom scraper, you need to let us know the target website or website’s data points you’re looking for.

41:46.99 – Roman Milyushkevich

And you fill the form, and we will reach out to you soon and yeah and talk and because custom scraper yeah it’s not easy to build and like there are many, many factors, do you need a regular data scraping or is it just one time scraping.

41:59.15 – Brian David Crane

It’s not easy, let’s say.

42:14.05 – Roman Milyushkevich

Do we need a section of data, or do we need to scrape the whole dataset again? Do we need some data post-processing, like translating, analyzing articles, and extracting some data? Like entities from the raw text, do you need to save images, or just links to the images will be enough? So many, many, many factors.

42:50.35 – Brian David Crane

And we way as you’re doing this, as you’re working on these custom scrapers, somebody comes in on an as-needed basis or ad hoc basis. Have you and you found that these things actually lead to new businesses or they lead to new areas? Or is it entirely like you know you do it one off, and then you never ever get to touch the code again, let’s say?

43:14.85 – Brian David Crane

Not the best way to put it, but like that,it’s so esoteric somebody comes to you and says. Yeah, like that they have any of these developed into long-standing products that now you have on HasData.

43:28.85 – Roman Milyushkevich

We have like, I observe our customers observe their businesses and. Like I saw a lot of customers grow up with such customers that started small, say as some of the customers started with the smallest plan, like 49 months, and now they are sitting on the custom enterprise plans because their products grew brute and they need more data from us.

43:52.82 – Brian David Crane

Mm hmm.

43:56.34 – Brian David Crane

Mm hmm.

44:05.56 – Brian David Crane

Got it. Yeah. Let’s talk about growth then for a second. Like what has been, you know, we’re now in, I don’t know, year two, year three, I don’t know of this border conflict between Russia, Ukraine, Belarus has gotten involved on the side of Russia, has come under sanctions as a result of it from basically been barred from the Western financial system to a large degree, not entirely like would have been some of the challenges in terms of building a software team and running this from Belarus.

44:43.24 – Roman Milyushkevich

The main challenge was economic isolation and many customers just refused to work with the Russian companies because of sanctions. Some of them made this decision because of some like Just because they don’t like what the Belarus government does.

45:11.68 – Roman Milyushkevich

So that was a big issue.

45:11.90 – Brian David Crane

Yeah.

45:15.02 – Roman Milyushkevich

It was very hard to run a sourcing company these days because you need to pay people’s salaries. And you don’t know if the bank will allow the money transfer from your client in Europe or the US.

45:32.20 – Roman Milyushkevich

And so it was very, very stressful. It was a big challenge. We sold that company to the bigger outsourcing company that has offices across the whole of  Europe so they can easily send money between their business entities.

45:55.73 – Roman Milyushkevich

Retry if something like some payment fails or try sending money from another business entity in a different country it was a growth strategy to buy smaller companies and I am happy about that decision.

46:17.89 – Brian David Crane

To sell, to sell to the other company.

46:18.78 – Roman Milyushkevich

Yeah, yeah.

46:19.78 – Brian David Crane

Yeah.

46:22.09 – Roman Milyushkevich

And it was also a fun experience, like the first acquisition, I went through the process, all that, like providing data, negotiations, stuff like that.

46:34.61 – Roman Milyushkevich

So it was pretty fun. You don’t do this every day.

46:41.76 – Brian David Crane

You learn, and you get your stripes, as we would say. That’s like you earned your stripes doing it.

46:44.99 – Roman Milyushkevich

Yeah, yeah. Yeah, so this was the main challenge, like isolation.

46:56.01 – Brian David Crane

Yeah. Yeah. Economic isolation, right?

46:58.46 – Roman Milyushkevich

Yeah.

46:59.23 – Brian David Crane

Yeah. All right. If people want to follow you personally or they’re interested in getting in contact with you, Roman, what do you recommend that they do? If they want to check out HasData, it’s h-a-s-d-a-t-a dot com.

47:12.14 – Brian David Crane

What like, what do you, what would somebody who’s listening to this, what would you like them to do?

47:18.85 – Roman Milyushkevich

Contact me by email, Roman, at HasData dot com.

47:22.61 – Brian David Crane

Yeah.

47:26.49 – Brian David Crane

And they can contact you in English, Russian, or Belarusian. I don’t know.

47:32.84 – Roman Milyushkevich

Yeah, any language. I will use Google Translate.

47:39.37 – Brian David Crane

So if you need, uh, if you need data, Roman is your guy. Okay.

47:43.16 – Roman Milyushkevich

Yeah.

47:44.33 – Brian David Crane

Thanks for joining me and talking to you offline.

47:48.74 – Roman Milyushkevich

Thanks, have a good day.