Dax Raad - SST

Durée: 90m57s

Date de sortie: 29/10/2023

This week we talk with Dax Raad about SST, a framework for building serverless applications on AWS. SST is a typescript framework that makes it easy to build serverless applications on AWS. It's built on top of the AWS CDK, but provides a much nicer developer experience. ax also presents a critique of cloud service providers and a call for more open source knowledge.

Episode sponsored By Raycast (https://www.raycast.com/)

Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.


Tooltips

Andrew

Justin

Dax

Toutes les entreprises dans le space
sont juste en train de faire ce truc un peu plus opinionné
et donc un peu plus de plus de salaire et plus facile à utiliser.
Le plus important et le plus important pour nous
est qu'on ne croit pas que ça a un valeur financière.
Quand vous savez comment faire ces choses, c'est votre.
Vous pouvez juste faire ça à vous-même si vous voulez.
Avec un plate-forme comme Versailles, c'est ce qu'ils chargent.
Ils chargent pour le fait qu'ils ont ce knowledge
et c'est difficile de le faire.
C'est une grande barrière pour l'acquérir.
On veut éliminer ce fait de faire le mien.
Ce n'est pas seulement Versailles,
mais aussi des entreprises qui chargent pour ce genre de choses.
On pense que si on fait tout ce qui est ouvert,
c'est un peu plus difficile pour les gens
dans ce cadre de la société de dire « paye-us »
pour que nous puissions réhoser à l'AWS.
Bonjour, bienvenue à la podcast de DevTools FM.
C'est un podcast sur les tools de développement
et les gens vont faire ça.
Je suis Andrew et c'est ma co-host Justin.
Bonjour, tout le monde.
Nous sommes vraiment excitées aujourd'hui
de voir Dax Rad.
Vous devez savoir que Dax
est de ses très drôles,
très humoristes,
des vidéos que vous faites.
J'adore votre vidéo beaucoup.
Dax, vous travaillez aussi sur le SST,
qui nous sommes vraiment excitées de parler aujourd'hui.
Mais avant de commencer,
vous voulez nous parler des listeners
un peu plus sur vous-même ?
Oui, mon nom est Dax.
Pour les dernières 3 ans,
peut-être deux ans,
deux ou trois ans,
j'ai travaillé sur le SST,
qui est un framework
pour aider les gens à construire les choses sur l'AWS.
Mon background,
j'ai été en première place
dans des companies de très anciens pays,
soit comme le founder
ou le type d'employeur
depuis les dernières 10 ans.
J'ai fait tous les trucs,
en étant en company de plus anciens,
comme vous faites tous les parts
de la travail.
Donc, quand il s'agit de la déploie,
je me suis dit que
je suis allé dans des places,
des stratégies différentes,
des techniques différentes.
J'ai été dans des phases différentes.
Un couple de années auparavant,
j'étais intéressé.
J'ai été un ingénieur depuis longtemps,
j'ai avancé l'éloignage de la formation de l'AWS
pour un long temps,
pour construire une technologie neutrale
pour éviter des spécifiques à l'AWS.
J'ai dit,
je vais aller au opposite extérieur,
et je vais voir ce que c'est,
si je l'ai vraiment appris.
C'est quand je l'ai trouvé,
et j'ai regardé
l'éloignage et la philosophie.
Et oui, j'ai été intéressé.
J'ai trouvé le SSE très tard,
probablement dès qu'il est arrivé,
j'ai commencé à contribuer à ça,
et j'ai terminé
l'investissement en la compagnie,
et j'ai fini de rejoindre la compagnie
tout le temps.
C'est génial.
Donc,
pour ceux qui n'ont jamais entendu de le SSE,
comment vous le décrubiez ?
Oui,
donc,
le moyen,
je pense que le moyen
qu'on pense sur nos responsabilités,
c'est que
tout le monde sait que le SSE est grand,
et agréable, et paix,
et tout le monde l'a mis à l'aide,
et ça le fait de peur à tout le monde,
et qu'ils ne se préparent pas.
Les batailles de surprise,
tout ce que l'on peut faire,
et
juste le chaos
que les gens associent avec le SSE,
on a pris beaucoup de temps
à penser
dans différents types d'applications,
différents types de features
que vous avez besoin de construire,
et à identifier le meilleur moyen
pour construire sur le SSE.
Et souvent, quand on le identifie,
il y a tous ces égages rouges
et des gâts et des outils de missing,
et on va construire
tout ce qu'il faut pour faire
ce que l'on puisse faire
en tant que smooth.
Nous sommes un
type-script-focused tool.
Nous supportons des autres langues,
mais les usagers
sont dans un type-script-ecosystem.
Nous vous donnons
des prématives très hautes
pour se séparer.
Tout ce que vous avez besoin
pour construire tous les applications,
et nous avons
évidemment
des entreprises très âgées
mais aussi des entreprises
de grande entreprise.
C'est un des bénéfices
de la focus de l'AWS.
Ce n'est pas difficile
d'accéder
à ces plus importants clients.
Et oui, nous avons juste de temps.
On veut faire un temps réel.
Nous n'avons pas de temps à faire.
On va construire
une bonne expérience.
Et ça va aller
de
les
libraries et des outils
que vous avez besoin
pour se séparer
tout ce que vous avez besoin
pour l'infrastructure.
Tout ce que vous avez fait
sans cliquer sur le console
et rien dans l'UI.
Pour l'application
de les aidants,
les choses qui vous utilisent
cette infrastructure plus facile.
Et puis, quand vous êtes en production,
vous pouvez débarquer,
vous pouvez observer
ce que vous avez besoin.
Vous pouvez faire surement
que vous avez le tourneur.
Donc, c'est un cycle de vie
pour tout ce que vous avez besoin.
Nous essayons de
y aller.
Nous avons été étendus
vraiment fortes,
qui est un peu
difficile.
Mais nous devons
couvrir le temps
de tout ce que les gens
veulent construire.
Donc,
l'AWS est énorme.
Il y a beaucoup de services
différents.
Et les mettre ensemble
sont tellement difficiles.

je vois beaucoup de entreprises
comme SST
qui sont en train de mettre en
charge des services.
Pourquoi les AWS
font tout ce que c'est
difficile?
Pourquoi n'ont-ils pas
fait ça pour eux?
Ça semble que Amazon
est une grande company
avec un nombre imaginable
d'ingénieurs.
Pourquoi ne ne ne
ne font pas qu'ils sont
dix-dix bonnes?
Oui, donc
il y a des gens qui
ont toutes les explications
pour ça.
Et je dirais
que beaucoup de les explications
sont dans le cadre
de
qu'ils ont choisi
d'optimer pour quelque chose d'autre.

dix,
dix bonnes,
c'est impossible.
Je ne pense pas que
c'est la chose
que je pense.
C'est vraiment l'explanation.
Normalement, quand
une company
est bonne à quelque chose,
tu ne sais pas
qu'ils vont dire
OK, ils font X, Y, Z
et ils sont bons à
cette autre chose.
Tu ne peux pas dire
que c'est bon
parce que c'est X, Y, Z
ou en spite de X, Y, Z.
Donc c'est un peu difficile
de dire
juste pourquoi
ce qui se passe.
À mon expérience,
ce que j'ai observé
c'est
que c'est une grande company.
Ils peuvent être structurés
dans un moyen unique
qui sont
les petits teams
extrêmement petits
qui ne parlent pas
de l'autre setup.
Mais même ça ne se déconseille
pour le fait
qu'ils sont un grand company.
Donc, les choses
justes bougent lentement.
Ils couvrent
un énorme déjeuner
de cas de utilisation
comme tout
d'un qui aime la cloud
à un qui aime la cloud.
Ils doivent
vous en construire
des choses
pour les gens
et tout en-between.
La réalité est
si tu commences
une nouvelle application
aujourd'hui
et si tu penses
à ce que
combien de AWS
tu en as besoin,
c'est un très petit nombre.
Je dirais que c'est
5 ou 6 services
et tu peux construire
99% de choses
et tu peux ignorer
les restes.
Pour ton unique utilisation,
tu devrais avoir besoin
d'un ou deux
des restes
qui ne sont pas super communs.
Ok, peut-être
tu fais
des choses
très spécifiques
à la machine
de la machine
donc tu peux utiliser
leurs services
à la machine de la machine.
Mais le corps
est très très petit.
Mais
parce que c'est si grand
que l'avantage
ne sait pas
ce petit set
de décisions
de la right.
Et c'était
le premier
an
de la date
de AWS et de serverless.
Je dirais que c'était
un an
à un an et demi
de
déjà un jeune
qui a tout le temps
de penser
et de apprendre
sur ce type
d'expérimentation.
C'est comme
ok, j'ai trouvé
la bonne façon
de faire
comme la plupart des choses.
Donc,
la personne avantage
n'a pas le temps
de se dépasser sur ça.
En termes de
pourquoi
AWS ne fait pas
plus facile,
ils y essayent.
Donc,
les gens
ont évidemment
dit à moi
tout le temps
que
vous êtes
très
très
mind-boggling
de la scale
mais vous n'avez pas
bien fait
ce autre chose.
Donc,
pouvez-vous les fixer?
Et ils essayent
avec des choses
comme Amplify
et ça ne
ne marche pas.
C'est
comme un
DNA
comme
c'est difficile de
expliquer pourquoi
mais
une fois
les cultures
s'établir
c'est très
difficile
de
vous
vous pouvez
vraiment
vous pouvez vraiment
mettre
dans l'arrivée
d'AWS
et je ne pense pas
que nous serions
capables de
faire
tout ce qu'on a fait.
C'est juste
comme un
culturel
et c'est
comme
comme un
explication
comme ce
chose dans l'air
mais
que,
à l'hélicité
russe
brode

pour
l' mantle


l'un des



ne

par
dans cet environnement.
Vous avez coudé à travers le grain,
parce que maintenant, vous devez parler à beaucoup de teams.
C'est comme, on peut faire ces choses
à travers tous ces différents espaces productifs?
Et si la culture n'est déjà pas comme ça,
et qu'on ne veut pas venir à votre meeting,
vous êtes vraiment sortant de la chrétine.
Je peux voir où ça serait super hâte.
Oui, je pense que leur philosophie est
que même quand vous essayez,
on peut dire que vous avez tout,
on peut dire que vous avez dit
que vous devez unifier les choses x, y, z.
Vous avez été able à pouvoir
faire tout ce que vous avez besoin de.
Leur philosophie ne marche pas,
elle serait assez malade.
Ce que je l'ai appris, c'est que c'est difficile.
Donc, leur philosophie est...
C'est pas même de essayer.
L'essentiel est juste une distraction.
C'est dit, je ne le buys à un certain niveau,
je ne pense pas que c'est impossible.
Je vois d'autres entreprises,
comme Cloudflare,
qui ont fait une expérience unif
à travers une offre très similaire.
Évidemment, ils sont beaucoup plus petits que l'AWS,
dans tous les moyens.
Mais en termes de fonctionnalité,
si vous regardez la plus moderne façon
de construire quelque chose sur l'AWS,
vous pouvez faire ça sur Cloudflare,
comme ça, ils ont acheté une parité.
Sans la même chaos que vous avez expérimente sur l'AWS.
Oui, totalement.
Donc, on parle d'une certaine valeur
de la SST.
Donc, quand vous êtes sortant de l'utiliser
et que vous êtes sortant de l'utiliser,
quels sont les différences immédiates
que vous allez voir vers un AWS
et tentant de construire quelque chose ?
Oui.
Donc, la première chose au bout du bat
est que,
selon la situation que vous êtes,
sur votre expérience,
vous devez avoir entendu l'infrastructure,
vous ne devez pas entendu l'infrastructure.
Nous essayons vraiment de ne pas mentionner
cette phrase, l'infrastructure,
parce que nous pensons que c'est vendu
dans le bon moyen,
c'est pourquoi ça n'a pas été
comme beaucoup d'adoptions,
mais l'idée est que vous ne vous décliquez pas
dans un UI et cliquez sur un peu de choses
pour mettre quelque chose en place.
C'est comme ça que beaucoup de gens
sont encore en train de faire des choses.
Vous définissez tout ça
par le type script.
Vous dites,
vous savez,
une nouvelle boucette,
parce que je veux créer une boucette
et vous pouvez passer un peu d'options.
Ce qui est vraiment bien d'avoir cette expérience,
c'est que, en particulier quand vous utilisez un type script,
c'est que, un, vous avez toute la sécurité type,
vous avez tout le tournage d'édit,
vous avez tout le tournage,
vous savez quelles sont les propriétés.
Si vous vous couvertez,
vous avez une petite documentation
sur ce que ça fait.
C'est très prédictible
sur comment on peut
abattre les choses.
Nous étions tous en train de code,
nous savons que
vous pouvez avoir un seul fil
qui fait un peu de choses,
mais si vous voulez avoir quelque chose
plus avancé,
peut-être qu'il y a un subobjet
qui se déroule.
L'idée de la compréhension de la compréhension
est très intuitive.
Le truc avec
quelqu'un qui est en train de simplifier l'US,
c'est que vous devez faire
un progrès de la disclosure.
Quand quelqu'un commence,
vous devez leur donner
une configuration,
mais pas tout ça.
Mais vous devez leur donner un moyen
d'éventuellement
faire des choses plus complexes.
Nous trouvons que
la compréhension est un grand moyen
de faire ça.
Tout d'abord, parce que tout le monde est
très familier avec ça.
Nous étions en train de faire des abstractures
tous les jours,
nous les étions tous les jours.
C'est très différent
d'en essayer de simplifier
en utilisant un UI
ou un dashboard ou quelque chose.
Vous imaginez
un UI simplifié.
Vous pouvez probablement imaginer
un UI simplifié pour l'US.
Mais comment vous
discloz les parts plus complexes
desquelles votre UI
va probablement commencer à être
malade et malade.
Donc, l'US apport de simplifier
le UI
tend à
travailler très bien
pour l'usage simpliste,
mais comme les entreprises
s'y créent,
elles tendent à s'y éjecter.
Nous avons une longue histoire
de ceci avec
Haroku.
J'ai fait tant de migrations
sur le Haroku à l'US.
La prochaine génération
de ces entreprises
va probablement avoir
une similar chose.
Pour l'US,
c'est de
donner une interface
typoscript
pour faire les choses
très rapidement en débutant.
Et la chose que j'ai vraiment
très proche de c'est
qu'on ne t'essaye pas
de savoir les choses.
On le fait facile
pour vous au début
de ne pas savoir
quelque chose.
Mais en temps,
beaucoup de gens dans la communauté
sont des experts
qui sont plus profondes
dans ces layers.
Donc, je pense que
notre philosophie,
en général,
c'est que, oui,
on veut qu'on fasse
tout simplement,
mais non,
on ne va pas
vous sauver
d'absolu,
sans savoir
comment ces choses
travaillent sous la tête.
Encore une fois,
on veut que nos sponsors
ne puissent pas
se faire de notre podcast.
Notre sponsor
cette semaine est Raycast.
Raycast est un app
pour Mac
qui est comme spotlight,
mais beaucoup mieux.
Avec l'extension de la force,
vous pouvez enlever
le potentiel
de votre computer
et faire
beaucoup de choses

Cette semaine,
la chose cool
que j'aimerais
vous déclencher
est la extension
de la couleur.
Cette extension
a été réalisée
par le CEO Thomas
et vous savez
qu'il vous montre
toutes les cool choses
que Raycast peut faire.
De votre promesseur
vous pouvez
initier un coloris
et enlever
de l'autre couleur
de votre scénarie.
Ça peut remplir
beaucoup de différents apps
que j'utilise
dans mes workflows
Pas seulement
vous pouvez enlever
les couleurs,
mais vous pouvez les

par le palais de command.
Mais ce n'est pas ça.
C'est un app
envers le menu bar

Donc, ça
showcase
l'épidémie
d'être
facile à
couper
les appels de menu bar.
Raycast
est un appels
de l'application
pour
tous les différents
native Mac
que vous pouvez
couper.
C'est cool.
Et le fond ne s'arrête pas
avec Raycast Pro
vous avez l'accessoire
à Raycast AI
et vous avez
beaucoup de cool choses

Comme j'ai
détaillé
dans les épisodes
d'accès
à AI Chat
et juste un
shortcut
est un
grand changement
de travail
au moins pour moi.
Si vous voulez
apprendre
plus
sur Raycast
allez au
Raycast.com
ou si vous voulez
entendre
plus sur Raycast Journey
allez au
épisode 38
où il
interviewe
le CEO Thomas.
Vous voulez
vous avancer
avec
DevTools FM?
Head over
to DevTools FM
slash
sponsor
et if you haven't subscribed
yet we have a newsletter
the newsletter
at mail.devtools.fm
will get you weekly
developer tooling news
updates
and some of our post
show thoughts
about the episode
we released
that week.
Yeah,
that's interesting.
So speaking of
like infrastructures
code
so AWS
does have this thing
called
the CDK
the
I guess cloud
development kit
and they have a
TypeScript
interface for that
and among
other languages
and that's sort of their
code is infrastructure
thing.
How would you
how would you say
the SST sort of
differs from
from the CDK?
So today
SST is actually
built on top of
CDK.
So we spent the past
two years or so
building on top of it.
So CDK itself
is built on top
of something else
called cloud formation.
So cloud formation
is a way to do
everything I describe
but using YAML.
Nobody likes YAML
so they built CDK
to compile to YAML.
So just like
kind of layers
on top of layers
and
the reality is
is that
cloud formation
begin with
is not very good.
The design of CDK
is also
really bad
and we've kind of
really deeply understood
that over the years
of using it.
Everything from
just like the design
patterns that the user
ends up interfacing with
to like
how it works
under the hood.
It is like one of the most
over engineered
craziest code bases
I've ever jumped into.
And for a while
I was kind of convinced
that
I kind of had a really good
excuse for that
YAML
which was
OK,
they
this was a bad decision
but I was like
OK, I'll give them this
which is
they want to support
multiple languages
and based off
what I was seeing
I was like OK,
maybe it's just
really difficult
to do something like this
across multiple languages.
So every time I saw
like a performance issue
like a design issue
I was kind of like
OK, this is probably
because they try to support
multiple languages.
But more recently
I've like
explored other projects
that are like competitive
with CDK
that do the same thing
and have the same
multi-language support
and they just did a much
better job.
So again,
like this is the type of thing
that AWS is not
going to executing at.
Like I
even the history of the project
I'm pretty sure
that they did not want
to make it multi-language
but they were forced to
because
there's like nothing
gets approved AWS
and supports things widely.
We have a bunch of people
that maybe were forced
into doing that.
You know, it just
just doesn't add up well.
So there's just a lot of
issues with CDK.
We do build on top of it.
We have patched
like the heck out of
a lot of these problems,
hit a lot of the issues,
solve a bunch of things
that they just
decided not to solve.
But we've hit a ceiling
and all the problems,
remaining problems
we feel that SSC has
are because of
the fact that we're both
on top of CDK.
So does that mean
you're going to eventually
start building out your own?
Yeah, so realistically
we're not going to build
out our own.
We're just going to build
on top of another deployment
engine.
So there's two issues
with CDK.
So we'll just bucket
just the bad design
and performance under one.
The second one is
it's just tied to AWS.
Like, they're all going
to help you deploy
AWS resources.
And more recently,
there's been a very good
un bundling of AWS
where you have
really great database
providers that are alternatives
for RDS.
So you might use AWS
for everything,
but your database
might be somewhere else.
And for our product,
that's the case.
Like we use PlanetScale
with the rest of ourselves
on AWS.
Or you might want to mix
in a Cloudflare CDN
or you might want to mix
in things here and there.
So one, we want to support
multiple,
like other resources
outside of AWS
in the same
code-first approach.
So you're not like
clicking into Cloudflare
and configuring stuff manually
to connect to your AWS
account trying to sync
all the variables back and forth.
Like, we want to be fully
code-first.
And we want to fix
all these performance
and just kind of design
problems.
So we are going to move
or we are going to support
another engine
under the hood.
Like, we wouldn't build
our own because
it's challenging to do well.
It is very difficult.
And the main benefit is
you want to tap into a rich
ecosystem of providers
that are supported.
So if we do our own,
we're stuck maintaining
all of those.
We haven't decided
what it's going to be.
It's coming down to Terraform
or Pulumi.
It's going to be
between those two options.
Given the recent Terraform news,
you're probably not as keen
to pull the trigger on that.
OK, so with that whole thing,
it ended up, it's a very
complicated situation.
So we were really thinking,
OK, we're probably going to do
Terraform, but we need to
evaluate everything.
You can't just make an
arbitrary decision.
Then that Terraform thing
happened where they, you know,
the BSL license.
But then that kind of moved,
that kind of forced Terraform
to be put in this really
appealing position, which is
it got forked.
It got funded by like a bunch
of competitive companies.
So like, it's kind of nice
of a diverse set of companies
that is just one company
running it.
It's like, I think, five or
six companies that are committing
like a lot of resources to it.
It got accepted into the Linux
Foundation.
I think they're applying to CNCF
also.
So it went from being this
like very kind of corporate
sponsored thing to becoming
like a very traditional open
source project almost overnight.
So they kind of made that
happen.
So now it looks a lot more
appealing.
It's a reality.
I don't mind.
I'm generally not someone
that's very extreme about open
source.
I think for most things,
you need to have some kind
of sustainability.
So yes, there needs to be a
company behind it and a company
to have some kind of
complementary business model
that that cleans the whole
thing.
It's totally fine.
But some things are very low
level, like a language, right?
If you have a language like
Go and Google was one day,
Google one day was like,
you can't use this to put
anything competitive with Google.
That just would not make any
sense for something low level.
Terraform, to me, is extremely
low level.
So the fact that they did this,
I was like, this doesn't make
sense.
This is something that belongs
in a foundation type model,
which I don't think makes sense
for everything, but for something
low level, I think it does.
So structurally, now it's in
a better place than it ever has
been, unless it's like four
completely falls apart.
But I don't think it will.
So yeah, so we're debating
between Terraform and Pulumi.
And I think for me, Pulumi is
like a much superior product.
I've gotten myself a lot more
familiar with it.
It is like shockingly
impressive.
There's like a lot of little
things that I thought were
really hard to solve.
They solved really well.
And it's just like severely
underrated.
I think it just hasn't, again,
because they were going head
to head with like or Pulumi,
an alternative to Terraform,
which is an infrastructure's
code tool.
You're just like in this
isolated like DevOps operations
world.
That stuff doesn't really make
its application developers.
So yeah, we're like
considering them very strongly.
That's cool.
I'll have to research Pulumi
a little bit more.
I haven't heard a whole ton
about it.
It is interesting.
I know, it's very underrated.
Yeah.
This like infrastructure
of code space has been,
you know, it's been kicking
around for a while.
I'm reminded of like there are
a few companies trying to do
DSLs.
Isn't there a company called
like, is it like WASP or
something?
They're trying wing.
Yeah, maybe that's what it is.
Yeah, yeah, trying to do their
own like sort of DSL for
describing cloud service
resources and everything.
And it's always a, it's sort
of a fascination,
fascinating exploration.
But I think there's something
particularly nice about like
especially having types and,
you know, having a little bit
more, you know, ability to test
things.
You know, there's there's
something pretty enabling
about that.
Yeah, you just have all these
classic situations where you do
need like, I agree that ideally
it feels, the stuff you write
does feel very declarative.
And I hate when the thing that
I hate is we give people the
ability to write code to
describe the infrastructure.
And then immediately go crazy.
They start writing all these
crazy abstractions and doing
all the bad things that you
can do with code.
And a lot of pushback for
infrastructure as code,
like specifically with like
actual languages is that people
do this type of thing.
I don't think that's like,
yes, you can do it and people
do do it.
But again, mostly because
ADK is not very good.
So people are forced to build
their own abstractions would end
up being like not great ones
because they just thought of
them in a day.
So yes, people can do that.
But there's just certain
situations that really suck
otherwise.
Like a very simple situation
is I've created a VPC and each
of my subnet's I want to deploy
these resources.
So it's kind of a for loop
over the subnet's.
So if you look at something
like Terraform, they do have
the ability to do loops and
conditionals.
But it's like definitely bolted
on to what's otherwise a very
declarative language or a very
configuration oriented
language.
So some of that stuff is
awkward and I used to be a
heavy Terraform user and I still
appreciate a lot of it.
But I don't think I would go
back again, just like you said
that the editor tooling also is
a huge thing.
Like the fact that it's just
type script and everyone's
editors for the most part like
supports that really, really
well.
You can do a lot of cool things.
Yeah, for sure.
At Oxide, we worked on
Terraform integration for our
racks.
And it's just like, you know,
it's a very similar sort of
thing.
It's just like, you know, always
there's this challenge of, I
mean, and this will be true of
anything.
It's just like learning the
sort of like primitives of the
tools and, you know, how it
wants you to express certain
things and how it maps to
systems.
But tooling matters a lot,
especially when it's
infrastructural stuff, because
you know, it's those things
where it's like kind of can be
easy to mess up.
I mean, I do appreciate
Terraform's ability to give you
like diffs of like, oh, here's
like, you know, the things that
we think we're trying to do
and here's how we'd roll it
out or whatever.
But so I don't know, but it's
still a world better than
Ansible and Puppet and like.
Oh, no, definitely.
I think Terraform kind of
invented.
I would give them the credit
for inventing it and how they
kind of really convince
everyone that this is a good
way to do things.
And now we're seeing iterations
on top of that.
And I still like really love
Terraform.
It's how I discovered.
There's a good before and after
for me. Like, I remember before
it, all my environments were
like 80 percent the same
and there were 20 percent of
things were like I did it in
production, but like I don't
remember exactly what I did
in production.
So staging doesn't match.
And like when I left out of
company, I'd have to like write
up all the steps to like here
all the steps like set up the
VPN.
Just all this stuff that just
goes away because the code you
write is also is also the
documentation for what you did.
Speaking of primitives and the
power that they can provide,
what are some of the primitives
that SST provides?
Yeah, so I would say
obviously we're going to start
since we're very serverless
focused, we would start with
the serverless function so you
can create function which can
just execute some code in
reaction to an event.
The most common place to put
this is under our API
construct, which is just an
API with a bunch of routes
that are mapped to functions.
When a route is triggered,
the functions invoked.
So that's great for synchronous
stuff.
So front end makes a request
back end funds with it front
end receives it.
But the biggest thing about
serverless is I actually, to
be honest, I don't even think
of it as serverless.
The architecture pattern that
people generally are following
like event driven applications.
So you think of your whole
system as a bunch of events and
things that react to those
events.
So that API request is just an
event and you have to reply to
it to synchronous event.
But you know you have all kinds
of asynchronous things that need
to happen.
Like let's say a user,
let's say it's a product
management app.
The user marks an issue as
resolved and you need to send
a email notification.
You don't want to do that
synchronizing the request
because that might take a while
and might fail and might need
to be retried.
You met an event that's
named something like issue
closed with somebody.
So we have a construct called
event bus that lets you emit
events into it.
We put in the effort to make
that all typesafe.
So you define the shape of
your event.
Then you can define receivers
that subscribe to that event
and get that in a type safe
way.
So you can say like here's my
subscriber for one issue is
closed.
OK, I got the event.
I'm going to send an email to
all the people that are
interested in this.
So I would say that's actually
all you need.
Like some kind of API functions
and a way of publish and
subscribe to events.
And the next layer of this is
obviously you get things like
queues because you want to queue
up work.
You don't want to do it fully
in real time.
We have support for a bunch of
databases.
Obviously databases are key like
we support relational
databases.
We support DynamoDB, which is a
fantastic option for sort of
those architectures.
And then so those are like on
the back end, those are probably
the most popular.
Some other random ones like
they obviously bucket everyone's
created a bucket at some point
to sort files.
But the last year we focused a
lot on supporting front ends
really well.
Historically we had like a
static site concept just for
like a traditional way.
We built everything,
at build time, deploy static
files like that type of
situation.
That still is probably 50% of
all the sites deployed.
But we've now had like very
native support for things like
Next.js, Astro, Remix, Solid
Start, SvelteKit, working on
Nuxed.
So these are more complicated
front ends that have a static
component, a dynamic component,
a CDN, like all kinds of
complex things.
And we try to look at how
companies like Vercell
or Netlify deploy stuff
and we like mirror that same
setup in your own account in
an open source way.
So those contracts are very
beastly and complicated,
but they do give you a very,
very performant front end
deployment that is,
in some cases, like 100
times cheaper than hosting it
with one of the more dedicated
providers.
So why would you go with
SSD over more dedicated
providers?
I mean, are there like other
benefits that you directly point
to is like, hey, yeah, this is,
we think, our real value add
over like Vercell or whatever.
Yeah, so if you I mean, if you
just look at that example,
I mean, I can speak to what we
see because we see a lot of
people leaving those platforms
and coming over to deploy
on their own AWS account.
The one thing that people
discount, but it is like a huge
driver, people just want one
bill.
They want one bill and they
want one environment.
If I spin up a bucket in this
environment, I don't want
to have to go log into Vercell
and then like put the bucket
ARN into the environment variable
and credentials.
If you have one environment,
binding that bucket to your
front end is like very, very
slick and seamless.
Databases, queues, all things I
mentioned can all just be
attached directly to these
these frameworks because they're
not just front anymore.
They do a bunch of back end
stuff as well.
So just that seamlessness is a
big part of it.
The second thing is we see a
lot of bigger companies.
I think the average individual
person building a thing,
this applies, I'm going to
register for them.
But for bigger companies, 90%
of their system is already in
AWS.
It's annoying to have to get
approval to go use this other
external thing, especially when
that external thing is insanely
expensive.
And as much as people get
excited about front end and talk
about it all the time, for most
companies, it's just a small
percentage of their overall
system.
It's weird to allocate that much
like resources and like
exceptions, like by putting
that outside AWS just for like
deploying your front end.
So for a lot of our customers,
just big companies that are like
yeah, we only deploy inside our
environment, we're not going to
have some random front end on
some other provider.
And the cause side of it is also
also kind of crazy.
Like pretty much every...
Like if you start to, if you're
like the ideal Vercel customer,
you're probably like an e-commerce
type company, which means you
are public facing and you're
doing a large amount of traffic,
especially when you have sales
or like Black Friday or things
like that.
You're likely looking at like
five plus thousand dollars a
month, which is kind of what
we've seen, like it's very
normal, just because the bandwidth
costs are so high for being
hosted on Vercel.
And I think maybe for like a
tech company that's like maybe
reasonable.
But if you're an e-commerce
company, like that is a lot to
spend on hosting.
So we see a lot of those types
of companies that come over to
us too.
So ultimately, it's that same
thing I said at the beginning.
If you build a very simplified
slick environment, you're going
to attract a lot of projects
at the beginning of their
lifecycle.
As they start to get scale, they
will tend to eject.
We just realized at some point
there's nowhere to eject to when
you're using Next.js.
But we created the thing that
you could possibly eject to.
And we're kind of seeing that
that happen now.
And it is important to get
traction because Next.js is
very complicated and we're not
Next.js users.
And the fact that we're fully
open source is kind of critical
too because we need our
community's help in figuring out
like, hey, they just launched
this patch version and they
broke this really obscure
feature that I had no idea it
was a thing.
And so people running those
tests and telling us here's how
to fix it is pretty important.
And at this point, that community
pretty much runs that project
on their own.
We're not super involved.
Yeah, as a Next.js user myself,
I have been for probably like
half a decade now.
The free tier is amazing.
Like, it's very free.
You can do a lot of stuff.
But once you break the free
tier, it's like, wow, I'm
just spending so much.
Like, when they first released
the serverless stuff a few years
back, I tried to move one of
like my side projects that I've
had around for around a decade
to all serverless.
And then I got the bill
and I was like, what the hell?
This thing cost $5 a month
to run on Heroku.
Why am I like, why do I
suddenly have to pay like
$100, $200 for like
hosting stuff?
So it is very nice to see
an option because as you're
right, there is no option.
And it's kind of similar to
what we were talking about
earlier with AWS.
Like, there's a little bit of a
decoupling here happening where
like a lot of people use
Vercel and depend on it, but
they are very, very coupled to
the whole system because of
how an XJS is built.
Yeah, it is a challenging
situation.
I think the one thing I,
this whole situation, the main
thing that frustrates me is that
that experience you just had
where like something that cost
$5 is now like, you know,
29 is more expensive.
That's a lot of people's
first experience with serverless.
So now they kind of equate,
oh, this is what it's like.
You get these like big bills
that make no sense.
But in reality, when you have
like an actual serverless system
built directly on the company
that provides those primitives,
like I have like shocking,
like shockingly crazy like
stories of how much money
people have saved.
Like there's one that I posted
like a year ago where
kind of standard Kubernetes
setup.
The thing that people forget is
when you're doing containers,
it's not just one container
for like a real company.
It's not just one container
you have up.
You need to have up a bunch
and then replicas and other
availability zones.
So when things feel like it does
add up and then you factor
in that like your,
those workers aren't 100%
utilized every second of the day.
If you really look at a lot of
the deployments, they're maybe
utilized like 15% a day.
Now multiply that by all the
copies that they have running.
Most people's deployments are
extremely inefficient.
So when they move to serverless,
they see like unbelievable
savings.
I think this company went from
several thousand dollars a month
like 70 dollars a month or
something.
But that is typical for,
for most companies,
like typical workloads are going
to be a lot cheaper.
There are like specific use
cases that are like just does
not make any sense for.
And you just go with the
traditional stateful workload.
But I think the current
perception is a little flipped
because most people experience
what serverless is usually
through a company that's
capturing those savings, right?
Like for sales, it's on top
with 100x markup.
You pay like not that much
cheaper, maybe even more
expensive and they kind of
capture all the savings.
Most of people experience
serverless is in that type
of situation.
So there's a lot of just kind
of like because I think
correct assumptions around it.
Oh yeah, I definitely echo
that like even just for sales
limitations of like 15 seconds
for a serverless function.
It's like I, in my mind, I
associated that with serverless
in general.
And then I researched a bunch
and is like, oh, you can
actually put that up to 15
minutes as they don't expose
the configuration option
anywhere.
It's funny because I, that one
I do wonder about because I
think they recently, I think
they bumped that from 15
seconds to something and they
recently did something else
where like you need to
explicitly say I want more.
But they don't let you go to
the 15 minute limit that they
have.
So I'm trying to understand
that I think it's because again
here's another challenge with
them. So for us, a free
tier type user costs us
nothing because they're
deploying to their own
database account.
They get the AWS free tier,
they get credits, whatever,
like that's AWS paying for
that.
But for Verso, every customer
they get, it's not like a
real company is a cost for
them.
So I think they're a lot more
aggressive with those limits
so that the overall cost of
their free tier is not like
overshadowing the companies
that actually pay.
It's, it's a challenging area.
I mean, I see a lot of what
they're doing is just like
selling a user experience or
developer experience as much
as anything else.
You know, it's like here's
the value that we add in the
time that we save around the
other areas and I guess
idealistically letting you
think about less things.
And I feel like that's where
like SST and similar tools
actually fit a really good
market because you know, it is
true that there are so many
capabilities that are available
on AWS and just like
pretty much anything you could
ever think of or ever need.
But getting into it, it's
just, it's a bear.
It's a real bear and
there's significant cost
and just onboarding and
ramping up and learning all
the things and the foot guns
that can happen where you
just like, oh, like
typically serverless is like
actually relatively cheap,
but I screwed up and I like
have this like step function
that calls the serverless
function and then like recalls
it like a million times and
now my bills like incredibly
high.
I think that that sort of
intimidation factor sort of
really going back to the
earlier part of this
conversation warrants more
product abstraction layers
to sit in front of that and
then giving people smooth
on-wrap from a more sort of
like just white glove turnkey
service like Grisel to a more
buffet style, choose your own
adventure AWS is a good
market to hit.
I think yeah, I think we're
all doing the same thing and
it's it's a right idea,
right? Like we're all
trying to all the companies
in the space are just trying
to make this stuff a little
more opinionated and therefore
a little bit more slick and
easier to use with fewer
mistakes that you can make.
I think the key full
solve a little difference for
us is we don't believe that
has any financial value
because it's just knowledge
at the end of the day, right?
Like once you know how to do
these things, it's it's
yours like you can just do
that yourself if you want to
with a platform like
Versailles, as what they charge
for, they charge for the fact
that they have this knowledge
and it's hard to get and
it's a high barrier to
acquiring it.
So that you know people
willing to pay for it,
which makes total sense.
But our goal is to basically
say, well, you can get all
that for free because it's
open source.
Like we want to get to a
place where like we eliminate
that I mean from a
competitive standpoint,
like we want to eliminate
that way of making money.
And it's not just Versailles,
they all allow the companies
that basically charge
this type of thing.
And of course, it's more than
just a knowledge.
Like there's a lot of things
that come together nicely.
But at base level,
we do think if we make all
this stuff fully open,
it's a little bit harder
for for people in this
category of companies to say
like to pay us just
so we can rehost yourself
on AWS.
And like keeping in line
with that like knowledge
guarding thing, do like the
dog.
Earlier, you said there's like
five things in AWS that I
really need to know about
to be able to deploy an
application.
Do the SST docs kind of
like help help coach me
through those like stickier
AWS concepts, presenting
them in a simpler way for me.
So I can be like, oh, OK,
yeah, I see the components.
I can mix and match.
Yeah, so we definitely do
that.
We of course don't think
we do that good of a job
and we like kind of like,
we just feel like we just
need to make that better.
I would say we do and we do
do that.
We only do an OK job with
that.
We need to do it.
We just need to spend more
more time there.
But you know, all of our
users so far, most of them
have been people,
especially lately,
having people that just did
not know about this stuff
before and they kind of
learned it through our docs.
I think it's funny.
I feel like every company
has certain size.
You just start to get like
crazy conflicting feedback.
Like we'll see tweets like,
wow, the SST docs are amazing.
Like I learned so much of
them is way better than
renaid AWS docs.
And then right next to it,
there'll be a tweet that's
like, like, I hate the SST docs.
Like, where's this?
I can't figure it out.
So yeah, we do need to do
a better job.
But we do know like something
at the core is working.
I feel like it's sort of a
common problem and you hit
this interesting area,
which I mean, AWS has as well
sort of, which is there's a
lot to learn.
There's a lot of concepts
and you have to figure out
what is the right pacing.
This is like how do I introduce
you to concepts and give you
what you need to know without
just like firehosing you
right off the bat.
And I think like AWS
tries their best to do this
by just like fragmenting
the hell out of everything.
So it's like you're in this
one little area learning
about this one little thing.
But like, there is a world
of stuff and just like
navigating around to like,
what do I even need to look
up can be insanely hard.
So it's a hard balance.
It really is.
And there's so many situations
that are just kind of
unbelievable, right?
So go ahead and match
this real time example.
OK, you need to have
some real time on your app.
You know that WebSockets
help you do that.
You go look up how do I do
WebSockets.
In AWS, you find something
called AWS API Gateway
WebSockets or WebSockets API
Gateway.
I've got what order
it's called in.
And it sounds exactly
what you would need.
It seems directly made
for your use case.
It's all serverless.
It seems to the right choice.
It's actually the wrong
choice, believe it or not.
It's the thing that you
would find is actually
the wrong thing for your use.
You need to use this other
thing that nobody knows
about called IoT Core,
which is like what the hell
like why am I doing
some Internet of Things thing?
Well, it turns out they have
a really, really great
service underneath all that.
That is a real time WebSockets
serverless thing.
Super performant, like
supports broadcast topics.
Like, it's like a really
great service, but it's
randomly in the IoT section.
No average person is ever
going to find that, right?
So for us, this is about
discovering those things
and saying like making
out the default.
And like you don't even
realize that it's weird.
Like from your point of view,
it's like oh yes, I do
real time stuff in SSD.
Yeah, it's again,
it's impossible.
At this point, unless you're
like really dedicated to
becoming AWS Pro,
it's just not going to happen.
So if I am an AWS Pro,
what does it look like to
like break out of those
primitives boxes?
Like am I able to use
like all AWS services
under the sun or are there
just like a select few
that I can tap into?
Yeah, so this is the reason
we did have to build on CDK
with why we couldn't just go
from nothing because we're
obviously going to do a
really great job for
the 5% of services that we
think most people need.
But again, it's like oh,
I need to use their image
recognition API.
I need to spin that up.
Like we're not,
there's no way we're going
to have time to build
something for that.
So our escape hatch is
always just going straight
to CDK and CDK supports
every single AWS resource.
So you can always use that.
Even for our constructs,
you can break out of
like the high level
abstraction we have.
If you need to configure
something super low level,
like we have in the escape
hatch in every construct
to access those lower level
properties.
It's really uncommon.
Even all of us building,
like we build using
our own product.
I think it's somewhat
common to need these random
other services to break out
of our construct and go
into some weird deep AWS
thing like we rarely ever
need to do that.
And this is kind of why
I said earlier like when
people try to do their
own abstraction like this,
it ends up not working well
because you only have insight
towards your current use case.
Our constructs came about
over like the thousands
of companies that use us,
thousands of complaints
we've gotten,
all they use different,
like we run them through
all the different cases
and make sure we can support
all sorts of things
while keeping it simple.
So we have a really good sense
of what's important,
what's not,
like what are you gonna need,
what are you not gonna need.
And yeah, I think our value
just comes from the size
of our community at this point.
Of all of this,
just something I'm curious about.
What do you think was the
hardest thing to get right?
One of the hardest things
to get right,
I think is actually
the most basic thing,
which is project structure.
So we have,
and you guys
hinted at this earlier,
so we need to establish
some level of opinion
of here's how to do things.
It can't be too opinionated
because it's brittle
and everyone wants to escape it.
And it can't be too loose
because then we're not
really providing any value.
And we're letting people do
things that kind of screw
themselves over.
So getting to a place
where, and again,
because we're built on top
of CDK and it's one of the
hardest parts of building DevTools,
your earliest,
most loyal users
are your weirdest users
because why the hell
do they try your product
and start using it?
Like they're like
a weird group of people.
As you evolve,
oftentimes,
the right thing for you
to build is not
what that group of people want.
So early on,
we obviously attracted
like AWS serverless people,
people with like
certifications,
people that were already
kind of in this world
and they had a way
of doing things
and where they wanted to do things.
But we realized
if we just continue
to build for them,
we wouldn't be growing
serverless at all.
We would just be selling
into the existing market.
So we had to realize
we need to build something
that could be tempting
to people that aren't
already in this world.
So that requires
to be more opinionated
and maybe in ways
that our current user base
might not like.
So understanding
when you're at that
like local maximum
and realizing to get
to the next one,
you need to like
kind of go backwards
a little bit
or like kind of lose
your current footing,
it's really hard
because one,
you like know these people
individually,
you like them,
they support you
early on,
making a decision
that means you're like
not doing what they want.
It's very, very hard,
but if you're not able
to do that,
you just end up getting stuck
and now that I've understood
that, I see it everywhere.
Like whenever a framework
comes out with a new version,
you see people upset
because they're like,
why are they changing
things for no reason?
Things work well,
they're overcomplicating
and sometimes they are.
Like stuff gets bloated,
there's like a golden window
where it was good
and then kind of gets bloated.
But other times,
it's the author recognizing
the ideas that we've had.
We're out of ceiling,
like we've attracted
everyone that would ever
be into this idea.
And that might be fine,
like that's like
something you want to like,
you're happy with where it is
and you want to continue
serving that group of people.
But our size,
like yeah,
we're not near
making that kind of decision.
So we need to keep looking
for ways to attract people
that aren't already looking
at the way we do things.
Yeah, and I guess the
sort of like adding frameworks
is a first class thing,
is like moving beyond
justatic side,
is a great sort of
on-rant for that.
A traditional hard thing
to do in any cloud
environment is local
development.
I've used a few serverless
frameworks in the past.
We've actually had some guests
on that had developed
their own serverless frameworks
and most of the time,
one of the things that they
talk about is like,
oh, well,
you like we provide this
like better experience
for doing local development.
So what are y'all's opinions
about that or what are you
trying to do in that area?
Yeah, so the way
SST got big initially,
like when they first launched,
the way I found it
was because they had
a really funny idea
with how to do local development.
So in this model,
when you're like really
letting yourself use
these like cloud services
like queues, databases,
all this stuff,
you want your local development
to actually be done in the cloud
because you wanted to mirror
what it's going to look like
in production.
And this actually works
fantastically well
for most scenarios, right?
Because everything in this
serverless world is usage-based.
So spinning up a copy
of the environment for me,
for you, for whatever,
doesn't cost anymore.
It costs nothing
unless I'm using it.
And usually when I'm using it,
I'm like well within the free tier.
So having copies for everyone
of the full environment
is amazing.
And some of the reason
why infrastructure is
important because you want
to be able to be able to do this.
But the part that sucks
is the feedback loop
when you're changing code.
So you update a function
but hang on, this function,
even though it's quote-un-quote
local development,
it's running in the cloud.
So you hit save,
it needs to recompile,
it needs to upload,
the function needs to restart.
And that's like,
at best,
I would say nowadays,
at least in AWS world,
it's like three seconds,
I would say.
It's not good.
Three seconds is not fast enough.
You really feel that
and you start to get distracted
even in a three second window.
So what SSD did
and originally was
we deploy everything for real,
except for your functions.
Your functions,
we deploy a fake function
and this fake function
runs in AWS.
Every time it gets a request,
it forwards a request
to your local machine.
The computation is done there
and the response is sent back.

So it's like,
we're running the function.
What's nice about this whole model
is everything's like event-based,
everything is meant to be like
transferred around like this.
So it's very easy
to implement something like that.
And what's great is
when you hit save
and the rebuild happens,
it's ready to go
at the speed that your computer
can rebuild it.
So now you've brought it down
to like 100 milliseconds
type of cycle things
and that's way more acceptable.
So for us,
like we mirror everything
except for that.
Even the function
that's running locally,
it's running in an environment
where it has like
the exact same credentials
it would have when it's deployed.
So if this function
doesn't have access to a queue,
you're going to get an error
because it's running
in a very similar environment.
So yeah,
I think our approach is
the only right way
to emulate the cloud.
It's actually running in the cloud
it's hard to emulate it.
Except for those one area
we're going to carve
a little caveat for
but we're still going to try
to make it make it similar.
And for some reason,
PDK, Sam,
Cerro's framework,
they have not copied this.
I'm going to tell them
and say right here,
please copy it.
Like everyone needs
to just copy this feature.
It is a good feature.
I know
and I've talked to some
private managers
from these companies
like that these projects.
Like I know people
are asking for it.
Just do it.
It's like a great.
It just works.
We've done been doing it
for years and it is like
the thing that
that hooks people.
That's very clever.
I love that.
Yeah, not my idea.
But I don't know
who gets credit for
either Frank or Jay.
I would Frank.
So the team is just
the three of us.
JZO
and Frank is
it's technically CTO.
Frank is very good
at coming up with like
freakish things to do
in AWS.
He's been doing it
for a long time.
So I imagine this came
from him.
More recently,
we switched it to using
the IOT core thing
I talked about.
So it now connects
over IOT core,
which is already provisioned
for you.
Nothing to set up
and it comes through
and it works well.
That's awesome.
Nice.
So one last thing
on SST before we move on
to the console in the future.
On the docs,
I notice you have
testing utilities
and I feel like for this
sort of thing,
you usually don't get
any sort of like
testing capabilities
shipped along with it.
So what sort of stuff
does SST ship for testing?
Yeah, so this is
I'm a little conflicted
about this because
the problem,
I would say,
and CDK does a lot of
stuff around testing
because now that you have
code, you're looking at it,
you're like,
I have code,
therefore I can now test
the code.
So people write unit tests
for their CDK infrastructure
code, but I don't think
they're very helpful.
And I think most of the time
if you look at what people
are doing, they're just
writing their code twice.
They're like writing
the CDK code
and then like rewriting it
as a test.
And when they change
the CDK code,
their test breaks
every time.
So they're not,
I think there's like
assumption that we need to
write tests for this.
It is useful in some cases
for some like really
specific things like,
OK, I want to make sure
that we never provision
a database that's like
exposed publicly
because that's all expressed
in code, you can write a test
that ensures that.
Or I want to make sure
I think snapshot testing
is great for these types
infrastructure code tests
because like you built it,
you know it works.
You don't really care
about that detail.
You just want to snapshot
that and if this ever
changes, you just want
to make sure the test breaks.
We use those tests a lot
because we ship constructs
to people.
We ship reusable
infrastructure code pieces.
So we want to make sure
changes we make.
We're not accidentally
like deleting a database
as part of this change.

So we use those snapshot
tests a lot.
But I think for the
for the average person
like you're not going to
you should probably
shouldn't have too many
of these.
We talk a lot about
integration testing
because again, spinning up
a clone of the production
environment costs nothing
and is going to happen
pretty quickly.
We typically have
people do a deploy
to like a fake environment
and then they'll do
the test with a test
or hitting those
resources or hitting
APN points, which
creates stuff from the
database verifying
the things that come back.
So we're really big
on like integration type
tests and then you like
smaller unit type test.
Of course, people can
still do.
That's kind of irrespective
of of our framework.
Yeah, that's one of my
biggest pet fees too.
It's just folks writing
a test that literally
rewrites the source code
or like or worse
is just testing the
framework.
It's like did the framework
do the thing that I
expected it to.
It's like, well, probably
not the place to test that
if you don't trust it
that much, maybe use
something else.
Yeah, it's very hard
to come with useful tests
and you tend to come
with useful tests
in the places you spend
a lot of time in
like your application.
You're probably not going
to come with too many
useful tests on the
on the framework side.
But like I said,
there are we do have it
in there because it is
useful here and there
and like we like
said we use it
and it is a question
we get.
Yeah, something we
talked to a lot of folks
about and we've
touched on it various
points in this
in this episode.
So SST is open source
or a lot of the stuff
around it is open source
and you know, we've
talked about Terraform
and the contention
with their licensing
change, which is really
just this underlying
tension of like
wanting to work
in the open and also
needing to pay your bills
and needing to
you know, build a company.
So you're obviously
building a company
and you have this product
which is SST console
and I'm assuming
this is your sort of
like inroads
to a monetizable feature.
So I'd love to
talk a little bit more
about that
and then maybe afterwards
just more about how
you think about growing
the business from like
what other value ads
that you can actually
you know, build
a sustainable
both open source
core and sustainable
business.
Yeah, yeah,
exactly.
So I'll say off
the bat like
everyone at the company
we're here to make money
we're here to try
to get super rich.
That's why we're doing
everything.
That's why we work
super hard every
single day.
We do it all
open source.
There's a very
variety of reasons
for that.
But there's like no
illusions here
that like
we're that's not
like a big motivator.
So it's like
like it is a big
motivator and I actually
think there's
something wrong with it.
I actually think it
actually leads to
could lead to some
good things.
Right.
Because we're very clear
about that
we talk
we talk about
our business model
every single day
like what type
of business we want
to be
everything from
like how do we want
to make money
given
if you're making money
like this
and your company
to look like this
is that the type of
company we want?
Yes.
No.
So we're very,
very clear on what
we want.
And for that
for us
it's completely
arbitrary.
Like it depends
on who you are.
All three of us
have
like I said
we've
said earlier
like I spent a lot of time
at early stage companies
all three of us have
we're all very,
very aligned
on
having
like a
ridiculously
small team.
And if you look at
our team right now
it's only three people
right.
Most of our competitors
are
five to ten times
bigger already.
The reason we want
to do that
is because
we don't
we want to make money
in a very specific
type of way.
Right.
We want to be able
to have literally
every single piece
of Kobe right
be
open source.
So even our paid
product
100% open source.
The reason we want
that is one
strategically
there are some things
that
are impossible
to do
they're not open source.
If you think about
these like
our next
as construct right
like Netlify
has their own
next
as hosting support.
Whenever there's
an issue with it
that's their own
internal team
having to prioritize
it and put on a road map
and figure it out.
If you have some
random
kind of fringe issue
with deploying
next
as a netlify
they're never
going to get there
like just realistically
like they have a huge
roadmap of things
that need to do.
If that was open source
like it is for us
they can just go in
and fix it
and have the flag
and we'll merge it.
Usually these things
aren't things
that need like
crazy amount of design
it's just like
you forgot to forward
this header through
it's like a random
header but I need it
I'm just going to go
do a PR for it.
So strategically
that's why we
are open source
a lot of these things.
Secondarily
I've always felt like
I've never written
any code that was like
so proprietary
that like a business
would fail
because somebody saw it.
I feel like most of the code
I write
you could eventually
they've come up with it
if you put in the amount
of time that we did.
So our console
which is just a very standard
not very standard
but it is a web app
that has no reason
to be open source
and that we don't expect
random people to contribute
to it
although we technically
have had one random PR
somehow someone submitted
it's like it's so weird
that somebody would
contribute to this
but they did.
So it does happen
but the reason
we open source that
is because we want to demo
us using our own tools
to build
not just our own tools
other tools we really appreciate
I like we're using replicache
and drizzle
and a bunch of other things
we want to like really showcase
here's how all this stuff
comes together
so that's why that stuff
is open source
it's more of like a showcase
it gets referenced all the time
people are like copying it
and putting their own versions
of it it's great
I'm surprised
cause it's like a very like
specific architecture
I'm surprised
how many people like
want to build something like that
so we like doing all that
on the open
it gives us stuff to talk about
it's really motivating
I can do all my work
publicly
I can stream it
like that's all fantastic
as a type of life
day to day life I want to have
but you know
we do have to make money
right
so from our point of view
like I said earlier
the active deploying something
okay we don't really want
to make money off of that
like we don't want to become
a hosting provider
we don't want to like charge you
to do a deploy
or anything like that
all that is completely free
we want to make sure
that grows as big
as it possibly can
like our wildest dreams is
the default for building an AWS
is SST
if we get there
that's like
like you know
you're already a massive company
once you're there
at a certain size
and we kind of
like we're already
approaching that
it's really easy to think of
optional
add on things
that make people's lives
easier once they're
in production
and charge for those
we don't even have to be
creative right
so once you go into production
what's one thing you definitely
need you need to be able to see
your logs
what's another thing you need
to be able to see
you need to
be alerted of issues
like you need to have
something like Sentry
so we just look through
all the different services
that we would add on top of
any application we deploy
and we build
honestly like a shittier
like a shitty MVP version of it
but they end up being popular
because it just works out
of the box
and it's the default
are we ever going to have
like the fanciest air tracking
that Sentry does no
but you don't have to set
anything up at all
you just deploy
and you look at the console
and boom all your errors
are there
no setup
it's like the default option
some percentage of people
it's not enough for them
and they will go upgrade
to Sentry
they'll go upgrade to Datadog
whatever it is
it's completely fine
but like
pretty much every
complimentary SaaS
product that you use
we could build like
a 10% version of it
that's just
just by default
so that's how we want to
make money
we want to make
really good products
that are complimentary
towards any SSD application
you build
not off of the framework
itself
directly
if that makes sense
and we don't want to be a
host
we've seen all the hosting
providers and like
it's a very very tough
business like
the thing you talked about
you have to mark up
so much
you have to be at such
a crazy scale
before you make money
the example I always give is
we all know AWS
as a host
and they make
an un godly amount of money
you look at something like
Google Cloud
they're in the exact
same business
but they've only recently
started making like
a tiny amount of money
like you need to be a crazy
scale to like
really be
for all to be worth it
as a host
but we don't want to do that
we like building nice
focused products
that feel good to use
that's kind of how we want to
make our money
yeah I like some of the
intentionality
that you've mentioned
over the course of the episode
so
that you know
you're you're talking
earlier about like
not charging
like a knowledge
gatekeeping tax right
this is like
no we don't care about
like charging you for
us hiding away the
primitives like we'll teach
you about them
and like you can just
use the stuff and that's fine
I like that sort of
intentionality because it's
like
often times
I think especially
start ups it's really easy
to just raise a bunch of money
and you're like
we have a cool product idea
we're going to build the
product and we're going to
figure out how we make money
later
and
you know it's great to
some extent
like it's great that
like people have the
capability to like
get the space
to really think creatively
about problems without
you know over concerning
about the product space
to some degree
but
often times it can
be very
extractive
like extractive
exploitative
or like something
very negative
when they do get around
the monetization
because it's like
the things that are
generally like
lower hanging fruit
are often not great
for like people
or society or whatever
yeah and again
a lot of this stuff
I think
a lot of our memory
of it of the stuff
in the last five years
where like funding
environment was really
crazy
and like
we're at like a peak
of not having to think
about this model
or even like
think about
remotely how this
company
how a company around
a concept
even make sense
so we've got like
a few big examples
but I think like Gatsby
probably was like
one of the biggest
ones where they were
like hugely popular
but like couldn't figure
out the business
ended up selling the company
and now it's kind of
like it's kind of
like a dead thing
we have a
there's a bunch of
recent examples
like that
and I think that's
led to people say like
oh
open source
it's like hard to
sustain open source
I don't think it's hard
I think
I don't think it's hard
in the sense that like
we don't know
how to do it
and like no one solved
it I think it's
people don't realize
that they actually
have two responsibilities
like one is to figure out
how to build a thing
that is useful for people
but also how to make it
very sustainable
so I think having that
like I'll be honest
like there are times
where I'm like
damn I wish I just had
two years to go
crank out on this ideal
version of SST
without having to worry
about our month to month
burn
I would like I
like I would love that
that sounds really great
but the reality is
is like
it's just kind of a fantasy
if I only do that
and I'm not forced
to think about stuff
as a whole
it's not actually going to
be a good product
in the end
like having to think
about these things
just like focuses us
so much
and when you try to
bolt it on after
it's kind of what you said
it's like extractive
it's like
the easiest thing
you can do is
oh shit we have a captive
audience
let's just like
do whatever we can
like they're stuck
we can kind of
whatever we can
to get money
so we can stay alive
it's been a lot
of people experiences
and I think that's why
people are very scared
of things like
vendor lock in
and things like that
but yeah
it doesn't have to be
that way
if you think about it
from from the beginning
yeah
have a small team
don't spend crazy
amounts of money
be very
yeah it does
be very realistic
about what your product
is you know
supposed to be
and how you're going to
make money
and be intentional
and I think
all good recipes
for success
yeah
this multi thing
is very important
because
the numbers are kind of
it like
really makes a difference
like if you look at
our burn
like having to make
enough money
to cover our burn
like I have a friend
who has
also like
it's not like
a huge company
but they're like
a similar stage
of a life cycle
that maybe like
10 people
like
the amount that
he has to
increase his revenue
every single month
for the next six months
to stay alive
just one month
for us
would cover
we'd be done
in one month
right
so they had to sustain
that for
it like
when it comes to these
tense moments
of like how do we
keep our runway
how do we like
keep operating
yeah we have to figure
out a fun
three of us
quite different
than trying to fund
10 people
and like also the stress
of like
but with us
like the three of us
you know
we're all like
it's like
kind of our thing
like we're all working
on it's our thing
when you have a bigger
company
there's people that are
there
they believe in the
product mission
but you know
you're responsible
for like
for them
and their livelihood
and they're not
necessarily in it
because they're like
trying to make
this thing with you
so that is stress
of that
it just
it is very hard
like we will grow
at some point
but
it's going to be
extremely conservative
and a lot of things
fall through the cracks
cause we're small
but it's just a trade
off
we have to make
yeah
I mean I feel like
I feel that
so working at
Oxide has been
really an interesting
experience
and this
because like hardware
is like incredibly
hard
and when you're
you know
building a super
ambitious
product with
l'Oxide's
like 60
something people
and for all the things
that we're trying to do
is
and sanely
small
number of people
even though
for a startup
it seems like
you know
a decent size
yeah
there is interesting
properties
that fall out of that
though
you think about complexity
different
you think about
like
what is the
what is the essential
functionality
that we need
and it really
you know
makes you like
strap down
and say
okay
we need to
work on this
in a way that's
sustainable
in a way that
we can understand
and communicate
about
and like
you know
document
and all these things
with
you know
the limited resources
you can't like
throw things over a wall
and expect them to get done
I don't know
there's
interesting properties
that fall out of that
and while it may be
incredibly stressful
for the people involved
in the time
that they are involved
it's like
it is rewarding
in its own sense
I think
yeah no
it's
it's
it's
it's
it's extremely
motivating
and
yeah you're never
like
we're never gonna
have a bloated product
you know
like we don't have
the resources
to bloated
and it's like
half the battle
right there
so moving on
to our last
questions
I think
since we have
the king
of spicy
takes in the building
we
we have to
ask this question
over the past few
podcasts
I've been asking
each
each guest
what their
spiciest
dev take is
you have
quite many
so
what is your
spiciest
dev take
right now
yeah so
I mean
I have a
I have a pattern
and some people
have picked up on this
pattern
where every morning
I'll tweet out
like almost
like
two to three things
back to back
like within this
pan of five minutes
et so people
picked up on this
and the reason
this happens
is I'm at the
gym in the morning
and in between
sets
like while I'm
doing my
my set
like I'm
thinking about
things
and in between
sets
all I kind of
fire them out
so every morning
I just have
like
something
right
some
I'm just
there thinking
by myself
today
the thing
I was talking
about was
this
I mean it's
in relation
to what
we were just
talking about
I think
there's a
lot
of
I would say
what's
what's the right
word for this
there's a lot
of
opinions
around
things
you inevitably
have to do
right
like
ah
people will say
to us
you guys
are three people
but like
and the way
you're working
that's cool
but
when you get to
50 people
that's not gonna
work
there's no way
that'll work
ah
so they kind of
discount
like
the way we operate
or the way
we do certain
things
and for the most
part I don't
disagree with them
I'm like
you're right
this would not work
for
a software
company
at that size
but
I think people
treat that
as inevitable
our entire
thing is
we actually don't
spend time
coming up
with process
for how we want
to work
the three of us
we spend time
figuring out
how to make sure
we never
become
a company
without many people
so that we have
to stop
doing the things
that we like
to do
ah
so I think
a lot
and the
reality is
this kind of
is
most people do
work at
much larger
much older
organizations
so a lot of things
they take for granted
aren't necessarily
true
and a lot of debates
that happen
tend to be between
the people from
one group
versus
a kind of
different experience
ah
the other side of it is
companies and the
environment
changes so
quickly
so if you work
a successful company
so this company
take a long time
to build
right they take
let's say ten years
if you're lucky
you know you build
a successful company
in ten years
you started ten years
ago ten years ago
I was just beginning
my career
I was like
lifting servers
and like
putting them
on things
ah
if I started a company
back then
I probably made
some really good
decisions
for back then
but ever since then
I've been compensating
for those initial decisions
through like
how the world
is changing
and everything
how everything's done
so now
whatever I'm doing
is a result
of those ten years
so
people kind of look at
like well they're a
successful company
they're doing this
so inevitably
you'll have to do
those things
but you don't
you won't have
to do those things
you're gonna have
a completely different journey
ah those companies
look nothing like
the companies that were
around when they were
being founded
you're gonna look
nothing like that either
ah and I think
there's just a constant
opportunity to like
invent the way
we do things
obviously there's like
timeless wisdom
and you need to like
really consider those things
but
ah
yeah my biggest
pet peeve lately has been
ah
this like
accept this
inevitability
of certain things
but
yeah it's
it's not gonna be
the case
and I think I brought
that up today
because
ah linear
is a company that operates
very similar to how
we like to operate
they're like
our idols
in a lot of ways
both from a product
perspective
even from a business
as a company perspective
and they post
they post something
about how like
they don't have pms
like the engineer
is wrong with the product
there's no like
a b test
they answer all about
having good taste
and of course
there's endless people
being like
well how's that gonna work
when you have a thousand
people
it's like no
they put in the effort
to build this crazy
high leverage business
that's never gonna
have a thousand people
but they can continue
to do this way of working
which they enjoy
for like the rest
of the time
they're there right
so
yeah I think for me
it's like
we should look at those
things of being like
the thing that they
pulled off
is not how they work
the thing they pulled off
is being able to work
the way they like
right
and I think most people
of big companies
are forced into working
ways they don't like
so that's
the thing I've been thinking
about lately
I guess
or at least today
that's a good gym thought
I enjoy your work
as Nega Kentsey Dodds
he posts
I like this
you wake up and go
I don't like that
yeah that was very easy
that was a very easy
period of time
where I was like
oh this is
I can just
whatever good feelings
Kent is putting on
a world I can
I can negate that
with some insults
and some offence
beautiful
yeah
this kind of reminds me
of like
people getting
giving advice
about parenthood
I don't have kids myself
so I'm not like
speaking from direct
experience here
but like anecdotally
I've heard something
is like oh yeah
you know when you get
to this stage
you'll be like doing this
and it's like
yo every kid's an individual
they might
they might be a monster
they might be an angel
you know you never know
yeah it's you
the specifics of your situation
like every little detail
makes a huge difference
like every tiny difference
like compounds
it's a
totally different decision making
we just have a tendency
to try to flatten
these like really complex
things into like
you know this very linear
no pun intended roadmap
of like oh yeah
here's
here's how things work
and it's just like
well they could
but they could also not
yeah
so we always like to end
on a future facing question
so you're in this
space
where you're sort of
overlaying on the clouds
you know giving people
an easier en road
and to learning how
to deploy their stuff
on AWS
and also providing
these like value add services
to you know get insights
and stuff to make that
that all easier
so it's interesting
that we have
you know the hosting providers
like Verso
like Netlify
approaching
sort of a front end
centric UX centric thing
we also have like
you know other contenders
coming in the space
you will
Cloudflare's been around
for a bit
you have Dino now
that's doing their KV
and they just announce Q's
there's like more
like back end
sort of providers
and I'm just curious
from your perspective
what do you think the future
of this space is
do you see like
more providers
continuing to overlay
on you know things like AWS
or do you
I don't know
do you think something
weird is going to happen
in the future
how do you see this
like industry
playing out
yeah it's a really good
question so
I think for me
I think the whole category
of these like second tier
companies
built on top of the clouds
I think it's actually
un proven as big as they are
and as like
much in the air as they are
these are not profitable
companies are not public
companies are not companies
that are like
we're going to be around
forever
it seems like they are
but we don't know
right
so I don't really
include them yet
in the future
I think the future
still is going to be
you have these
the hyperscalar category
right
so AWS
I think AWS
is only real threat
is Cloudflare
which
I think people
look at AWS
and GCP
and Azure
and put them
in the same category
I think GCP
and Azure
is going to be
kind of separate
I think the battle
is going to come down
to AWS
versus Cloudflare
because they both
are pushing
the most advanced model
of computing
which is
give us
the code
you'd like to execute
we are going to bill you
for the absolute
minimum amount of time
that it runs for
and the resources
that it uses
so at some point
AWS would charge you
to the nearest
100 milliseconds
right
we have something
that ran for 50 milliseconds
I rounded up to 100
and you got built for that
overnight
they decided
they were able to say
okay we got our economics
down so we can now
charge you per millisecond
so that 50 millisecond
function is now 50%
on the cost
which is
insane
people's bills
went down by
50% overnight
this is the same thing
as what happened
from the beginning
right
someone else would do
this big capital expenditure
of setting all this up
and they'll rent it to you
for the just amount of time
they use it
that was true for
co-locating
that was true for VMs
containers
like everything
and we've gone to this
crazy granular place
and Cloudflare has
something very equivalent
et c'est même meilleur
so they're not only
so they're also down to
okay one millisecond billing
but they also say
if your function is waiting
on a network requests
let's say it's making an API
call somewhere else
to sleep for 100 milliseconds
we're not even going to charge
you for that
but that's like
insane granularity
so we're like really
starting to push the boundaries
on granularity of compute
like how little can we possibly
charge you for
so these two companies
like you're just never going
to be able to catch up with them
because the scale
gets you more scale
which gets you lower prices
which gets you more scale
like they're just going to keep
going going down that path
it's very very hard to catch up
I don't even know how someone
would compete with
these things
so I continue to think
that they will be the ones
that dominate
I think they also have
the other primitives you need
around just the compute part
like they said
like the queues
the databases
all of those things
there's a few things you need
so I really believe
in those companies
there's some interesting things
that are coming up new
that I think
is also very compelling
so like I said
these mid tier
these like
I'm going to build on top of AWS
a hosting firm on top of AWS
I just cannot think of any cases
where that's working out
really well
so again just because
the margins are hard
you get squeezed
from both directions
so I'm not sure about that
category
but if you look at someone
like Fly
they recognize that
they recognize that
we could take the easy path
of building on top
but that's
seems like a shitty business
to be in
they are doing hard mode
so they're building
their own data center
they're building their own
like from ground up
everything
I can see that
being very compelling
because now they're doing stuff
that you don't have anywhere
else like globally distributed
containers
they have the margins
to actually make it all
make sense
like the unit cost
make complete sense
it's not the type of model
that I want
with stuff I want to build
but it is
like from a business point of
view like I
it is very compelling
like I have a lot more
faith in something like that
than just kind of like
building on top of
another provider
beyond that
I have no idea
like I think the only
pattern I can tell is
we are making compute
way more granular
it feels like we're kind
of at the end of that
like I don't know if we're
going to go beyond
one millisecond
but improving performance
there improving capabilities
there of course
but in terms of what
the next big shift
will be I have no clue
but I think it's going to be
one of some of the companies
that I've listed
continuing to be
be involved in that
I have a vested interest
in this and I think
making it easier to become
a high-price killer
is
you know
like cheaper data centers
and with that let's move
on to tool tips
let me get my screen up here
so my first tool tip
of the week is a post
made by browser tech digest
this is a newsletter
from former guest
Paul Butler
this is an interview
with the people who made
the rayon app
if you're interested
in like
local first
browser tech type things
you might want to give this
a read they go into all things
like building their own
a web GL front end
for the like editing area
to them using jam socket
to do the collaboration
so like
if you want a good interview
about that type of stuff
this would be interesting to read
and the product itself
looks looks very pretty
like if I ever have to
design a room I might use it
that does look very nice
I'm a huge local first person
our SC console
is a local first app
so I think a lot more
company a lot more product
should be built
like this
it just
the experience you get
is just
incomparable
like everything just
is super fast and snappy
this looks really nice
looks way there than
any I've ever built
but definitely in the same
same architecture category
yeah
I'm actually using it right now
so I just started
like I hired an interior designer
to help me like
take care of my place
and I was like
wait
I heard about this app
I can just like
third the floor plan on here
and we can collaborate on it
and it's just like
it's good
it's yeah
it's funny how we have
these cycles and software
like if you go back
to the 70s
nobody's running anything
on their own machine
it's all in a server
somewhere and you're connecting
to it via your terminal
and we've kind of like
come back to that
through serverless
and we're kind of coming back
to like local first
in the same way
like in the past
you really couldn't put
everything else in a different
place there was no web
it didn't make any sense
but then we had the web
and now we're like
oh yeah
that idea actually makes a lot
of sense
and we should bring that
to our web apps too
yeah yeah
exactly
we just keep making better
versions of the thing
that already existed
so long as that continues
to improve
next up we have Odin
the obsidian driven
information network
yeah
but I'm a user of obsidian
enjoy to use it for a long time
I've seen some recent
like novel AI interaction
applications
using LLMs
or whatever
but Odin is like
quite interesting
just because it gives you
more than just like
oh I'm going to generate text
it like does a lot of
things like
you know giving you
suggestions for how you
should connect or relate
things just giving you
sort of like deeper insights
about your notes
and also just like giving
some nice visualizations
and everything
it's a pretty well done
app
I think the most popular
obsidian plugin for this
is just like text generator
which is a great plugin
I don't mean to say just
in a you know
derisive way
but Odin is like
really really interesting
so if you use obsidian
and you're interested
in playing around with LLMs
and stuff
then definitely check it out
it's kind of cool
nice
yeah I could see that being
really fun to play with
if you had like a huge
notes space
Next up we have Popsql
so I think this is actually
pronounced popsicle
no I mean I don't expect you
to I mean I didn't
I think I saw somewhere
that they wrote
pronounced popsicle
which is yeah it's clever
so I asked a few weeks
it's been a few months ago
now like I just want
to be able to query my
database and give my team
access to it just
because we just need to do
things every once in a while
like look up something
debunk something whatever
and there's like infinite
tools in this category
everything from like
very developer focus
it's like a tool to do
database queries to like
really high level analytical
stuff and I was like
I like I didn't know
exactly what I wanted
but every single thing
I tried just felt kind of
janky felt like a little bit
off or like focus on a
use case I didn't care about
I ended up landing on
on popsicle it's in a
category of applications
I really like which is
they really show off
what you can do with the web
and that it starts to feel
like a native app
so at its core it's just
a really good
equal browser
it has cool stuff
like the editor has like
vimkey bindings
like it feels very productive
but it also lets you like
build like quick little
dashboards and then quick
little things for your team
to look at
set up all your connections
like invite your teams
everyone can access it
it really feels
like I like building web
applications that start
to feel native
this is definitely in the
category of that
I still think it could be
like a little bit better
but of all the things
that I tried
my requirements
being I had to be in the
browser I don't want to
install another thing
or have a separate window
this is yeah
this is my go to right now
we're doing SQL stuff
yeah that sidebar
seems interesting
reminds me a lot of like
notion just like
let's throw up a bunch
of things and have it
shareable and collaborative
yeah like we save all
the common queries
and we like put those
in a dashboard
and then we have like a
debug view for like
typical workflows
we need to run
when stuff is broken
yeah pretty useful
next up
my last tool tip
for the week is something
called flame AI
it's from
I've never said this man's
name out loud
Jaiman Holmgren
he is he works at
Infinite Red runs like
the react native
meetups and stuff
he has his own live stream
but he's been developing
this CLI tool called Flame
that has a very specific
use case right now
it is a CLI to help you
upgrade react native
using AI
I didn't know upgrading
react native came with
so many perils
that you might want
an AI to help you out
with it
but I think it's just like
pretty cool
like he's very upfront
about the cost
like a typical
react native upgrade
will cost you about
five cents
and open AI
API calls
but I think just this
idea of like
very focused
tooling that's like
using AI to do
something that I just
don't want to do
like if this could be
expanded to just
dependencies in general
I would install it
everywhere
yeah it's very cool
I think yeah
I've been loving these
like little focus
little use cases
because it's just like
technically it's not
the it's like the
UX workflow is annoying
like I don't want to like
copy paste every line
into jajapt
right
yeah it's very cool
I like the
it's like cognitive cost
of this for AI
is like five cents
but like what is the
human cost
de la
2 days of struggle
probable
yeah
I remember that always
being a problem
in R&T
I was always a thing
next up we have
dark matter
I don't think I've
shared this before
but it wasn't quite sure
I really
I have
have not
so dark matter
is a
little editor
for Astro content
so Astro is a framework
that lets you write
work down files
and deploy it as a
static
or semi static site
really great framework
love it
so dark matter
is from the same author
of the Inc
framework
the react
in the terminal
yeah
Inc is delightful
and and you know
dark matter
looks like it's gonna be
this sort of like
same quality
so
yeah just recently launched
indie project
giving you a
like a really nice
simple CMS
for your Astro site
so if you use Astro
and you just like
I don't know
want something to
quickly edit it
or better
if you're like working
with someone who's like
you know
not wanting to
edit things
and be a scode
then maybe this would be
a great
tool for them
so yeah
check it out
yeah that's a cool detail
that it like
it finds
zod things
and then just makes
like a form out of them
and then you have a CMS
that's
that's pretty clever
yeah
this is brilliant
because
being my wife friends
is a lot where
I just want to like
I don't
we're not
which tue was working
together
like
we have a good business
together
we don't need to like
set up a whole
big CMS
thing
I just want to completely
operate off of Mark
Downfiles and GitHub
but
having her edit stuff
and GitHub is like
a not great experience
but this is like
fantastic for that
it's like
totally solves
the exact problem
that we have
give her a good experience
which is operates on like
our normal code
yeah I really love seeing
more indie
small very tailored
very focused app
so
yeah
yeah
it looks really good
and then last up
we have replicash
so this is how we do
local first
stuff so our console
the SC console
is entirely powered by
replicash
me and my wife's product
is also powered
by replicash
it is a such a good tue
it is created by
it's a pretty small team
the founder is
Aaron Budeman
he
if you guys remember
back in the day
do you guys remember
grease monkey
it was like the
yeah so he's a creator
of grease monkey
he ended up joining
the chrome team
built a bunch
built like
the whole like
extensions framework
and chrome extensions
and all of that
so it's very good
at like
web stuff
like these like
these like browser features
like very good
browser stuff
so replicash
is a tue
that lets you build
local first apps
what that means is
data is synced
from your back end
to your front end
kind of like I have a
mobile app
I think a lot of mobile
developers are familiar
with this pattern
where
most of the operations
that are happening
in the application
are happening locally
so everything's instant
like loading stuff
instant
cause it's just
off your local
local disk
updates
are all optimistic
so reflected instantly
and changes
are synced to the server
and pulled down
it seems like
there's a lot of
products in this category
but this one is extremely
unique in that
they realize that
I think most people
when they think about
this stuff
they think about things
like
eventual consistency
and CRDTs
and like
that whole thing
like collaborative
like a bunch of different
nodes
working on the same thing
same type of thing
but they intelligently
realize that
most applications
are not that
most applications have
of course a network
of nodes
that need to synchronize
data with one
authoritative node
which is a server
most SaaS applications
kind of fit that
category
and the architecture
is completely different
and it simplifies
a whole lot of things
that you just don't
need to solve for
while
also not being
the type of solution
that just like
syncs your whole
back end database
to the front end
so this can integrate
it's going to be bolted
on top of any
existing application
there's just a specific
API protocol
it's implement to support
the sync
it is very complicated
it is quite hard
to implement
but if you are going to
do local first step
this is just like
the best way
and we've had so much
success with this
and the reason
why our console
is just ridiculously fast
is because of
replicache
and the work they've done
that's a cool note
I didn't know the
grease monkey guy
went on to be part
of the extensions team
and then eventually
this that's quite
the storied career
yeah
I have a story
that I haven't told him
but when I first
found grease monkey
I like used it
to
there was some like
stupid site
where you can win
Amazon gift cards
and like
but they didn't like
protect the gift card
URL
like it was just
an incrementing ID
so I like wrote a
grease monkey script
to just try every
single ID
and just like
like get a bunch
of gift cards
that weren't actually
issued to me
and I did it
and I like
stole like
a hundred dollars worth
and I bought
an Xbox hard drive
and then I scared myself
that I would get arrested
and I never
that I didn't
like let myself
get too crazy with it
but it's just so weird
this happened like
so many years ago
when I was pretty young
and this guy
is not influencing me
again
just like he's like
powering this other
thing that I'm doing
it's crazy
um cool
and then you had two
more of these
do you want to talk
about one of these
oh yeah
oh man
this first one
I want to make a whole
video about this
first one
this first one is
is insane
ah
ok
this is called
the heat it
and
it's a thing
that you put
on your key chain
and you pop it out
and it plugs
into your phone
ok
and what it does
when you plug
into your phone
it gets really hot
like this app
opens up immediately
and you press a button
and it gets really hot
and when it gets
really hot
you can put it
on a mosquito bite
it
it just
fixes a problem
immediately
I live in Florida
ah
in Miami
it's a lot of mosquitoes
so this is just
like the best product
ever
like I was just
constantly itchy
it just solves it
and it's just like a
weird
genius design
like
if you look at other
products in this category
they're just their own
device
but like I don't want to
charge
yet another device
and make sure it's charged
they were like
well you always have
your phone with you
and it doesn't use
that much power
so you just plug it in
zap yourself
ah I swear
it works
it just works
and I just cannot
believe it
the reason it works
is when
you get bit by mosquito
there's a bunch of proteins
that cause the itchiness
when you apply heat to them
they break down
very quickly
so if you apply it
ah
even if you wait like
5-10 minutes
you can still do it
and it
it just
it just fixes it
so just
it's like solved
a clear problem for me
and the UX is like brilliant
the only problem is
I upgraded to the new iPhone
which now is a different port
so
I can't use it
I literally
the other day I was like
I'm so used to not being itchy
now that it drives me
like crazy when I am
I was like running around
the house looking for my
wife's phone
being like
I need the port
but super random
like amazing product
yeah
given that you live in Florida
it makes sense
I went to the keys for a wedding
and I was good for like
90% of it
and I forgot
bug spray for the last 10%
I came home
and my legs were
like hundreds of bites
and they were small
it was terrible
oh my god
that's terrible
yeah
some people get it worse
and others
we have a neighbor
qui
qui
ne se met pas
ils ne s'en font pas
même une fois
c'est vraiment fou
c'est un grand plaisir
je trouve intéressant
que pas plus de gens
savent ce
parce que
c'est
un grand plus grand
dans l'Europe
juste
avoir quelque chose
qui peut toucher
et la seule chose
que j'ai entendu
c'est que
d'une fois
quelqu'un
parle de hot spoons
c'est ce que j'ai
j'ai utilisé les hot spoons
je pourrais venir
avec un spoon
et je ferais
et je me ferais
moi-même
oui
sur ce tour
un peu d'autres amis
sont là
ils ont un hot spoon
et ça a fonctionné
mais ils ont été
couverts dans les blisters
c'est comme
oui
ça juste marche
c'est tout pour ce épisode
merci pour venir
c'était un bon
conversation
dans toutes les choses
AWS et SST
donc merci pour venir
oui bien sûr
c'est un bon moment
merci
oui et j'apprécie
votre perspective
sur les compagnies
intégionales
je pense que c'est
quelque chose qui a été
beaucoup dans mon cerveau
et je pense que
c'est un des raisons
pourquoi j'ai appris l'oxydation
c'était la même
sort de
croissance
et d'être très attentionlée
sur la construction
et l'organisation
et je pense que c'est
quelque chose
surtout en ce moment
où l'argent est plus difficile
qu'on devrait
s'évanter beaucoup plus
donc c'est très bien
de l'expérience de votre
et
oui, SST
ça ressemble

Episode suivant:


Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere