In the Summer of 1994, I taught myself HTML after randomly discovering View -> Source
by printing out the visible page and HTML. I’d compare the two closely enough that I wrote my own 8-page html guide that year at 12 years old. I must have been pretty proud of it because I still remember showing it to my aunt who lived across the country. Apparently it, too, made the trip.
After a fantastic nine months of college, I leased a 14,000 square foot warehouse in Austin, Texas, where I threw raves. At the same time, I DJed progressive house in downtown Austin and other random parties around town. It was a very different time back then…
In the summer of 2001, I headed out to Raleigh, North Carolina, got my start in SEO, and met some amazing folks like Andy Beal, Garrett French, and many others who you likely know, or know of their work.
In 2001, I began working at KeywordRanking/WebSourced, quite possibly the largest SEO agency to date, peaking at over 1,400 SEO clients. Eventually, I was promoted to Senior Director of SEO where I was responsible for designing all of our SEO packages keeping the 175+ person company up-to-date on SEO, and making sure our clients were succeeding.
In 2005, Andy Beal asked me to join him at Fortune Interactive. That was a very easy decision. As Vice President of Operations, within nine months of starting up, we had profits of 25% on a cash basis and 23 employees, more than half of whom reported directly to me.
After designing and executing international campaigns for Motorola, national campaigns for Lowe’s, and many, many others, I set out in 2006 to begin consulting.
In late 2007, I traveled the country with a friend in a van we bought off of eBay (I sometimes sure miss that rickety thing).
In July of 2008, I began writing some code to solve a marketing problem that had gnawed at me for years. I was starting another trip around the country at that time. Boston for a month, Chicago for a month, Bellingham for a month, Denver for 6 weeks. By the end of that year, that code became the first version of ontolo, a marketing prospecting tool.
After growing the agency side of the business, I wanted to evolve it into a pure SaaS business. So, in the fall of 2014, I set out to learn everything I could about how to make my original vision of ontolo become real.
Despite 15 years of PHP, programming had never quite fit neatly in my brain. But this time, I committed to it…first PHP, then Perl, then C. Soon, programming was making a lot more sense.
If you’d told me then that I’d be writing complex search engine crawlers in C that relied only on libc, moving from Linux to FreeBSD for the better networking stack (I love you, kqueue()
), I never would have believed you.
Soon, ontolo was downloading and parsing data faster than any other similar marketing service, while extracting hundreds of times more data from web pages. In the end, I was crawling and parsing a sustained rate of over 4,000 web pages per second on a single machine and single gigabit network connection…that’s what can happen when you’re naive, then stubborn, then obsessive.
Over time, the user base of ontolo faded as my UI skills didn’t quite match user expectations and my attention went elsewhere. Despite effictively closing down ontolo in 2024, in 2025, I may be releasing a new product that aims to solve the problem of finding marketing opportuties even better than ontolo did.
But over those last few years of ontolo, I also contracted to work on some other great projects. One was a tool to discover, download, parse, analyze, and make searchable local marketing opportunities around the country.
Another was to write embedded C for microcontrollers going into high-end audio equipment. The last half of my time on that project was writing ESP32 code to communicate with a PIC32 microcontroller. The ESP would handle networking and firmware updates for the PIC, but required me to write my own networking protocol for the two chips, as well as shared C code that could be run on either chip. So there I was again, writing networking and parsing code; except this time, it was to communicate a few inches away, vs across the country as I’d done before.
Over the years, I noticed that when there are open swaths of free time, I inevitably end up back at only one place: downloading, parsing, and organizing data. And yes, doing it for fun as much as being paid for it.
In 2022 and 2023, I eventually made C++ my primary programming language, writing over 50,000 lines of code in six months of 2023. (I now write PHP [yes…PHP. For good reasons.] for quick scripts and first-versions, while I reserve C++ for performance/scale.) Eventually, my desire to download the internet one day (yes, the whole thing) came back, and here we are.
So if you’ve got some complex or large-scale parsing tasks, reach out to see how I can help.
I now spend a lot of time downloading and parsing data, as well as being out in the mountains a much as I can.
– Ben Wills