WEBVTT

NOTE
This file was generated by Descript 

00:00:05.000 --> 00:00:08.720
RaphaÃ«l: Hey folks, and welcome
to this latest episode of

00:00:08.720 --> 00:00:11.213
The Small Tech Podcast by EC.

00:00:11.273 --> 00:00:12.333
I'm your host Raph.

00:00:12.353 --> 00:00:16.523
And today we're going to be talking
about AI before we get going, though.

00:00:16.523 --> 00:00:19.433
Remember to like, and subscribe
if you like the work that

00:00:19.433 --> 00:00:21.053
we do, we're a small team.

00:00:21.053 --> 00:00:22.763
We'd really appreciate the support.

00:00:22.763 --> 00:00:27.423
It helps a lot leave us a review and
if you want to join us on an episode

00:00:27.473 --> 00:00:29.603
we just released our first interview.

00:00:29.913 --> 00:00:31.803
And we'd love to have you
on, if you want to talk about

00:00:31.803 --> 00:00:33.723
building small tech products.

00:00:33.806 --> 00:00:36.356
So let's talk about AI.

00:00:36.356 --> 00:00:41.936
AI has been in the news a lot lately
over the past year or two years.

00:00:42.416 --> 00:00:46.096
But something that I started
to recognize recently.

00:00:46.636 --> 00:00:49.636
Is that as the hype grows around it.

00:00:49.726 --> 00:00:52.156
So do the misconceptions around it.

00:00:52.546 --> 00:00:59.986
And while I'm no expert in the mechanics
of what goes on deep under the hood, I do

00:00:59.986 --> 00:01:04.846
recognize some things that people don't
understand about what this technology is.

00:01:05.146 --> 00:01:09.646
And specifically the stuff that
we're talking about these days.

00:01:10.006 --> 00:01:11.296
So a little bit of history.

00:01:11.696 --> 00:01:14.486
We've been talking about things that.

00:01:14.886 --> 00:01:19.536
Really are just different
forms of statistical analyses.

00:01:20.126 --> 00:01:25.496
As AI or machine learning
or whatever for a while now.

00:01:26.036 --> 00:01:29.276
And so what we're
calling AI at the moment.

00:01:29.626 --> 00:01:35.626
Is An extension of what we were
referring to as machine learning more

00:01:35.626 --> 00:01:38.086
recently and big data prior to that.

00:01:38.086 --> 00:01:42.766
And it's mixed in with other concepts
like neural networks and Gans and.

00:01:43.516 --> 00:01:45.046
All kinds of other stuff.

00:01:45.096 --> 00:01:51.376
And I remember playing with Tools based
off of generative adversarial networks

00:01:51.376 --> 00:01:54.136
way back many years ago at this point.

00:01:54.136 --> 00:01:58.496
But they didn't enter this
sort of hype cycle that we've

00:01:58.496 --> 00:02:01.986
gotten into with AI more lately.

00:02:02.386 --> 00:02:04.606
And I think the reason for that is.

00:02:05.116 --> 00:02:10.006
The results, the outputs, the things
that you got out of those tools.

00:02:10.406 --> 00:02:15.086
Either from a consumer perspective,
weren't as fun and exciting.

00:02:15.486 --> 00:02:21.846
And from a business perspective
were great, but they didn't tap into

00:02:21.846 --> 00:02:26.646
people's imagination in the same way
that the tools that we have now do.

00:02:27.046 --> 00:02:33.136
So we've had AI being used to do all kinds
of stuff from predicting trends from large

00:02:33.136 --> 00:02:39.926
datasets to parsing audio and generating
text in different ways for a while now.

00:02:39.926 --> 00:02:45.086
The thing that's changed in the past
couple of years specifically, is what

00:02:45.086 --> 00:02:47.426
we're now referring to as generative AI.

00:02:47.966 --> 00:02:52.346
And I think specifically there's
two things in there that people

00:02:52.346 --> 00:02:56.996
are particularly enamored with
and find fascinating to play with.

00:02:57.396 --> 00:03:00.426
One is the image generators.

00:03:00.486 --> 00:03:04.306
So being able to just describe
something and have an image

00:03:04.336 --> 00:03:05.746
come out of that description.

00:03:05.746 --> 00:03:10.786
Until recently there wasn't a
great way to generate decent

00:03:10.816 --> 00:03:12.706
outputs for something like that.

00:03:12.736 --> 00:03:16.406
But in the past few years, That
the results have gotten way

00:03:16.406 --> 00:03:17.786
better than they were before.

00:03:18.186 --> 00:03:22.386
And of course with that comes a
whole slew of controversies around

00:03:22.386 --> 00:03:26.706
intellectual property and more, we're
not going to talk so much about that.

00:03:26.766 --> 00:03:30.136
In this episode, but we will talk
a little bit about the mechanics

00:03:30.136 --> 00:03:31.756
of what's going on under the hood.

00:03:32.156 --> 00:03:36.296
The other thing is large language
models, which kind of do the same thing.

00:03:36.296 --> 00:03:37.256
But with text.

00:03:37.556 --> 00:03:39.836
So you provide some sort of input.

00:03:40.236 --> 00:03:41.586
That might be a short prompt.

00:03:41.616 --> 00:03:43.026
It might be a long prompt.

00:03:43.116 --> 00:03:47.586
And basically you get something back
that either continues a conversation.

00:03:47.586 --> 00:03:52.886
If you're using something in a
chat style, interface with an LLM.

00:03:53.286 --> 00:03:54.726
Think of chat GPT.

00:03:55.156 --> 00:03:56.236
Or you.

00:03:56.896 --> 00:04:00.446
Or it might just complete
something that you started.

00:04:00.576 --> 00:04:02.496
Though, we're seeing less
of that at the moment.

00:04:02.896 --> 00:04:07.366
Functionally though under the hood,
that's what, even the chat interfaces do.

00:04:07.766 --> 00:04:10.166
And here's where we'll start
to dive into the mechanics

00:04:10.166 --> 00:04:11.996
because I've seen people and.

00:04:12.626 --> 00:04:16.196
I want to talk specifically to
people who are not deeply technical.

00:04:16.526 --> 00:04:21.926
So if you're an AI expert or you're a
developer, who's really deep into this

00:04:21.926 --> 00:04:23.996
stuff, this probably isn't for you.

00:04:23.996 --> 00:04:27.326
And if you do keep watching, you
might find yourself shaking your

00:04:27.326 --> 00:04:32.096
fist at the screen if you're watching
or in the air, if you're listening

00:04:32.306 --> 00:04:34.256
saying that's not quite right.

00:04:34.316 --> 00:04:35.966
And I think that's okay.

00:04:36.476 --> 00:04:41.156
I'm going to try and cover things in
a way that I think makes sense for

00:04:41.156 --> 00:04:46.316
someone who is non-technical, but is
interested in what can be done with

00:04:46.316 --> 00:04:49.886
these technologies or wants to better
understand them, wants to understand how

00:04:49.886 --> 00:04:51.836
they might fit into a product roadmap.

00:04:51.836 --> 00:04:53.996
See what they can build
with this technology.

00:04:54.396 --> 00:04:58.266
Or even somewhat technical folks
who just haven't played with it yet.

00:04:58.666 --> 00:05:03.476
I don't actually understand very well
what's going on with the image generators.

00:05:03.776 --> 00:05:08.966
On some level what I understand is
essentially images are fed into the

00:05:08.966 --> 00:05:13.386
training systems and don't think
of them as being stored in there.

00:05:13.416 --> 00:05:17.226
It's more like information about
the images that's being stored.

00:05:17.626 --> 00:05:19.816
And correlated and.

00:05:20.216 --> 00:05:24.026
Mashed together into this
system that can then.

00:05:24.426 --> 00:05:31.716
Correlate descriptions with those
metadata about the images and spit out

00:05:31.716 --> 00:05:34.476
something that fits those correlations.

00:05:34.816 --> 00:05:41.456
So if you fed a lot of images by van
Gogh into one of these systems, and

00:05:41.456 --> 00:05:46.316
they're all described as van Gogh
and they might say oil painting as

00:05:46.316 --> 00:05:48.146
well, somewhere in the description.

00:05:48.516 --> 00:05:53.046
There might be descriptions of the
types of colors and the brush strokes

00:05:53.046 --> 00:05:57.816
and all of those types of things that
really define a van Gogh painting.

00:05:57.816 --> 00:06:01.746
During training, basically what
happens is the systems learn to

00:06:01.746 --> 00:06:03.486
recognize those similarities.

00:06:03.516 --> 00:06:09.786
Oh, we see things about the quality of the
brushstrokes and oil paint and van Gogh

00:06:10.356 --> 00:06:13.086
and it correlates that with those loose.

00:06:13.086 --> 00:06:17.466
With that style of painting with
those with the way that the pixels

00:06:17.466 --> 00:06:21.506
are basically grouped next to each
other, the contrasts the colors.

00:06:21.906 --> 00:06:26.646
The patterns, those types of things, and
then it can apply that to something else.

00:06:26.646 --> 00:06:30.666
So if you have many images of dogs,
when those are being fed in and it says.

00:06:31.346 --> 00:06:38.316
Dachshund or Husky or golden retriever
and the shapes of the dogs are parsed

00:06:38.316 --> 00:06:41.676
and stored as metadata in the system.

00:06:42.076 --> 00:06:45.556
They're not storing the images of
the dogs, but they're storing the

00:06:45.556 --> 00:06:51.226
sort of rough shapes and ideas of how
a dog is, or those dog breeds are.

00:06:51.556 --> 00:06:53.176
And then you can match those together.

00:06:53.236 --> 00:06:56.926
And so if you have the shape of a
dog, but the texture of a Vango.

00:06:57.196 --> 00:07:01.486
You get a painting of a golden
retriever in the style of van Gogh.

00:07:01.886 --> 00:07:06.926
But of course there's limits to how
we describe images and paintings and.

00:07:07.466 --> 00:07:08.366
All of these things.

00:07:08.366 --> 00:07:10.136
And so you'll find when you play these.

00:07:10.466 --> 00:07:13.976
So you'll find when you play with these
tools that they come up with really

00:07:13.976 --> 00:07:17.576
weird stuff, and you can see that they
don't really understand, and you can

00:07:17.576 --> 00:07:19.916
also see that they're clearly not copies.

00:07:20.396 --> 00:07:22.346
Because things come out weirdly.

00:07:22.346 --> 00:07:23.876
They don't make sense.

00:07:24.276 --> 00:07:29.076
And the tools are getting a lot better at
that, but think of that as the way these

00:07:29.076 --> 00:07:31.956
systems work, they understand patterns.

00:07:31.956 --> 00:07:33.036
They understand.

00:07:33.436 --> 00:07:38.476
Metadata about these images, they
bring in descriptions and keywords

00:07:38.476 --> 00:07:40.696
and they mash those things together to

00:07:41.096 --> 00:07:46.266
to deconstruct all of the training data
and mash it into correlational machine.

00:07:46.666 --> 00:07:51.466
And then when you provide a
prompt, It goes from that sort

00:07:51.466 --> 00:07:53.386
of loosey goosey something.

00:07:53.786 --> 00:07:58.376
Building backup on those correlations
and spits out something that

00:07:58.436 --> 00:08:00.026
may or may not make sense.

00:08:00.446 --> 00:08:03.986
Of course, more and more, they are making
sense and they're doing things that.

00:08:04.386 --> 00:08:06.366
They're generating outputs.

00:08:06.366 --> 00:08:07.836
That look really good.

00:08:08.236 --> 00:08:12.706
So do without what you will, maybe
that helps you understand a bit more

00:08:12.706 --> 00:08:16.606
of the context for the controversies,
or it may give you some context

00:08:16.606 --> 00:08:18.346
for how to work with these things.

00:08:18.746 --> 00:08:19.946
But hopefully it helps.

00:08:20.346 --> 00:08:22.896
The other thing is large language models.

00:08:23.296 --> 00:08:27.776
You can think of it very similarly
to basically these systems.

00:08:28.316 --> 00:08:29.456
During training.

00:08:29.786 --> 00:08:30.386
Bring in.

00:08:30.896 --> 00:08:35.816
Tons and tons of data about all kinds of
written texts from throughout history.

00:08:36.216 --> 00:08:40.026
Again, controversies around
how those data are sourced.

00:08:40.296 --> 00:08:41.856
We're not going to dive into that.

00:08:42.336 --> 00:08:49.536
But basically you have massive data sets
of written language in various languages.

00:08:49.936 --> 00:08:53.326
And it is really under the hood.

00:08:53.326 --> 00:08:55.216
Just fancy auto-complete.

00:08:55.916 --> 00:08:59.006
That is basically what these systems do.

00:08:59.366 --> 00:09:05.876
But on a really large scale
when you're writing an essay.

00:09:06.326 --> 00:09:10.136
A paragraph your writing is based
off of the previous paragraph you

00:09:10.136 --> 00:09:15.546
wrote and the previous chapter
that you wrote or the research

00:09:15.546 --> 00:09:17.646
that you have put into that paper.

00:09:17.676 --> 00:09:22.926
Maybe you could imagine as being
before that further up the chain,

00:09:22.956 --> 00:09:26.586
if you had all of your research
and your writing in one document.

00:09:26.976 --> 00:09:28.236
You could think of it that way.

00:09:28.266 --> 00:09:33.066
It's just you have all of these
inputs and then your next paragraph

00:09:33.096 --> 00:09:38.856
is predictable in a sense, based off
of the inputs and the previous writing

00:09:38.856 --> 00:09:41.076
that you've done, what comes next?

00:09:41.736 --> 00:09:44.736
Essentially, that's what these
systems are trained to do.

00:09:44.796 --> 00:09:47.766
They recognize patterns in language.

00:09:48.066 --> 00:09:51.846
And so they know that if
you have a paragraph about.

00:09:52.246 --> 00:09:53.806
How playful dogs are.

00:09:54.206 --> 00:09:56.756
And then maybe your next
paragraph is going to be about

00:09:56.756 --> 00:09:58.946
the joy that they bring to their.

00:09:59.276 --> 00:09:59.996
Humans.

00:10:00.446 --> 00:10:01.976
Something along those lines.

00:10:02.086 --> 00:10:05.656
And that would depend on the rest of
the context of what you're writing.

00:10:06.056 --> 00:10:07.886
But they're not coming up with.

00:10:08.286 --> 00:10:10.446
They're not coming up with anything novel.

00:10:10.476 --> 00:10:12.696
There is some randomness in this system.

00:10:13.096 --> 00:10:16.226
That is intentionally placed there.

00:10:16.626 --> 00:10:18.606
But it is really just auto-complete.

00:10:18.636 --> 00:10:23.016
And even when you do the chat
interfaces, Functionally, what they're

00:10:23.016 --> 00:10:25.956
doing is still doing auto-complete.

00:10:26.406 --> 00:10:30.846
If I have a conversation with
someone and I say, hi, how are you?

00:10:31.176 --> 00:10:32.226
Predictably?

00:10:32.496 --> 00:10:36.306
The response will be something about
how the person I'm talking to is

00:10:36.306 --> 00:10:39.036
doing, and probably asking me back.

00:10:39.726 --> 00:10:40.956
Hey, how are you doing?

00:10:41.356 --> 00:10:44.026
I'll respond and we carry
on with the conversation.

00:10:44.426 --> 00:10:48.656
They're encoded in the language that
we've left strewn around the internet

00:10:48.686 --> 00:10:51.566
and through books and other media.

00:10:51.966 --> 00:10:56.136
So these systems find those correlations,
they understand the patterns

00:10:56.136 --> 00:10:58.116
they're trained on those patterns.

00:10:58.146 --> 00:11:01.746
If there's one word in front, then
what's the next word that comes after.

00:11:02.146 --> 00:11:05.476
And fundamentally, they
just do long chains of that.

00:11:05.926 --> 00:11:07.666
Based off of the training data.

00:11:08.066 --> 00:11:12.356
So when people talk about these
hallucinations, for example,

00:11:12.756 --> 00:11:16.386
I think it's really important to
understand that the outputs of these

00:11:16.386 --> 00:11:19.056
systems are just word predictions.

00:11:19.086 --> 00:11:20.706
They're not knowledge predictions.

00:11:20.706 --> 00:11:22.386
They're not logical predictions.

00:11:22.416 --> 00:11:23.826
They don't understand.

00:11:24.306 --> 00:11:26.046
What's going into them really?

00:11:26.446 --> 00:11:29.806
You could have philosophical
debates about whether we understand

00:11:29.806 --> 00:11:31.696
what's going into our brains.

00:11:31.696 --> 00:11:33.916
As we hear words and we parse them.

00:11:34.316 --> 00:11:37.946
I'm not going to go into that,
but the mechanics of it is here

00:11:37.946 --> 00:11:41.636
are some words, what are the next
logical words that should follow?

00:11:42.036 --> 00:11:47.886
And that also means that these systems
don't have real-time access to data.

00:11:48.286 --> 00:11:49.576
Now there's a caveat there.

00:11:49.636 --> 00:11:51.316
And we're going to talk
about that in a second.

00:11:51.946 --> 00:11:56.626
But if you're just chatting with something
like ChatGPT or Claude or any of the other

00:11:56.626 --> 00:12:01.766
ones, And you're not using a version of
them that is connected to the internet.

00:12:02.366 --> 00:12:06.486
Their data that they're
trained on is potentially old.

00:12:06.886 --> 00:12:08.506
And it doesn't have context.

00:12:08.906 --> 00:12:12.266
Now there are techniques that you
can use and that are being used

00:12:12.266 --> 00:12:17.006
by all kinds of systems, including
search systems that use AI's.

00:12:17.126 --> 00:12:21.446
So if you're thinking about
using Bing chat or if you're

00:12:21.446 --> 00:12:23.226
on a paid tier of ChatGPT.

00:12:23.246 --> 00:12:26.096
You can also ask it to make
sure that when it responds to

00:12:26.096 --> 00:12:27.626
you, sources from the internet.

00:12:28.256 --> 00:12:31.436
Or maybe you're using a
search system like perplexity.

00:12:32.136 --> 00:12:35.856
All of those systems, use a
technique called RAG retrieval,

00:12:35.856 --> 00:12:37.356
augmented generation.

00:12:37.756 --> 00:12:43.866
Now, what that does is it uses I'm going
to say algorithms, basically methods to

00:12:43.866 --> 00:12:49.056
figure out what is most relevant based
off of your query in what fundamentally,

00:12:49.056 --> 00:12:50.946
it looks like a traditional search index.

00:12:51.276 --> 00:12:53.466
If you just type into Google.

00:12:54.066 --> 00:12:55.926
Recipes for apple pie.

00:12:56.586 --> 00:13:00.096
It will go find things and it'll
give you a list of results.

00:13:00.576 --> 00:13:00.936
Now what?

00:13:00.936 --> 00:13:04.746
Bing chat and ChatGPT, one
connected to the web on the paid

00:13:04.746 --> 00:13:10.386
tier or perplexity do is the kind
of just do a normal web search.

00:13:10.786 --> 00:13:16.096
And then they add that text into the
frame, the context of your question.

00:13:16.096 --> 00:13:17.686
So when they respond.

00:13:18.166 --> 00:13:19.996
It might not be there literally.

00:13:20.396 --> 00:13:23.006
But under the hood what's
happening is they're pulling

00:13:23.216 --> 00:13:25.436
paragraphs from those sources.

00:13:26.156 --> 00:13:28.016
And saying, okay.

00:13:28.286 --> 00:13:29.336
If you asked.

00:13:29.996 --> 00:13:31.436
How do I make apple pie?

00:13:32.186 --> 00:13:34.016
Let's go fetch these recipes.

00:13:34.416 --> 00:13:35.976
Add them into the context.

00:13:36.576 --> 00:13:40.116
In a way that's hidden and
then respond with that context.

00:13:40.536 --> 00:13:46.386
So now when the fancy auto-complete
keeps going, it has both the context of

00:13:46.416 --> 00:13:51.786
the question, but also those paragraphs
about how to bake an apple by and so

00:13:51.786 --> 00:13:54.066
when it responds, it will give you stuff.

00:13:54.066 --> 00:13:55.296
That's a lot more accurate.

00:13:55.536 --> 00:13:59.456
Now you can also get fancy with your
prompting and basically tell it.

00:13:59.536 --> 00:14:05.526
Do not use anything other than valid
sources and then it should understand

00:14:05.526 --> 00:14:10.176
from the context that whatever comes
back from a search is the valid

00:14:10.176 --> 00:14:11.526
source that you're looking for.

00:14:11.796 --> 00:14:15.216
You can also tell it
only return results with.

00:14:15.616 --> 00:14:17.446
URLs that you can visit.

00:14:18.106 --> 00:14:22.036
So you can then go validate those
sources yourself, but you can imagine

00:14:22.036 --> 00:14:25.336
how you can integrate those types of
techniques into your own products.

00:14:25.636 --> 00:14:30.466
Let's say you've got a note taking
app with a database of notes.

00:14:30.866 --> 00:14:33.416
You need a system to parse a user's input.

00:14:33.446 --> 00:14:34.406
Who's asking.

00:14:34.806 --> 00:14:36.576
What am I doing on a Thursday?

00:14:37.176 --> 00:14:42.186
So you might take that input, convert that
into a more standard search algorithm.

00:14:42.216 --> 00:14:44.226
You say what date is Thursday?

00:14:44.826 --> 00:14:46.116
Filter out notes.

00:14:46.206 --> 00:14:47.886
Grab the text from those notes.

00:14:48.426 --> 00:14:52.656
And then tell the large language
model that you're using.

00:14:52.986 --> 00:14:54.996
Hey, this person wants to
know what they're doing.

00:14:54.996 --> 00:14:59.106
Here are some notes that are
relevant to this coming Thursday.

00:14:59.886 --> 00:15:04.086
Respond to them only with that
context, do not include anything else.

00:15:04.836 --> 00:15:07.326
And now you've returned
that response to the user.

00:15:07.726 --> 00:15:11.746
So those are some ways to like,
think about what's happening in large

00:15:11.746 --> 00:15:16.156
language models, how they can be used
appropriately to reduce hallucinations.

00:15:16.546 --> 00:15:20.266
What is really happening when you
interact with one of these models.

00:15:20.266 --> 00:15:24.016
And how they may or may not
make sense in a product.

00:15:24.406 --> 00:15:30.226
Now there's so much that we're
going to figure out as a society

00:15:30.256 --> 00:15:34.246
over the coming years about how
training data should be sourced.

00:15:34.646 --> 00:15:36.686
How the system should be used.

00:15:37.086 --> 00:15:38.586
How they should be regulated.

00:15:38.986 --> 00:15:42.016
But I think personally that there's
something really interesting and

00:15:42.016 --> 00:15:47.776
exciting about the way that these
systems work, particularly large language

00:15:47.806 --> 00:15:52.726
models, because they fundamentally
become a different way of interacting

00:15:52.756 --> 00:15:54.826
with information and knowledge.

00:15:55.226 --> 00:16:01.856
The way I see it is as long as they're
paired with search or search like systems.

00:16:02.066 --> 00:16:06.296
They become a new interface for the
data that we store, the stories that

00:16:06.296 --> 00:16:09.996
we have the knowledge that we share.

00:16:10.396 --> 00:16:14.176
There are valid debates to be had
about how the training data should

00:16:14.176 --> 00:16:19.246
be sourced and how we should oversee
the training of these systems.

00:16:19.646 --> 00:16:23.726
I think it's undeniable that there's
value in being able to parse language

00:16:23.756 --> 00:16:26.666
better than we have been using.

00:16:27.206 --> 00:16:32.826
Computers, which fundamentally have not
been able to parse language well, So far.

00:16:33.226 --> 00:16:35.836
And I think it just opens
up so many possibilities for

00:16:35.836 --> 00:16:37.846
things that we can create.

00:16:38.246 --> 00:16:43.706
Because so much of what we are as a
modern society is encoded in language

00:16:43.736 --> 00:16:49.346
and language that is stored in ways
that can be used to build these systems.

00:16:49.796 --> 00:16:51.776
Yeah, I think we need to be careful.

00:16:51.836 --> 00:16:56.246
I think there does need to be
regulation primarily about the outputs.

00:16:56.396 --> 00:16:58.166
I'm less worried about the inputs.

00:16:58.566 --> 00:17:03.906
And I think there need to be best
practices in place for practitioners

00:17:03.906 --> 00:17:06.066
who want to use these systems.

00:17:06.066 --> 00:17:07.626
Within their own products.

00:17:07.626 --> 00:17:11.376
But hopefully this episode helped you
understand what's going on under the hood.

00:17:11.406 --> 00:17:15.636
What are the possibilities, how you
might want to engage with these tools?

00:17:16.036 --> 00:17:17.686
And yeah, I hope it was informative.

00:17:18.086 --> 00:17:18.596
Alrighty.

00:17:18.626 --> 00:17:20.036
Thanks for listening folks.

00:17:20.436 --> 00:17:23.256
If you enjoy this stuff,
please subscribe on YouTube.

00:17:23.656 --> 00:17:26.776
And subscribe to the podcast
in your podcast, app of choice.

00:17:26.806 --> 00:17:29.866
Also leave us a rating and
review really helps us out.

00:17:30.266 --> 00:17:31.646
We'd love to hear what you think.

00:17:31.676 --> 00:17:34.706
And I'd really personally love
to have you on the podcast.

00:17:34.706 --> 00:17:37.166
I'd love to talk to other
people about this stuff.

00:17:37.566 --> 00:17:40.806
Also make sure to sign up for our
newsletter where we'll be sending

00:17:40.806 --> 00:17:44.826
you all kinds of great info about
how to build a small tech product.

00:17:45.276 --> 00:17:49.626
There's going to be videos, blog posts,
episodes of the podcast you may have

00:17:49.626 --> 00:17:51.066
missed and plenty of other stuff.

00:17:51.066 --> 00:17:54.906
So head to small tech
podcast.com and subscribe there.

00:17:55.306 --> 00:18:00.046
So that's it for this week's episode and
we all want to do good in the world folks.

00:18:00.076 --> 00:18:02.776
So go out there and build something.

00:18:02.776 --> 00:18:03.256
Good.

00:18:03.526 --> 00:18:04.126
See ya.