Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
I build what I want. What does
0:02
that mean? It's actually kind
0:04
of a spin on a quote
0:06
from my childhood. My cousin used to
0:08
always say, I do what I want.
0:11
And so it's just, I don't know,
0:13
it's just like a joke. So I
0:15
build what I want. And, but it's
0:17
true. This is, it's what I do.
0:19
Am I gonna build this charting thing?
0:21
Yes, I'm gonna do it. I'm gonna
0:24
follow through with it. Why. There
0:26
is a view of looking at
0:28
this. The problems all developers suffer
0:30
from which makes him a bad
0:32
business owner. Developers just like pull
0:34
a thread and just can't stop
0:37
pulling like an addict, you know,
0:39
or just obsessed with like mental
0:41
gymnastics, the mental gymnastics
0:43
of coding and problem solving and
0:45
never like pull their head out
0:47
of the silicone to like look
0:49
around and realize if this is
0:51
the best use to their time,
0:53
you know, that sure, you could
0:55
look at it that way, fine.
0:58
You could also look at it
1:00
as Caleb is, whatever, like maybe
1:02
obsessed with details or, I don't
1:04
know, whatever, I don't care how
1:06
you look at it. This is the
1:08
reality that I need to ground myself
1:10
in. When I talk to someone like
1:12
Ian about charts or I mean
1:15
a lot of people like him
1:17
that we're fundamentally, we come from
1:19
fundamentally different places.
1:21
He wants a library that
1:23
can do it all. Good for
1:26
him. A lot of developers
1:28
want that. It's totally legit.
1:30
And I in a certain situation also
1:33
want that. But I have
1:35
to ground myself in my
1:37
experience as a developer because
1:40
that is the invariable truth
1:42
of this whole game and
1:44
of all this stuff is
1:47
you have to ground yourself
1:49
in your own experience. That's
1:51
the only truth that you have.
1:54
is your own experience. And if
1:56
you're not grounding your principles and
1:58
your actions in your own experience,
2:00
experience, you are off to see,
2:02
you have, you have nothing to
2:04
go by, and your, your principles
2:07
won't, whatever. You, you, you risk
2:09
not resonating with people. Okay, here's
2:11
the thing. My, I have to
2:13
remember my experience of charting. Despite
2:15
what others might say, and by
2:17
others I mean Ian on a
2:19
podcast. Sorry, now I'm dogging on
2:21
Ian like it without him even
2:23
here to defend himself, but whatever.
2:25
He did it on his podcast
2:27
the other week, right? So he'll
2:29
have to just come back on
2:31
to defend himself again. But here's
2:34
the thing. My experience with charting
2:36
is why is there nothing simple
2:38
out there? All I need is
2:40
something simple. Why am I wrangling
2:42
this giant thing and trying to
2:44
generate config from like pasting config
2:46
and nowadays you're just generating config
2:48
from like an AI from like
2:50
an AI? that AI is trained
2:52
on like it's half trained on
2:54
two different versions of your configuration.
2:56
You know that world it sucks.
2:58
This is a sucky world and
3:01
immediately this very tangible things. I
3:03
remember pulling in chart JS plenty
3:05
of times and the first thing
3:07
right off the bat you pull
3:09
it in and you go okay
3:11
chart JS to me is like
3:13
sweet alert. Do you remember sweet
3:15
alert? It was like ooh. This
3:17
makes modals really easy and it
3:19
looks kind of sexy. Like it
3:21
looks a little modern, a little
3:23
balmy. Well, the thing is, is
3:26
what looks sexy and modern just
3:28
changes so quickly. So it wasn't
3:30
that long before Sweet Alert. A,
3:32
looked like everyone used a Sweet
3:34
Alert at all looked the same
3:36
and that's not good. And then
3:38
B, Sweet Alert just kind of
3:40
turned in this... the style wasn't
3:42
modern anymore, you know? It's... overly
3:44
bulbous and colorful and wumpy, you
3:46
know, whooshy. It's not... What's in
3:48
vogue at all? And Chart yes,
3:50
I think similarly has had the
3:53
same style for a long time
3:55
and at first it was like
3:57
ooh Apex charts looks like a
3:59
spreadsheet You know the chart yes,
4:01
this is the sweet alert of
4:03
charting is like there's nice kind
4:05
of like Vibrenty modern colors and
4:07
it's like a little more minimal
4:09
It just has a vibe of
4:11
like fresh and new and whatever,
4:13
but that's not the vibe anymore.
4:15
The chart JS vibe is not
4:17
the vibe anymore. It's minimal And
4:20
it's not as minimal as it
4:22
is now. Anyway, so even that,
4:24
even the styling. But again, grounding
4:26
it in my own experience, I
4:28
remember pulling in chart yes and
4:30
okay, the first thing I got
4:32
to do is find a way
4:34
to get my data into this
4:36
chart and I have to wrap
4:38
my head around how this chart
4:40
speaks. What data does it, okay,
4:42
do I need to separate out
4:44
all the labels and then, okay,
4:47
what's the concept of data set?
4:49
So, all right, I know that
4:51
I need to generate some sort
4:53
of array of data. I don't
4:55
know if it's one array of
4:57
multiple keys in each object or
4:59
if it's multiple arrays just kind
5:01
of representing each thing. And then
5:03
there's these data sets and then
5:05
it's like, well, you know, axes
5:07
assignment, whatever. And how do I
5:09
even access like to do? in
5:11
chart yes is get rid of
5:14
the legend on the bottom. I
5:16
remember that was a struggle for
5:18
me. Like multiple times I've totally
5:20
been here where I pull in
5:22
chart yes I go like this
5:24
is going to level up you
5:26
know this this game here I
5:28
need charts and they got them.
5:30
Which by the way I've only
5:32
ever used line charts. Maybe that's
5:34
just me. I've only ever used
5:36
line charts and I haven't... maybe
5:38
I've gotten into like trying to
5:41
put a gradient area under a
5:43
line but maybe that's probably about
5:45
it. Anyway, so the first thing
5:47
is like, how do I get,
5:49
is stripping it down. I have
5:51
memories of sitting there, wrestling with
5:53
Charge A.S., getting rid of the
5:55
legend on the bottom, getting rid
5:57
of Axis ticks, getting... of too
5:59
many grid lines. And then it's
6:01
like, oh, how would I even
6:03
begin to style the tool tip?
6:05
That seems like really horrible, but
6:08
the tool tip has like too
6:10
much information there. It's not formatted
6:12
properly or whatever. Anyway, you get
6:14
the idea. The idea is that
6:16
I have to grind, I have
6:18
to ground myself in my own
6:20
experience. And that is my truth.
6:22
And my truth in this scenario
6:24
is that there is a need.
6:26
by many many many many developers
6:28
for lightweight easily styleable Simple charting
6:30
line charts. That's it and they
6:32
don't have to wrestle with all
6:35
sorts of words that they don't
6:37
understand Right away because they don't
6:39
know the domain of this current
6:41
of this specific library. They don't
6:43
know if you're using the word,
6:45
you know, scale or axis to
6:47
mean two different things or the
6:49
same thing or bottom left or
6:51
X and Y or whatever. You
6:53
know what I mean? It's just,
6:55
yeah. So anyway, I, so I
6:57
recorded these episodes and so I
6:59
posted a video today of like
7:02
a little screencast of me showing
7:04
like a chart, you know, doing
7:06
stuff, this line chart. And a
7:08
lot of replies that I got
7:10
were like, you know, I listen
7:12
to your podcast and I kind
7:14
of doubted that this would be
7:16
any good, you know, but this
7:18
looks good. And I'm not saying
7:20
that like the styles don't look
7:22
particularly good. It's what most people
7:24
need out of a chart. What
7:26
I showed on Twitter today is
7:29
a working thing that I have
7:31
and the code works and you
7:33
could put it in your app
7:35
and it's zero dependencies and it's
7:37
two kilobytes of JavaScript. Yeah, and it
7:39
does what most people need to
7:41
do and I can't just walk
7:43
away from that fact. I don't
7:46
know. And maybe this is the
7:48
marketing that Ian and Aaron are
7:50
saying that I'm doing unintentionally. the
7:52
marketing of just like I go
7:54
deep on stuff that's just what
7:57
it is so anyway I don't
7:59
know but I'm not giving up
8:01
on this. I am doing it
8:03
and I am pretty pumped. And
8:05
again, it's like at the end
8:07
of the day, I get it.
8:10
Nobody cares that it's two kilobytes.
8:12
I get that. But let me
8:14
tell you what you do care
8:16
about. You care about a feeling.
8:18
When I'm pulling in these big
8:20
libraries, I feel like I'm putting
8:23
a big sack of potatoes on
8:25
my back. No worse, I am
8:27
Santa Claus with an oversized sack
8:29
of presents, and I'm carrying that
8:31
around now. You know, in every
8:33
one of these libraries that I
8:36
pull in, I'm adding that as
8:38
I'm walking around, working on this
8:40
app, where this, to me, feels
8:42
like, I don't know, it feels
8:44
like an iPod nano in your
8:46
pocket. you know, compared to pulling
8:49
around like a big Santa sac.
8:51
It's a feeling. It's not just
8:53
concerned about low or slow load
8:55
times over the network because of
8:57
too much JavaScript. It's the feeling
8:59
of too much in every way,
9:02
in configuration, in scope, in visuals,
9:04
in JavaScript, and all those things.
9:06
It's the feeling of too much.
9:08
And I want to create something
9:10
that has the feeling of just
9:13
enough. That's what it is. I'm
9:15
going for just enough. That's what
9:17
Flux is going for. That's what
9:19
it's all the tools are going
9:21
for, is just enough. And if
9:23
you need too much, if your
9:26
needs are too much, if I
9:28
cater to everybody, if I cater
9:30
to everybody, if I have, if
9:32
there's a thousand people in front
9:34
of me, and there's different, they
9:36
all have different, you know, if
9:39
they're all building web apps, they're
9:41
all this stuff. The average person
9:43
is going to need a normal
9:45
charting setup, right? But a few
9:47
of them are going to need
9:49
a really intense heat map scatter
9:52
plot, crazy radial chart, crap, right?
9:54
Well, I'm not going to cater
9:56
to... that right okay but like
9:58
think about what I'm trying to
10:00
what I'm trying to say is
10:02
so that person who doesn't need
10:05
the big old chart crazy thing
10:07
they might need a crazy date
10:09
range booking setup you know they
10:11
and but their chart needs are
10:13
pretty simple and then the other
10:15
person needs like a really intense
10:18
like media library setup but the
10:20
rest of their needs are pretty
10:22
simple and then the other person
10:24
it's like everybody has that area
10:26
of like need that is just
10:29
beyond the average app, right? So
10:31
what I'm, it's like if you
10:33
cater to the maximum, then most
10:35
people will find most of my
10:37
product too much. The thing that
10:39
they need, it's going to be
10:42
perfect for. Maybe that's a good
10:44
business model, and maybe that's a
10:46
good principle. But to me, it's
10:48
like, no. The person who needs
10:50
the crazy data visualization stuff, should
10:52
go to the dedicated media library
10:55
package. They should go to Peken,
10:57
Pekenya, or file pond, or whatever,
10:59
you know, Chris, Schnex, or Rich,
11:01
Shinx, or Shinx, or whatever, his
11:03
stuff. He's dedicated his life to
11:05
that problem space, and they should
11:08
go to D3. Or Apex charts
11:10
or something and double down because
11:12
their needs are higher in that
11:14
realm. But then everything flux is
11:16
a place where you're not penalized
11:18
for everyone else's extreme needs. You
11:21
come here and it has just
11:23
enough and it's lightweight and it's
11:25
easy breezy and it looks great
11:27
and it's minimal. And you feel
11:29
good about using it. And then
11:31
you break out and talk to
11:34
Claude and build whatever else you
11:36
need to build for the crazy
11:38
stuff you need. Anyway, what are
11:40
we even talking about here? I'm
11:42
building charts. You can't stop me.
11:45
I build what I want.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More