The Stack Overflow Podcast

Building image search, but for any object IRL

Episode Summary

We chat with Paul Powers, founder and CEO of Physna, about what it takes to build a 3D search engine that can identify objects found in the real world. He hopes the process of connecting the digital and physical worlds will provide a tremendous boost to the speed of hardware innovation.

Episode Notes

You can learn more about Paul here.

You can read more about Physna here.

Paul is excited about the Metaverse. So are we

Episode Transcription

Paul Powers: So what Physna did was it said, okay, we tried by the way, this wasn't like we did this overnight, this took years to get right, we eventually figured out what we had to do was not care about the type of input that they relied on, like BREP data, etc. But rather to say, we're going to create a mathematic representation of this, that represents every aspect of this model every aspect of the shape, and create something akin to DNA. We're gonna represent this thing and a mathematic formula. And the cool thing about that, is that not only can you then match, hey, this model is the same as that. But I can give you a family tree, right? I can say, hey, this thing can be used in these ways. And yeah, you know what, this model doesn't have an official parent, for lack of better term. We don't know where it goes. But I can tell you with with a DNA test, if you will, we can say this is where this screw can be used.

[music]

Ben Popper What's cause your business time and money? Inaccurate address data. SmartyStreets provides blazing fast address validation, auto completion, and rooftop geocoding APIs. Stack Overflow listeners get a kick awesome t-shirt and one of three designs when you start your free trial. Get yours and SmartyStreets.com/StackOverflow. Head on over there, check out the free trial, get and awesome t-shirt and support the show.

Ryan Donovan Welcome everybody, to the Stack Overflow Podcast, a place to talk about all things, software and technology. My guest today is Paul Powers, CEO of Physna, we're going to talk about his company's 3d search capabilities. I know you have a kind of interesting path into software. Tell me a little bit about your background.

PP I think interesting is a good way to put it. I grew up homeschooled and knew roughly the age of about 16 that I wanted to go into entrepreneurialism, I wanted to be a startup founder. And that realization came when I was studying very briefly, at Harvard, I was studying astrophysics, and realized that my goal of changing the world through technology or through science, was going to be a lot more effective if I started a company versus staying in the science or technology. And so I realized the degree I got didn't really matter so much, it was the experience that mattered. So I started my own company, and use that money to pay my way through college. But I ended up deciding I wanted to take a different route, I really think that the most interesting startups the most, you know, the most disruptive companies, by definition, they're disruptive. So they're not following the status quo, right. And I thought, a good way to bring myself into that would be just take an abnormal route. And I also as someone who was homeschooled was sick and tired of being in the same location. So I went over to Europe, and from the age of 16, to 26, I lived over in Switzerland, and then Germany, Germany for the most part, and studied law, actually. And the reason I studied law was, I thought, well, there's two real degrees you can go down, you know, other than computing, computer science, but again, I realized, being an individual contributor probably wasn't the best route—for me personally. So I thought, I can go down business school or law school, both of them are pretty generic, and you learn a lot of things. But in Germany, they hit there never been, according to the university, they're University of Heidelberg, but never been an American that went over learn the language and then passed the German bar. And I probably should have done some more research into why. But everyone I talked to over there, I remember I had a, my company had a customer who was a German attorney. And I told him, I was thinking about studying law. And he said, You've got no chance. He's like, I'll buy you all the beers you want for a month, if you if you ever tell me that you've been passed one exam, let alone the bar. And that kind of sealed the deal for me. I thought, okay, now I've been challenged. Now I have to do it. And, and so I did. Now, German law is exactly as fun as it sounds. It's not, it's awful. It's hard. And so to even stand it, I had to find area to specialize. And since I have a science background, I focus on electro property. So patent law. And when I went into patent law, the idea for Physma actually came from that, right. So this wasn't my first startup. But it was my whole life, I was looking for something that would be more than just an absolutely be really powerful. And what I realized in patent law was, although we had the ability to search for 2d images, or plagiarism in text, we didn't have that for physical things. And I remember what conversation really vividly where somebody told me, yeah, we don't know where this company acquired the model for this part. But they probably downloaded it on like, grabcad thing of some site online. And I'm thinking, why don't we just find it? Why don't we just do that search? And they said, Well, we can we've tried, but we just, it doesn't work. There's not a 3d search engine. I looked online, I found there were 3d search engines. But when I tried to make them work, they didn't, because they were really just 2d search engines labeled 3d. And so I thought, wow, here's a problem that's really worthwhile because we live in a physical world, right, and a three dimensional world. And software by definition is flat, it's two dimensional, and it's really not suited to understand the world we live in without a human knowledge bridge. So what if we remove that, and allowed software to understand the physical world, its natural state. And that's how the company got started, was that problem.

RD It's an interesting modeling or rendering 3d world in code. I think most companies that do that either do an abstract model of an object, or turn it into kind of a vectorized, pure math thing and render it in the 3d scene. What are you all doing?

PP None of the above, what we're doing is different. We're taking models as they're created. You're right, the problem in 3d is exactly what you just outlined. Some companies are doing this, some companies are doing that. And every company has—if I'm talking about the 3d creator companies now. They all have their own tech stack, if you will, their own way of understanding the model. So these models are not interoperable. You can't just convert one thing to another without losing data integrity. They're just written in fundamentally different languages. The universal language, though, ironically, is math, which geometry, right? These shapes are the same shapes. But because they're written in this code. And these codes were compatible with each other. They're not interoperable. And so what Physna did was it said, okay, we tried—by the way, this wasn't like we did this overnight, this took years to get right. We eventually figured out we had to do was not care about the type of input that they relied on, like BREP data, etc. but rather to say, we're going to create a mathematic representation of this, that represents every aspect of this model, every aspect of the shape, and create something akin to DNA. We're gonna represent this thing in a mathematic formula. And the cool thing about that, is that not only can you then match, hey, this model is the same as that. But I can give you a family tree, right? I can say, hey, this thing can be used in these ways. And yeah, you know what, this model doesn't have an official parent, for lack of better term. We don't know where it goes. But I can tell you that with a DNA test, if you will. We can say this is where this screw can be used, not where someone designed it, or labeled as being used, but everywhere that it can fit in and work geometrically. And vice versa. If you have a design, what are all the parts that you need on all the alternatives? And that's the power of Physna on a nutshell, is that we we normalize that data into the universal language of mathematics, and turn it into a code.

RD I feel like you're making Plato very happy, talking about the the sort of ideal object, and you're sort of like finding what is the ideal table? What is the platonic ideal? [Paul laughs] Like, what is the mathematical definition of a table?

PP It's the mathematical definition of not just a table or a chair, but that chair, that table, and there are differences. And so it's not just categorization that's specific to the model.

RD But you said you can find a family tree as you can find, like, what's a related object, right?

RD I'll give you two analogies—or not analogies, but examples. And this will help, I think, to clarify what I mean. So if you have a, let's say you have an engine, lots of different components in it. And let's say you save that as one single file. So there isn't a family tree, it's an as a single STL, let's say. We can still tell you all the parts that go inside of it based off of the search. We can say these parts can go in here, and this is where they go exactly, and here are the alternative parts, and how they compare. So that's one example. Another example is it doesn't have to actually be a part in the traditional sense. So if I were to take a vase, we've actually done this before, which was a lot of fun. Take a vase, physically, and you shattered on the ground. And it breaks into countless shorts, right? So we created a digital model. After doing this physically, the physical part was really just for fun. But there's really, we recreated the same thing. We said, okay, we're gonna create the same exact shards, the same exact base. And what Physna was able to do was say, if I take any shard, it could match and say this belongs to this vase, it would say that the vase matched to the shard. And it would show me if I clicked on component finder, which is a tool we have, how all those shards fit back together into that base.

RD That must do wonders for logistics for part manufacturers and people putting together you know, a new machine.

PP Absolutely. There are a lot of use cases for it currently. But what's really exciting here, and this took me a while to realize the software initially had one use case, right? It was that patent search use case. And I did not come out of a world of 3d, I did not come out of CAD. And so when we got into the space, I kind of thought of this as a very narrow problem set. This is, you know, I only know of one problem we're solving. But as we expose that to the market, we started getting inundated with more use cases. And there are to date, I don't even know how many. But last time I checked two years ago was over 300 separate use cases. And just about every field you can imagine and will be realized as physically is not just another app or a tool, it's creating a new generation of software, if you will, the ability to remove the barrier between the physical and the digital and allow software to understand the physical world, just like it understands the digital world like text without requiring a human to intervene. And so now you can codify the world and merge the virtual and the physical. And that's really what excites me about Physna.

RD Are you afraid you're building Skynet over there? You're getting a Terminator to be able to recognize the physical world?

PP No, I'm not worried about that. Because we're not building Terminators, we're building the underlying technology. And the idea here is, so this is the business plan in a nutshell, right? The ultimate goal, we can't build 300 plus companies, we can't. And we don't want to. What my goal in life, this has been my goal, since I was a little kid I feel, has been to create something that empowers others to create something powerful, right? So if we can build a platform that lets coders and developers build previously impossible tools that solve previously unsolvable problems, then we've done something of orders of magnitude greater than just creating an app. But how do you get there? How do you create a platform that people want to build on? Well, the first thing you need to do is set the stage. And that requires that you prove that you can solve at least one unsolvable problem. And so our enterprise SaaS tool, right what our customers pay us for, that's that, and that's doing what I was describing to you, the geometric search engine, mechanical engineers, or physical designers are more productive. Supply chain efficiencies, part deification in the field with 2d to 3d technology in comparison, quality control, all that's the enterprise side. But that's not enough. Because if we just did that, and we just worked with these huge companies, then coders and creative minds out there who want to create more powerful technology, they might not know about us, they might hear about us, and they wouldn't be able to experience it. So we realized we needed to create something that was more democratized. So we want to create a free tool that would allow for not only our technology to become accepted as a standard, but to make 3d more universally accessible, and more universally logical. So that people could start to see for themselves what this could do. So that's when we built things.com which is our free tool. And that also acts like a Google and a GitHub, if you will. So the Google side is that crawls the web. And there's also a community aspect to it. So you have the ability to search for any model publicly available, either through text or with a model. And you have the ability to collaborate with others, even if you're working in different 3d creation tools, different CAD tools, for example. So those to set the stage for this platform.

RD I know that 2d image search is notoriously unreliable. I think the classic example is like, is this a dog or a blueberry muffin?

PP I thought it was a chihuahua specifically. [Paul & Ryan laugh] I think it is, yeah.

RD But yeah, this this idea of like, how does, how do you get into search and be precise on things that kind of resemble it mathematically?

PP So when I met our CTO, we hired last beginning of last year in 2020, he was the Office of the CTO over at Google working Google Cloud. And I met with him in Mountain View, and spent six hours together. And one of the things that I showed him at the beginning was exactly what you're talking about, right? Look at how 2d search works. So I should have held 3d search works. But I also showed him like, hey, this is what we could do with 2d to 3d. And he really, he obviously helped me to build out the team and help build that out. What we can do with 2d is more powerful than traditional 2d image search. So today already, Physna is outperforming with Google's automl, image recognition, and customer by customer level, it's orders of magnitude more powerful over time. The reason why is that we're not purely relying on 2d images. So orientation can really throw you off if you're just working with pictures. When you give three dimensional data, you can overcome that, when you pair that with business core technology. That's what we're shooting for, physical DNA is what Physna stands for. Right? So and you have the DNA of a thing. Now that 2d image can match to that 3d model or vice versa, right. But right now it's 2d to 3d directly. And it can tell you not just what type of part that is. Typically, most of the time, if you go to Google and you're searching for something that's not highly unique and recognizable, like Coca Cola with Coca Cola written on it. Right, you're looking at a screw or a bolt or whatever. At best, sometimes it'll tell you the right category. What Physna can do is tell you, it's this thing, this is the part number, exactly this part. And if there are duplicates at that part, I can tell you that which means that If you're using inventory, like you're using the bar scanners, barcode scanners for RFIDs, this actually becomes better because you know, you don't have not only do you not have to find the barcode or pay for the RFID setup, but the barcode in the RFID just give you a part number, we can tell you, hey, you've actually got 14 of these, they all have different part numbers for the same thing. 

RD Yeah, I feel like this will help every lost IKEA part. [Paul laughs]

PP We use IKEA analogies a lot.

RD I feel like that's one of the big consumer use cases that I can think of. What are sort of the future uses?

PP The future uses are what excites me the most about Physna. There are—it's not that the current users love will go, I think those are expanding. And we still plan to keep those set of SS products and expand upon them. But you know, and on the consumer side, for example, we're building out the ability to have almost like a GitHub for 3d. But I would almost argue more automated and more user friendly. So there's already an alpha version out there that a select number of users are accessing. Later this year, we'll be releasing it to the public. And we call this thing Workspace, it allows you to do is work in different platforms, if you will, and it'll compare and do automated, not just version control, but revision control automation, so that you can just collaborate with your friends in a very automated way on 3d. And then later, you'll be able to, obviously, just match that to other existing parts. But once we introduce a certain level of ml, into that public platform, you know, in the distant future, when I say distant, I'm talking about like a year or two, not five years, 10 years, but we're a start up and move fast. So in the not too distant future, it will have the ability to do things like predict what comes next. Or let's say that you're designing something with a friend, let's say that you invent a motor, I keep going back the example of an a motor, but it can be anything. So let's say that that motor that you've designed 80 to 90% of it is comprised of common parts that you could buy, theoretically, from any supplier, you're not going to custom manufacturer, a regular screw, right? So but you do need to buy these, either in bulk or individually, and source them. And sometimes sourcing is the hardest part of physical intention that and also the horrible 3d design experience most people go through today, but you're trying to overcome. So if you upload this model into the things, you know, right now, we can already tell you, hey, these are the different parts you're going to need. And here's who could supply them. That's great. But imagine an even more automated workflow there, and the ability to say, for the other 10 to 20% of that model, what you've created from scratch, like the outside chassis of it, or whatever. Obviously, that's not available off the shelf somewhere. So somebody has to build that for you. You might be able to build it internally if you've got the right machines, and we can tell you what we can predict what machines can build it and how. But even if you can, what if we can predict who can manufacture that, and how because we know they're machines and the machine learning can tell you that. That's not so far fetched. All the ingredients for that, that I've outlined are already in Physna today. The enterprise software can already make predictions on how to manufacture something, what machine to use, etc, based off of the data that you have from previous models. Once we pull that into the public domain, now you've got an automated platform where you can innovate and create things at the speed of your imagination. And I'm not talking about generative design in the sense of like, you know, how people talk about today where generative design means how do I connect this piece to that, use this lattice structure for 3d printing. This is more like I'm innovating something, can you tell where I'm doing with this? Can you give me an example of what might be the next best step or an example of how to complete this project if I'm if I want to just shortcut a part of it. So you can very, very quickly innovate something in hours instead of days or in minutes instead of hours, and then source it and have it available to you overnight versus having to wait years to find the parts. And what I tell people all the time is that very few people I've talked to have been able to honestly say they've never had an idea for a physical thing. Most people have. There are very, very, very few physical innovators. And there are a lot of digital innovators and coders. But that digital that hardware innovation helps the digital side. One thing a lot of people talking about now and where we see a lot of tractions augmented reality virtual reality you probably heard Mark Zuckerberg talking about the metaverse, which is something we've been talking about for a long time now. 

RD Ben has been talking about that too.

PP A lot yeah, because it's not that that's something that is out of the blue. It's that's the inevitable next step of software. What we're working on at Physna is inevitable, that you'll have technology that merges physical and digital together, that has to happen, because if you ask anybody, what does technology look like, in 10, 20 years from now, describe your life to me. Everybody will describe something, maybe a little different, but they all have one thing in common, and that is that it's immersive. It's not going to be staring at a little rectangle anymore, forever. Input for output. It'll be predictive, it'll be supportive of whatever it is that you want, and you can start to shape and mold your own reality. And that's what really excites me here because we're building the ability to build that in to any application. But the reason that you heard Mark Zuckerberg just now talking about the metaverse is because they're just now creating the hardware needed for augmented reality, you don't want to carry around something the size of an Oculus quest, you want small smart glasses, and they're just not getting to that point. Or google glasses, or whatever it is. So that's necessary. Imagine how much faster we could have got there, though, if that physical innovation speed was just as fast as digital. And so we have the power at Physna, I think people listening to this, who might have the ability to, who are interested in working on these API's. In the near future, they'll have the ability to create software that bridges that gap faster, can solve lots of different problems, but also allows people to innovate, and the physical side a lot quicker as well.

RD It sounds like you're building a more immersive future. We did a post recently talking about the difference between software and hardware hobby projects. And it was like, the difference was that it's slower, you have to get the hardware, you have to deal with physics. And I think most software engineers are more used to working in the kind of code—I don't want to say safe space, but it it has knowable rules most of the time, and hardware, it's less knowable,

PP I would argue it's just as knowable.

RD Okay. 

PP But it's not as known. [Ryan laughs] And that's the problem, the data and the information is out there. And so what we're trying to do is bring that information here, because its software works off of a set of logical principles, and so does physics, right? So does the natural world. If you can bridge the two and you could create physical objects with the same kind of logic they use for software, there's no reason why a hardware engineer and a software engineer can't be the same person. Over time, that's gonna change.

[music]

RD At the end of every episode, we give a shout out to someone on Stack Overflow, who has gotten a lifeboat badge. Lifeboat badge is someone who's answered a question that had a score of negative three or less. And because of their answer, their answer got 20 more points. And the question got three or more points at the end of it. Somebody who came in and rescued it. Today's lifeboat badge winner is Alex Klyubin. And the question is "What is the difference between Jar signer and Apk signer?" We'll throw that in the show notes. And you can check out the answer. Thank you again, Paul, for coming in.

PP Thanks for having me.

RD I'm Ryan Donovan. I'm the editor of the blog, content marketer here at Stack Overflow. You can find me on Twitter @RThorDonovan. Or if you have a blog idea, you can email me at pitches@stackoverflow.com. Paul, tell them where you are, where they can find you, what you're doing.

PP Absolutely. So first and foremost is that we are actively hiring people and we would love to hear from anybody who might be interested in joining this project. You can find us online at physna.com. And our Twitter handle is @physna3d.

[outro music]