This episode is brought to you by Beam OPS.
If your Elixir deployments are painful, or your infrastructure
is a mess, or you just need experience hands to help you
scale, these are your people. Beam OPS specializes in scalable
Elixir development, automated deployment pipelines, and
infrastructure migrations. They will help you work smarter
and ship faster. As authors of the Pragprog book
Engineering Elixir Applications, they know their stuff.
Check them out at beamops.co.uk. Secure your Elixir apps with
paraxial IO. From code analysis and bot
defense to dependency checks, they've got you covered.
Elixir first design with GitHub integration.
Elevate your security at paraxial dot IO testing.
What's up? I'm Jacob Litzow, your Elixir
mentor, and welcome to another exciting episode of the Elixir
Mentor Podcast. This is where we discuss
everything related to Elixir, from interviews with
enthusiasts, pioneers in the community, to innovative
projects and libraries shaping Elixir's future.
Today I'm joined by Vasilis. He's head of software
development at Teacher Space and he's here we're going to talk
LLMS, Ash, you know, just agentic software and Elixir in
general. And I'm sure we'll dive into a
ton more. Thanks so much for joining me
today, Vassilis. I really appreciate it and it's
great to meet you. Thank you and nice to be here.
And sorry if I butchered your name, I feel like I I'm not
doing it right but I'm trying. It was good, It was good.
All right. You want to for our audience
here, do you want to just kind of give us a brief introduction
about yourself, like where are you based?
What is your background? Kind of where did you start to
before you got into Elixir? Sure.
Yeah. So I'm I'm based in Prague and
basically so I'm it's where my parents grew.
That's a funny story and come from my agrees that both my
parents can like go up here and yeah.
So I've been working with Ellixi for like around 9 years now.
And yeah, so basically I guess like I started with with Ruby,
like most of Ellixi programmers do.
It was like around like I think 2000, like 14 that I started and
basically it was in college. So I wanted to start building
some, something like a product that I had in mind and started
looking around what can be used. And I found like Ruby and Rails.
So I kind of like got into doing Ruby and I kind of like really,
I really kind of started loving the language because like in the
school we were doing only C, Java.
So kind of like these, like I would say like not very
exciting, kind of like languages.
So it was really interesting to me to kind of like find Ruby and
it was very practical. He could do things.
I remember I was like working with us, the Rails book, I think
it's called, basically it's you're creating this like online
store. And yeah.
And I was like really excited about the language.
So I wanted to like learn more. I went to some meet ups in, in
Athens. So like it's a fine.
So I was kind of basically like studying.
I would go like I would take the train travel like 4 hours to
Athens and go on a meet up. And yeah, I'd come back
afterwards. And yeah, in, in one of the meet
ups, there was a guy, Jimmy, he's a good friend now.
And he started like talking about Elixir basically.
So, yeah. So that's kind of like my first
introduction to Alex here. A couple of years later, I
wanted to learn something functional and, and thought
Alexia was a good fit to like start to learn that.
And since then, I guess I was like an Alexia advocate.
So I, I really kind of started like language pushed it in.
At the time I, I was working in a small consultancy here in
Prague, or like it's, it's actually fairly big now.
And at the time it was small. And yeah, since then I've been
kind of like working with the Lex here.
I've been working mostly with startups going from yeah, from
like fintech to supply chain, like, yeah.
And now I'm working in a tech. That's awesome.
Very cool. So you you got like you have a
computer science degree. That was your background.
Well, not really. So basically so I dropped off
the university because like I started learning Ruby and it was
quite, I would say like I didn't feel I was learning enough in
the university. It was like very technical.
So we were learning things like electrical engineering as well
and, and kind of like, yeah, which is interesting, but I kind
of like wanted to like do things like imagine we didn't even
learn git in in school. So like it is something that I
discovered by. Myself, people still don't learn
git in school, which is wild. Yeah that's great.
You should be starting like group projects where you have to
use git and do pull requests and code reviews, right?
And they don't. Yeah, that's that's very
interesting to me, right. Like it was great.
Like when I discovered git have it was like, you know, like like
get in the candy store they say right.
So like it's like projects. I was like, yeah, so so I've
never finished the university. I just like went to work.
So when I started like doing the kind of like Ruby, I came here
to Prague for like 1 summer and I met some people.
They were very kind of like we started talking about Toby and
stuff. It was very exciting and and I
just started to work for them. Nice.
I, I kind of have a similar background.
I, I got my like undergrad degree in civil engineering,
which is like, you know, construction and building,
whatever. And I then got the smart idea a
few years later, I was going to go and get my master's degree in
software engineering, but all they were teaching was Java.
And I actually dropped out because of Java.
I like, I hated Java and I could just teach myself and move so
much quicker, kind of like being self-taught.
So I just went that route. And so software kind of the same
path. I I quit university and I've
taught myself, yeah. Yeah, I think like you can learn
a lot, a lot like in a in a company, like much more than
like studying. But I guess it depends.
Yeah. Like if you want to do something
very focused, like like it, it depends, right.
Like if you, for example, like want to do AI and you go to the
company doing AI, even there you're going to learn more.
But there's some things in the academic world that's I feel
like interesting, right. And, you know, definitely
there's also like many parts you can take from an academic
perspective and, and do a lot. Yeah.
I do, I do agree. Like you learn a lot of theory
and like computer science and like algorithms and like why you
do certain things, which is important.
But I think as long as you're self-taught and you're willing
to go and learn those things too, you're good.
Like go build. But then like when you kind of
hit the bump in the road where you have to use, I don't know,
big O notation or something, right?
Dive in and actually understand why, and then I think you'll be
good 'cause you don't really know what you don't know until
you run into it, right? Yeah, I, I remember when I first
started just, I could just build like an iOS app, right?
And I could get a couple screens, push some buttons, do
everything client side. But I thought I was like on top
of the world, 'cause I can, I can build software now.
Yeah. Yeah, and then the longer you're
in the game, you're like, dude, there's so much I don't know.
Yeah, it's a classic, the handout in Kruger effect, right?
Yeah, exactly. Yeah, it's funny.
So now you work for teacher space or is it?
Is it your company? No, I, I, I work for them and
basically it's, we just put a choir.
So it's like. Awesome.
Weeks ago and yeah, so we were a very small team.
It was like 3 people. So yeah, so I was the only
engineer there basically taking care of the whole system.
And yeah, we now go. To DevOps and everything.
Yeah, yeah, everything. And it's actually there's a lot
because there's a lot of integrations with like third
parties. So it's in the Danish
educational system and you have a lot of like basically I think
they are private companies that like work with the government
and they develop these like very large applications that like the
whole educational system is using.
So it's like big contractors and yeah, you have to integrate with
all of them, right? So like you have like 1
contractor that is like for basically the, the user
management kind of like the identity.
Then you have like different for like the schedules, others for
like grading. And so so a lot of integrations.
And I feel that's kind of like the hardest part because you
have some really modern partners that like use, you know, like
modern technology like maybe graph QL or something, or kind
of like they're using like view plug insurance and some others
that are on very old technology. So, so for example.
And yeah, so you have to like, balance it out, yeah.
Did it? When you integrate a ton of like
third party APIs, I feel like it's so hard to like, keep your
like UX peaceful and flowing nicely.
It's a difficult problem 'cause you have to like not only deal
with your errors, you have to also deal with errors you can't
control. Yeah, yeah.
What just like kind of like a a macro description?
What? What is teacher space?
So we, we basically build software to help teachers.
Like we have like various different like sub products I
would say. So we have one where it's helps
like with the video. So basically teachers record
their classes and then they can like receive feedback.
Customers are using it for actually different like us like
in different ways. So we have, for example, like
one of our biggest customers is actually a university that will
record that. Like it's not teachers who
record the videos, it's their students.
And then they are getting graded on the on those videos.
So basically it's students that are becoming teachers.
So they're students, but yeah, they're on on the path to become
a teacher. And then they have like as part
of the assignment, like they have to like take some take
videos and then there is a professor that like rates them.
So for example, that's one use case and then we have like a
chat with a with a RAC system. And this is more for like most
of our customers are like primary school is called like
right, like that the first school you go like the primary I
guess. Yeah.
And so, yeah, so it's, it's a chat with a, with a rack system.
We have like like a product to where they can like correct text
and yeah. And like you generate images.
So basically it has the element degrees kind of like the
generative, kind of like a type of functionality.
So yeah. But like the main goal is to
help teachers kind of like find like, like when they're starting
their journey and they don't kind of like know a lot to kind
of like boost them so they have access to the material that they
that is they can ask questions and, and yeah, things like that.
OK. So it's like kind of it networks
teachers a little bit. And yeah.
And teachers in like university or whatever that are becoming
teachers. Yeah.
So that's the, that's The thing is that like it's still a very
small company. Like now that we've we've been
acquired, we, there's going to be like much more use cases.
But up till now, it was like very small, like we have just a
few customers and overall like the whole operation you can say
was, was quite small and we're still trying to find the part of
it. So that was like, I think the
hardest part because the, the company did like a pivot like 3
times where they started with an idea of something that could
work. It would start like selling to
some customers and then they saw that kind of like, OK, this,
this wouldn't scale. Like the initial idea even
before I joined was to record videos so that the teachers
themselves, they can kind of like give feedback to each
other. And that kind of like didn't
work out because it's like it just didn't scale.
The teachers didn't have like time for it and it didn't make
sense for for like most of the schools.
So then we have to start thinking, what else can we do?
We created like this automated feedback where basically we
would like read and make a transcript from, from the, from
the video and then kind of like analyse it with an LLM and, and
provide feedback to the teachers, teachers.
But then again, that didn't work out because they either they
didn't have time to kind of like record the videos that come to
the first problem. But also they didn't like the
LLMS at the time. They weren't at the level of
giving good feedback. It was very hard to transfer the
audio correctly because you have and basically like Danish and
like bad quality audio. So the models weren't as good.
So we had to have like layers to kind of like improve the
transcription and and then kind of like it was very hard to
create the set, like figuring out how to create good feedback,
right? Like something that's kind of
like constructive and really helps the teachers.
So, yeah, so we can like spend a lot of time on creating this
product, but then it just like didn't work out.
So we have to do something different.
The fun, the fun of pivoting to find product market fit right.
I wonder if any companies nail it at the start because it's
always funny like the the hear what the MVP product is versus
what you have to do to actually make it whatever market ready.
Yeah. I think like if you're building
a SAS product and you can already have a customer from the
beginning, right, like you can kind of like have somebody with
a need. And I think that's the easiest
way to find product market fit is where you actually start
building for like a problem. Let that not, not just like you
know exists, but you have like the person like that that needs
this, you know, like the the company that needs it and you
start building for them directly.
Yeah. Yeah.
So you're a solo developer there?
Or not anymore, but you started off that way.
Yeah. Well, yeah.
And then so I'm I'm going to go down the like, what is your full
stack? Like you have Elixir on the back
end. You're using Ash I think, right?
We actually don't in teacher space.
So I'm using yeah, so in teacher space it's kind of like a a
classical, like a Phoenix with live view and yeah, like a ecto
and kind of like, I would say like the traditional Phoenix
app. And yeah, where I'm using Ash is
in in the startup that I'm working on.
Yeah. OK.
And can we talk about that one? What?
What is that start up and what are you doing?
Yeah. So that's like all communities.
It's basically, how would I describe it?
It's, it's a platform for, it's like a local first platform for
like social network, right? Where it focuses on, on making
the connection to a community. So through groups, like how one
could think about it is like if you put together like Google
Facebook groups, plus Google Maps and Craigslist, kind of
like all together. That's kind of like what what
you would get is so, so basically how it works is that
you can like register and you can see things that are
happening around you and you can join kind of like local groups,
see kind of like events, places that are happening around you.
People can like post items. So for example, they might want
to share some some things with others so they can kind of like
put it there. And yeah, so it's a social
network that is like focused on kind of like that what's
happening around you. And the main idea is that
everything revolves around kind of like the communities, which
are basically groups of people. OK.
Are the communities like based off regions or more like topics
and interests? So anybody can create like a
community that like what they would like to right now.
We we have like a very few communities at the moment.
So basically it's been really, really hard to kind of like get
people on the platform. And I think that's like that's
the biggest challenge, right? Like it's especially on on, I
think on consumer facing apps, like having the thought that
building something is usually the easiest part.
And especially that's what. I said.
So, so we have very few communities and, and most of
them kind of like are semi active, right?
Like people will log in maybe like once every couple of weeks
to kind of like see what's happening.
But it's not like like activity you can rely on.
And yeah, so we have like like one that's like around the
philosophy there was like a now it's like not active because
they only do it like part time of the year, but they do like a
Film Festival and and yeah, so. OK, what, what is like, what is
your ideal like use case? So like you have one that's a
Film Festival, but they're probably only active during the
festival and maybe a couple weeks before.
And then like philosophy, obviously, like anyone
interested would probably want to go there and chat about
philosophy, right? Is your goal to kind of support
both or 'cause I feel like they're, they're kind of
different use cases, right? Yeah.
And that's also like a challenge to like try to figure out what's
like to focus on like what I would think.
Like I'm still like figuring things out as I go, to be
honest. And but like 1 like how I'm
thinking about it is like, if you want to do an in person
community that you like meet with people and you kind of like
want to be able to track physical locations, track like
maybe items that the community like has access to, also like
contacts. So basically one challenge that
a lot of communities have is that they have like a concept of
an actor and basically an actor is.
A person or an organization that can help them with some goals
and yeah, they have like different ways of like keeping
all that information and yeah, I think it this can like this can
help organize it in some way, right.
Another thing is that, for example, like taking decisions.
So a lot of yeah, I can have like a like they want to take
decisions and like have everybody contribute.
So you either have to like meet in person or of course you can
have like a signal chat or something.
But yeah, it's there's kind of like a, a few problems from like
talking with people that, that this can help.
But my main focus is like to be for in person communities
because like I think there's already things for online like
platforms that are for online communities.
And I haven't found like any like good platform that's kind
of truly help solve the the problems of of in person
communities. Yeah, fair.
Do you? I don't know if you know what
meet up is. I don't know if that's a whole.
World. Thing or just AUS based thing?
No, no, like meet up is really big, yeah.
And yeah. So it's like, yeah, I would say
it's actually the closest to to what I'm trying to do.
But the issues there is that like it's not really helping
organize the community. It's more kind of like you have
an A host who host events and and then you have like the
members and this sense of kind of like doing things together.
It's it's not really there. So kind of like that's that's
part of the, I would say like the differences.
Yeah. I feel like meet up destroyed
their like monetization strategy during COVID.
Like they, they like spiked their rates.
They like tried to force every host now to like pay money and
like it used to be free. I don't know what they were
doing. It's probably just venture
backed or VC backed, right? But I don't know, I feel like
they kind of went downhill. Yeah, they changed ownership
actually a few times. So I think that's about right.
I think they they when doing as well financially as they wanted
to and kind of like it could sold the whole company a couple
of times and you know, like new pressures and and all that, you
know. That's the problem with too many
board members, right or investors.
I'm curious, what do you have like a monetization strategy or
what is your goal? Are you going to, are you making
money or not yet? Is it going to be free for a
while? So I'm not making money yet from
from it. The the idea is to basically
have memberships, but there's overall like many ways to
monetize it actually. So what I want to focus first is
to do like government contracts. So, so there is a business model
that you can like. So basically the idea is to also
help people become connected with their neighbors, with their
locality, right? Like support local businesses.
So the idea is to try to like, like, you know, basically work
with the government to find regions and try to basically do
pro social work. So basically help people engage
socially. Yeah.
Through through virus activities, organizing kind of
events and all. Yeah.
So this is something that seems to be working in Scandinavian
countries. There's like a few companies
that do that, but I haven't seen it happening here.
So I want to see if that's possible.
Of course, lately it hasn't been like easy because you know, like
a little bit of right leaning governments and everything.
So not the best time right now. And but I've talked with some
some people that are kind of like in a position to like help
me with that and they think it's a good idea.
But they told me there's that right now it's not the best time
to kind of like for projects like this.
So yeah, trying to kind of like, yeah, like with, I want to see
with time how it evolves because like, yeah, time change.
And also it's a lot about trust when you work with the
government, right? So they want to see something
happening and it having already impact.
And once you can like show that and they're much more like
willing to work with you. It sounds like a very painful
experience working on contracts with the government well.
It doesn't have to be actually like, it depends.
Yeah, of course, it's a developed cult, but it can also
be kind of like provide stability because like, yeah,
you can, you don't have like as much pressure.
And it sounds like what attracts me there is that of course, if
the government is not corrupt and you have like a good
government, which I think you're in Czech Republic, that the
government's pretty good, then you can do like pro social work,
you can do like something that's like really beneficial for the
public. And I don't know, I just like,
feel really good about that. That's kind of like what I want
to do is build things that like, help society in a in a
meaningful way. Yeah, I like that.
That's always, it's always a good goal.
Right now this this project is using Ash right?
Yeah. All right, cool.
Now what, what are like some cool features that you've been
working on? Because I know you're, you're
like, you're a big advocate of like Ash and agentic coding and
like it all kind of works well together.
And I, I know you contribute to a lot of open source projects.
And what has your experience been using LLMS and using the
Ash framework? So I think Ash and LMS work
really, really well. I've been actually very
surprised like in the beginning I thought because you know, like
Ash is like a niche like project in a niche language, right?
So I thought kind of it would be very hard to for LMS to kind of
like learn it and work with it. But it turns out it works
really, really well. And I think the main reason for
that is so like if you think about it, LMS are recognition
like recognized patterns, right? And then because Ash is kind of
like unique in a way it's written.
I think even if there is just a small amount of like data it's
been trained on it like knows that data very well, if that
makes sense. So you can think about it like,
let's say you have like JavaScript and there's like a
lot of JavaScript, different versions.
You have like Coffeescript pure script.
So even if there's like a lot of data, in theory, it could get
kind of like mixed up because it's like things that look
similar, but like they behave differently, right?
And I think Ash being like a very unique syntax, even with
just a small amount of data, like the LMS, they can kind of
like learn that and they get pointed to the right direction
and they know, OK, this is Ash and I, I, you know, it's kind of
like they recognize it and they know how to work with it.
So I think that's like one of the reasons why they might be
good. Also, like, yeah, so we talked
about it a little bit before is that it's, it's declarative and
you can like introspect how things work, right?
So like if you're using Tidewave, which I really
recommend using Tidewave with any, any Elixir project, then
basically it can look up how things are and it can get so
much information, right. So it's in LMS, I feel it's all
about getting the right context. And when they can get the right
context of how things are structured, it's much more easy
for them to to work with things. Yeah, regarding kind of like
interesting, like features. What I was like really
surprised. So basically in Ash you can or
there is like a project called like Spark that you can declare
your own DSLS. And I kind of like didn't feel
very comfortable kind of like using it, but there were some
use cases I wanted to write. So more specifically, like we
have this notion of and of like a community resource.
And, and what that is, is basically like a different type
of data that like a community can have.
So can imagine like a, a post or like an item, an event, a place.
So like there's like a like right now we have like 9
different types of like resources and I wanted kind of
like something to combine to like make it easier to create
more resources. But also like, do you have some
shared code, right? Some some shared like
foundations for, for all of it. And that is also configurable.
So like each of them can have like different settings, right?
So it was something that I knew I wanted to build like early on,
but I didn't like feel that comfortable like starting Spark
kind of like driving my own. I don't know, I just like felt a
little bit intimidated, I think, to be honest.
But I decided to actually just try to do something simple with
Spark through the 11:00. And basically it was to like try
sluggable, kind of like functionality where it can say
you sluggable and and then it kind of like makes things
sluggable. And like I say used because,
yeah, we're getting used to the use.
But basically you just say slackable in the in the
resource. And yeah, so I tried to kind of
like prompt that I explained to the what I wanted and I was like
really surprised that it made the Spark DSL.
It kind of like implemented the feature and it just like all
works like right off the bat. So that kind of was like my, my
start and think that OK, that's like like it can do even like
like the ones can do kind of like even things that you
wouldn't expect them to. And maybe it was like six to
seven months ago. It was like maybe longer right
now. Yeah.
So yeah, it's a while ago. And yeah, what was really
interesting is that then I kind of just like went through what
it did and I understood kind of like how like the Spark DSL
works, how kind of like you can configure it.
And, and kind of like, it was an interesting experience for me
because I learned that you, you basically, yeah, you can learn a
lot as well through kind of like LMS. You don't have to just like
generate code and kind of like, just like use it.
You can then like create it and understand it.
And it can like boost your, your, your learning curve, let's
say. Yeah, I would.
I got buzzers going off in my ear.
I would say I like realized like the upbeat of ash being really
usable by like Claude Coder. It was usage rules and I feel
like ever since that came out, it just was like night and day
difference too, 'cause I feel like once you like, like what
you're saying, you have like such few examples, but there's
really only like one way to do it and to approach problems.
Like once you have your resources and actions and
whatever the like authentications behaviors,
whatever you're doing, they're all, it's all done the same way.
So I feel like it's like such a repeatable pattern to keep just
producing more resources or domains.
And it's it's not I like so kill switch my little side project,
my SAS project, which by the way, is very hard to get users
on board. So I'm right there with you.
But it's been a lot of fun. But yeah, Quad code's amazing
with like helping me knockout features now.
Yeah, Yeah. They've become really good.
It's it's surprising, Yeah. I'm, I'm sometimes kind of like
feel uncomfortable because I, I can feel that you're delegating
too much and yeah, it's like, I'm just like afraid where this
goes, like if you continue on that route.
But the interesting thing is that you can start focusing on
on other areas, right? Like you can start thinking
bigger about the system. I don't think I would ever be
able to achieve so much and kind of like start thinking about.
I think that I don't, right. Like when I started working on
it, I was like very much, OK, I'm building like this product
and all my focus was on that. But now I'm starting to think
about like how to market it, like how to build a system of
kind of like creating leads and, and all these like things that
you just wouldn't have the bandwidth as a single developer.
So I think it's, you're gonna use this kind of like like you
delegate something like you start thinking more of as a
manager, I would say, right? Like where a manager doesn't
think about the, the degree of how something works, but like
how to make a project successful.
And I think that's kind of like what like the skills that enable
you to train like when you basically are work with the OMS,
you train your manager skills, you know?
Yeah, like I just had Luca on last week.
He he's ACTO or Co founder of a fintech and I'll he said it
perfectly. He's like, I never thought like
I'm a software engineer, right? I was never I never thought
coding was my job, like writing code.
He said my job was creating solutions and in it like, you
know, producing a product that, you know, solves a problem,
right? Not, not how you get there.
And I kind of like, I like that because we're just, we still
have to solve the problem, know how to solve it.
And now we just get a lot of assistance and a lot of the
manual labor that we used to do. Yeah.
Because like, like you're saying, it gives us more time.
Like I, I hate it, but I need to, but you have to spend more
time marketing and selling your product.
And now you can spend like it's a lot easier to do like 5050
split with your time when you can kind of just like, like if I
organize a feature, I keep, I, I try to keep my features like,
you know, at least like consumable, like not like just
go build this whole platform, right?
But like when I create a feature, I try to keep it like
very small and to the point. And I plan it out as detailed as
possible, But then I can just let Claude go do its thing.
Let Tidewave. I've been using Tidewave quite a
bit. It's a lot of fun, especially
with like UI, just like the ability to click on components
and be like, why doesn't this work like it should?
And it just solves problems. But like, you can kind of let
those things work in the background.
And I can be wasting my time trying to post on Reddit or, you
know, market my product, write blog posts, whatever it may be.
I'm not a huge fan. I'd rather be building features,
but I also want to be a product owner.
And that's, that's kind of the double edged sword, right?
You have to do a lot of things you don't want to do.
Yeah, I think what's important is like not to stop doing good
plans. And I don't.
And like saying the word plan now is kind of like you.
It makes you think about like the the plan you give to the
Kojic agent. But I mean more about
understanding the system and kind of like constructing the
system and having a good idea how the system is like wired
together. Because like I, I feel like when
I've, when it didn't work well, it's kind of like like when I
tried to use like LMS and it didn't work well was always when
I kind of like delegated too much of the plan, right?
Like I had like some like half baked idea and kind of like was
OK, like, let's see what it does with that.
And then I run with it for a little more than I should.
So I think that's great to kind of like get an idea of what you
want to build, but don't rely on that.
So like I think it's very important to have a good idea of
what you're building and yeah, and design the system.
Yeah, I'm not not delegate the design of the system.
Yeah, 100%. I'm going to just pause this for
about 30 seconds and we'll be right back as.
Hey, I'm Kimberly with Elixir mentor Jacob recently added
recruitment services to help companies hire pre bedded Elixir
devs. I help with company outreach, so
if you're hiring, I may be reaching out, or you can connect
with us anytime at elixirmentor.com.
Coding Elixir with AI or building AI into your elixir
apps. The Elixir AI collective discord
is your community for both link in the description below.
And we're back. All right, we got some we got
some good chat in the in the comments here.
Dharma, sorry, I probably butchered that, but he he just
said that it's personality driven development, like founder
mindset. The ability, I think like AI is
helping developers that are more entrepreneurial kind of own
their ideas, right? Like kill switch for me was an
idea I wanted to build for. I don't know, I want maybe
almost like 8 years. Like I came up with it eight
years ago. I wanted to build it, but I
always put it off because I just I didn't have time.
I was like what one like I, I'm not a front end developer.
I actually hate front end development.
It's not great. I hack my way through it, but
like Claude gives me the ability to now deal with tailwind and
all the things that I hate. And so now I can actually just
make kill switch in my free time and like make relatively nice UI
designs because I can be like, hey, Claude, look at this
website, look at this website. I want kind of like a mixture of
these components. Help me, you know, make my, my
branding or my, my color palette.
And it's been awesome. So now I'm a full stack
developer, even though I hated front end development and I can
build a product and like, I think like the cool thing is
like I'm a back end dev and so like security has always been a
priority. So I'm less concerned.
Like everyone's always concerned.
Like if you're vibe coding too much, are you going to have like
huge security vulnerabilities? And I would say probably yes,
but at least like I still review all the code going in.
I understand my DevOps to a degree and I know that my back
end work is solid. And so that helps me kind of
sleep at night. And I think I think like we're
going to see a lot more. I don't know, like I see all
these doom and gloom articles about like the end of SAS,
right? Because now everyone can just
kind of make their own products for to fill their needs.
But I still you still are going to have like well established
solutions that people will be willing to pay for because it's
not always that easy just to vibe code your own solution.
So. Definitely, yeah.
And it's a lot of the time it's also like the ecosystem, right?
It's not just like having a single particle, but it's how it
integrates with everything else. And yeah, that can be like a
harder problem, right? Like, let's say, right, like.
Anybody could like build like a a huge platform, but like making
it work at scale and and kind of like having the the people
there. That's the hard part.
So I think yeah, consumer products are definitely kind of
like, it's still like the mold there is kind of like having
this like network effect and having kind of like the people
there. And even for, for kind of like
salsa, it's kind of like business, like pure business to
business. I think like a lot of the times
we think we understand a problem, but we don't really.
And it's only when you get into that, the problem that you kind
of like see all the nuances. And yeah, I think if you're
naive to think that kind of like you already understand it fully,
then you're probably wrong, right?
Like, yeah. And if you do understand it
fully, you probably see that, you know, like all these years
people like, you know, like these companies have put into
building these products, you probably cannot like, you know,
like compacted to kind of like a few weeks of bad development.
It's just, it's just impossible. Yeah, yeah.
And another good message in the chat is like SAS is no longer a
Moat. And I agree.
So I think we're going to just see a lot more products hit the
market, but we're also going to see a lot more garbage.
But I think that's kind of like that's kind of where competition
will just like kind of even things out, right?
Like the garbage is going to die and the good products are going
to survive. Or maybe the better marketers
will survive, who knows. Yeah.
But I do think like software is going to change a lot because if
you think about software, it has been about like managing
information, right? And we got a new way to manage
information now that is like very, very flexible.
So, yeah, I think a lot of the like the pipelines we had, you
had like a person that had like this flexibility and then you
have like these rigid systems that like were very kind of like
deterministics and they were doing something.
And then the person would like make these choices, right?
They would have like that. It's like like human
understanding and kind of like that the ability to kind of like
decide what's going to happen. And now we've built machines
that can't make decisions, right?
And that fundamentally changes how some software works, right?
Like so I think we're gonna see a lot like I do agree that like
a lot of the suspects are probably gonna you know, like
die out or kind of like they're gonna like change.
But it's not necessarily because somebody can like buy product,
you know, like a vibe coded product, but it's more about
like the needs are going to change, right, Because we're
going to be able to, we are able already to manage information in
a different way. And that's kind of like depend
on this human making a decision and that's no longer be going to
be like a requirement maybe in the future for some.
Have you have you or I? I guess I'm curious on your
take. I've heard a couple people talk
about like stop building products, just build like APIs.
What like and I I'm assuming like the angle on that is we're
going to probably vibe code our own personal dashboards to
consume AP is the way we want to consume them.
Like what do you think? Do you think they're?
Do you think that is going to be a direction things go like more
integrating clawed into our lives to work with Salute like
products we have out there? I think definitely there's going
to be I can see kind of like this idea of like having an API
having like a system that is easy to kind of like that the
machine can integrate with directly and it doesn't need to
to use the UI. So the fact that there's there's
a merit there. Yeah.
So I do think so. But I still think that there's
going to be like some need for for some UI.
But yeah, I definitely think UI is less important today than it
used to be because there's going to be so much like you're going
to have like your agent who's going to consume the API is
going to show you the information exactly the way,
well, hopefully exactly the way you need it, right?
But it can be a double edged sword, right?
Because a lot of these companies have put like time to understand
how a person wants to view the information and you don't always
know how you want to see the information, right?
So like you have like a product like linear, right, That like
managed to like there was been like like task management apps
for like so long. And then lunar comes and it kind
of like makes things a little bit faster, smoother, makes it
easier to like navigate around and and all of a sudden kind of
like everybody loves it, right, because it's makes the things
faster for them. And it it kind of like they
didn't even know how they wanted things to be represented, but
the moment they use it, they understand, Oh, this is the way
right. So I think like good design and
kind of like thinking through something and understanding how,
how somebody might want to see it.
Like I, I still, it's still a hard problem.
And I don't think LMS are at least for now, particularly good
at it, right. Yeah.
So, but they, they might be, I don't know.
It's kind of like it depends. And I, I, I think there's
definitely the definitely going to become better.
And already you can see that like, like a common thing is to
tell an LM to explain to you like a repo and, and make an
HTML page out of it. And that's been like really
useful, right? So like you can even like, let's
say like you write APR and then at the end you say, hey, can,
can you kind of like write me an HTML page that explains kind of
like what we did in this PR, what were the changes, how it
impacts the system? And it can easily give you like
an overview. That's, that's very helpful.
So yeah, I, I guess it, I guess it depends.
I'm honestly not sure, but I feel it's going to be less
important like the UI. Yeah, I don't even think we we
know where this is going either. Like I think the way we probably
consume software is going to be drastically different than we
are today. And I don't have the answer.
I just, I, I just feel like we're not doing it right.
But like back to Ash, I'm not sure if you saw it, but like
recently there have been a new release of like Ash TypeScript,
it's called and basically it's a project.
I have seen. That yeah.
So I started. So basically I had this idea of
nature orchestrator basically. So the idea is that you have.
So it's interesting because like I had this idea and then I saw
an exact product on on GitHub called paper clip.
And basically the idea is that you have like you have the
project, you have like issues of, you can create like issues
of the project. And also you can create goals
and then you can like create agents and you can assign issues
and goals to the agents and they're gonna like work on it.
And the interesting idea is that like when you have like a goal,
the agent can like read that goal and it could create its own
issues and kind of like, you know, like work of that.
So so basically you can like define project in terms of like
goals and issues and have agents like work on them and you kind
of like create this organization structure.
And so like paper clips specifically tries to do this
thing called like autonomous companies.
But yeah, have like this a similar idea and I was like, OK,
I'm going to try to kind of like work on that.
I just saw like that our stride sprit was came out.
So I wanted to see how it works. And so I basically kind of
created this like plan to where I kind of like told it like how
we want to integrate, kind of like what are the tools that we
want to use? And, and yeah, and I started
like building it and it's been working really well.
So like highly recommend. So basically what it does is
that it takes all you can define which resources you want to be
mapped into like JavaScript. And then it creates like this
RPC interface so that you can basically work with your
resources directly in, in React and create like, yeah, the front
end. So that has been working really
well. That's pretty cool.
Like that's one thing I think kind of like like with live is
with live view that like live view is great for for like back
office internal thing, even like I think like SAS.
But when you like, The thing is that the ecosystem, like the
JavaScript ecosystem is like so huge.
So there's always kind of like these things that you will want
to through kind of like the JavaScript ecosystem.
And then you have to kind of like like basically combine live
view with the JavaScript And honestly, hooks are working
really well. It's like a very good system and
kind of like how you can like use hooks to use JavaScript
with, with live view. But I always feel like you have
like this, like this connection and it's still like a lot of
like libraries and like there's a lot in the JavaScript
ecosystem. And I sometimes feel that we are
trying to fight it too much when embracing it.
And kind of like just like using it would just like make some,
some stuff like much easier, right?
I don't know, like there's always been kind of like this,
like this gap to bridge. Yeah.
And it was interesting with like, I feel like it's, it's
just like integrate. It's very nice.
So we can, you can integrate the hard parts like, so you don't
have to like build like APIs. You don't have to kind of like
make clients on the front end. That's like all handled for you.
And you can just like use your resources and and use kind of
like established libraries and, and on the front end like React.
And I don't like massage CM for like styles and components and
just like works. So.
So that's been a really nice experience.
Yeah, that I got to probably look more into it.
What is your current? What is your front end for your
communities app? So that's live view.
Oh, it is live view. OK, OK.
And then do you have a mobile app or no?
No. So I have like the web
progressive app. So I'm like using Wow, but it's
not a mobile app. And that's kind of like one of
the like the challenges is that like almost like it is essential
to have like a mobile app. And I'm trying to figure out how
to do it like effectively. And it's been, it's kind of like
hard to get like an Apple, like, AW, like a web progressive app
published on the App Store. And it's a little bit easier on
Android. But yeah, so then I kind of like
want to go into that. It's kind of like in the back.
Look, I have almost everything ready, but just like, yeah, have
to go through that, Yeah. Apple's such a pain in the butt.
I've been trying. So like I kind of have kill
switch set up as like a PWA right now and it works great on
a desktop and on on iOS mobile though, for whatever reason and
if anyone's listening and knows how to fix my configs, basically
I don't know if it's like in my manifest or where I'm setting
up, but like where I load on my dashboard looks perfect.
It's all the UIS exactly how I want it.
The second I navigate to another view, the browser like
navigation pops up and it's like no longer.
It no longer looks like a PWA and I can't figure it out for
the life of me. I don't know what I'm doing
wrong but it's super annoying. Maybe I can, like help you with
that, Like they can look at it, yeah.
I'll share my code, feel like what am I doing because I know
it's probably something silly. It's probably just because it
shouldn't be difficult to set up a PWA.
Yeah, like it it, I got it working on kind of like the
browser. You can like audit everything
like works, but it's still not like a, like it wouldn't be an
native app anyway, but it's still not on the App Store.
And for some people, it's kind of like they just want to have
it on the App Store, you know? Yeah, there's like a level of
trust, I think having it on the App Store.
And I don't know, I don't Apple might have changed this, but I I
don't think you have access to any kind of notifications
without going through the App Store.
You do, but you have to open your app.
So basically you only get the notification on opening the app,
which is. Kind of pointless, yeah.
Then you open it and you just get flooded with a bunch of push
notifications. Yeah.
Yeah, that's so dumb. I feel like Apple has gone so
far out of their way to stop Pwas because they want to just
be greedy and force everyone through the App Store and get
their 30% cut or 20% cut. Yeah, yeah, all.
Right, yeah, let's see what like I I don't know if I fully
understand like when would I want to use ash TypeScript like
I would use it in my live view apps instead of JS hooks or how
would I use it? So basically what if you want
like, yeah, if you don't want to use like live view and you want
to be fully on, on like the JavaScript framework, then yeah.
So that's that's that's the ideal use case for it.
And yeah, it So what it does is it automates all the API kind of
like interactions. So you so you get basically it
generates for you a client and you can use that client right
away. So you don't have to like write
the client code. It's generated for you and it's
generated with types. So you can use basically
TypeScript, right? And it's all kind of like typed
for you and all that kind of like work.
So you can think about it as like generating the client for
you and you can directly use a client and there's basically no,
no effort. You don't have to create the
API. You just use the the HTSL to
kind of like define the which resources you want to use and
kind of like any configurations you want to to to give and and
it just works. I see, OK, I love that dude.
Like that's actually it needs to be talked about more is how
awesome ash generators are for like the for your like your
migrations and all. Like have you ever had to go and
fix one of your migrations like add an index to it or any of
that using hash? Because I haven't.
Like, yeah, I can also like, think of all the time, like,
like the only time I remember, like there were sometimes I did
indexes and but then I realized that actually I wasn't
configuring the resources correctly to do the indexes.
And I kind of like, yeah. And if you wanna do extensions
or something like that, obviously like that, you're
gonna write the migration. Yeah.
But everything else like yeah, you can just.
But for like simple CRUD operations and like you, it's
just magical and you don't even have to think about it.
Yeah. And even like things that I
wouldn't expect. So for example, there is like
these like complex indexes that you can do on the vector and
vector embeddings and you can define that in ASH as well.
So basically it gives you the ability to basically, yeah, you
can configure almost anything. I haven't accounted really
something that you can, but I'm sure there are cases like that.
And overall, I would say the ecosystem around ASH is so good,
I'm surprised that, you know, it's, it's not like more
popular. And yeah, because like you have
things like Igniter, I think it really like changes the game in
many ways, right? And so I think in general, like
the, the libraries around Ash are amazing.
And if somebody hasn't like looked into that, I highly
recommend it. Igniter's really nice and like,
if you have any library out there to integrate it or set it
up with Igniter because it makes using your library so easy.
True. And and it's just the same with
usage rules. Add that to your libraries
because I feel like like instantly unlocks like a
superpower that you know, all of a sudden your your agent MD file
just knows how to use everything in your project.
What what does your current like workflow look like?
Like using claw? Do you use clawed code?
And how do you how do you plan a feature and write 1?
So mostly cloud code and I would say it, it depends.
Now I've been doing like the past couple of weeks, I've been
doing like a lot of prototyping since we kind of like got
acquired because we're launching a new product.
So I'm kind of like just testing things out.
So it's been kind of like like raw Proms and, and kind of like
reading code, planning basically what we're going to build and
how kind of like designing the system.
Yeah. So that's been kind of like the
past couple of weeks. But otherwise I've developed
this system where we make these plans and then implement these
plans. So, so the idea is it's kind of
like interesting, like concept, I call it like easy development
wrote like A blog about it. And basically you go through the
cycles of like you have like an idea.
So you have like 5 cycles, ideation, exploration,
specification, then kind of like implementation, and then finally
evaluation. And the idea is that you start
with a very rough idea, then you kind of like explore that idea
and kind of like understand what do you want out of it.
And then there's the planning phase where you basically like
make a plan and you kind of like the specification phase.
The specification phase, you specify what you want to build
and and that's kind of like of course where product is involved
in general, kind of like people who have input in in how it
should be. And then you go to the
implementation. And then finally you have like
an open phase where like maybe after a few weeks or after a
month, you kind of like assess of how the product was built.
And if kind of like there's like you can do like probably
iterations right after you ship. And so usually kind of like how
it works. Is that like either like help or
try to understand kind of like what the plan is.
And then I like I have actually a skill that I've prepared,
which is like more of a command where I roughly kind of like
tell it the plan. And sometimes we have like an, A
more official spec that we create.
And then I create like a initiative plan.
And then I go and I read the plan carefully.
I make any edits, I kind of like update it.
And it has like this very kind of like defined structure with
kind of like a definition of done.
And then I work on the definition of done items either
kind of like through like prompting nowadays.
And to be honest, like I prompt using cloud code mostly.
I will like look at the code and I have I have like this, this
flow like I call like interactive review.
And it's it's again like a dislike command that is like a
seven step command. But basically you tell you tell
the phone agent to read the read the changes that we've done in
this like branch present in a product oriented way the whole
features and how it impacts the system, how the system looks
now. And you basically say to include
like diagrams. And then the third step is you
have to create diagrams and present them and then wait for
user instructions. And, and then the other steps is
kind of like a like a after you get this, like towards the end,
it's basically kind of like to ensure that there's like good
documentation and, and tests and, and kind of like to do QA.
And so after I kind of like run the first kind of like prompt
where it's kind of like the initial specifications, then I
run through this interactive review where I kind of like look
at what it did basically from its own output, right?
And then I kind of like see if it makes sense, make any
changes. So I basically can tell it to
like change things. There's like this other like
command that I use that kind of like says like look at things
that you've like implemented and kind of like now that you've
implemented it, basically is there anything that you would
change or have done differently? And then kind of like you said,
these are we should ensure that there is kind of like that it's
architecturally sound and some other kind of things.
And yeah, so kind of like almost like sculpt it, right?
So basically you get like this like rough thing and then I
sculpt it. And then I finally kind of like
look at the like the code, like put create a bra.
I create a PR like review it from there, like the final pass.
And then like I merge it because I'm the only developer I self
merge for now. So that's dangerous, no?
Yeah. So I also self merge at least
with kill switch right? But I'm curious, do you find
like that whole setup and like kind of workflow can are is
clawed like one shot in things for you because you take that
time? I wouldn't say it's almost never
like one shots things. What I would say is kind of like
it goes like 80% of the way or like 70% of the way.
But then like the last 30 can be like the like, takes almost as
much time or, or like, well, basically the prompt, the first
prompt kind of like is, is like the easiest, right?
But like, I, I would say it's gonna, there's gonna be like
issues. And, and usually it's kind of
like more architectural or kind of like more like, not
necessarily like nitpicks, but like how I would like to see the
system like be right. So there's definitely kind of
things that I, I do afterwards and yeah, but, but it's, it's
rare for me to actually delve into the code and change things
myself. Like I've, I've seen that
especially like like lately that I'm able to describe what I want
and, and it basically gets it. Yeah, for the most part.
Like, yeah, usually where I go and like actually write stuff is
usually when I have like API keys and and configurations
basically because you don't want to just, you know, like tell you
this is the API keys. Can you configure it?
So basically I configure the API keys and then I say hey you got
there's like this. You don't trust Anthropic with
your API keys, do you? Think?
Like so I keep my production keys off off my obviously my
project and I manually put them on my server and then I let
Anthropic touch my dev keys because I care less about that.
But I am, I am like always paranoid because you know,
they'll like act like they can't go and look at your dot env
files, but you know damn well that it's scanning all your
files and reading those constantly.
Yeah. Like I know for a fact that it
definitely has like read through kind of like API keys that they
have on development. Like I guess now we just have to
rotate the keys more often and the best our engine kind of like
have keys that are not as impactful.
Like me working with the LMS a lot.
I do actually have a lot of the LM like we have like different
keys for for like Devon staging and for production and and but
like basically it's using the same model.
Like basically we host them on Asia.
So so if that he were where to be leaked, it's actually yeah,
they could kind of like charge us a bunch by using a key,
right. Yeah.
Yeah, like, I think about that all the time because like I, I
like have like Twilio set up for, you know, SMS auth and
messaging and notifications and yeah, if someone got that key,
they could just send text messages to everyone.
I'm trying to think like another damaging one.
I guess it could be like my S3 buckets, Stripe, Stripe wouldn't
be a good API key to get. Yeah, yeah.
But yeah, I've been extra paranoid.
But I, I am pretty LAX because like my dev keys, they're always
like obviously just for dev and like local hosts that
environments. But I feel like I would just, if
one of them started having like rate limits or weird, weird
access, I would just disable them all like instantly and
regenerate them, yeah. I think that's where like, like
there's gonna be like, we should focus on kind of like thinking
about how do we make systems that are resilient in that way?
That's kind of like, I can have like a kill switch, right?
Like or something. But you can kind of like, you
can fast kind of like rotate keys and things like that,
right? So because like if it takes you
like a few days to, to notice or rotate something, then that
could be an issue, right? So, and it can totally happen
like in a larger organization, especially I guess unless people
are taking up more things like the system becomes very complex
and and if you are like down kind of like focusing on a
feature, like remembering exactly where to go to kind of
like change that key of that service, it might not be that
straightforward, right. So yeah, having.
I just thought of a product. Well, I think you thought of a
product. I think we need like A1 password
or bit warden like a password manager for API keys and you can
enter like do API integrations, you can generate new keys and
revoke keys all from 1 dashboard.
That would be a really cool product.
Someone should build that. Whoever's listening, someone
built that of. Course you can create like this
whole security hole as well, right?
Because like you. Right.
You have to really trust. Yeah, you got to trust the
platform. But actually you can't.
Yeah, I don't know a good way you could do that.
You'd have to have API access kind of all through the client
side. And then you could, you could
encrypt everything client side as well.
If you store anything on the database.
Yeah, it would be. It's messy though, like 'cause
there's you want your client apps to be dumb for the most
part, right? They're they, they view data,
that's all you wanted to do. But then like since I've done
Killswitch and it's zero knowledge, I have to do a lot of
encryption and decryption client side.
And it kind of goes against the paradigm of what I think front
end should be. But yeah, there's like a a
balance I think you got kind of have to hold there.
Yeah, it's always, you have to expect that there's like
different types of users and some are gonna be like more
technical like like feel comfortable with kind of like
owning keys and and owning responsibility.
But yeah, like that's like why crypto hasn't like really
worked, I think is that like most people, they, they're not
ready to take responsibility or kind of like they're not as
technical, right. So yeah, it's too.
Complicated to get set up like what like to open a crypto
wallet, you have your your your key and then you have your
private key and you have to kind of understand how encryption
works a little bit, yeah. Or if you lose that or give it
to anyone, you lose all access or give away all access, right?
Yeah. And it's either like you, Yeah,
it's because for example, it's easy today to kind of like get a
crypto word, right. You can go on your phone,
there's like many apps that kind of like are crypto words, but
and either like allow them to have the keys and they can't
actually have access to them, right?
Like many work like there's some that work through like Google
login. So basically even if you lose
your phone or something, you still have access.
But the truth is that somebody has your keys, you know, like
and hopefully they're not gonna like do anything malicious with
it. But yeah, you do kind of like
somebody has to kind of like have that knowledge and and if
you're not willing to have the kind of like their own knowledge
and responsibility. And if you're not willing,
somebody else has to, right? Yeah, yeah.
I will say I have leaked some API keys on some live streams
and the Elixir community is are are pretty honest folks.
So no one, no one grabbed it and went and used it.
So that was good. And then I obviously revoked it
after the live stream, but it was it was active the whole time
and no one stole it. So that was always, that was
good to see. Nice.
Yeah, I think Alex is one of the, like, the sweetest
communities of encounters. Definitely.
Oh, that's kind of a cool idea. So Dharma in the chat here
saying that, you know, the whole API key manager is just
essentially a password manager, but I like keys like family keys
would make sense. That would be kind of cool.
Like you could actually have more you could actually generate
keys that point at a key and actually like never give access
to your real key too. So you could kind of kind of
like a a URL shortener or like a a redirect.
You could actually, that would be it guys.
This could be a cool product you could read like you could share
keys that go to your products API and then it grabs the actual
API key and returns that. And that could be encrypted or
handled however you want. I don't know.
I think we just really overcomplicated this, but I like
it. It's, it's also like, yeah,
thinking about if it has access to revoke because it's also can
be a security risk, right? Like if you can revoke the keys
and all of a sudden somebody's getting errors in production.
So it would also like the keys, it has to have the ability to
regenerate. Like how how is that match?
Is that on the client, right? So yeah, which could be on on
the client, but then like how does the client know it in the
first place if it is not signed into the platform?
So yeah. It's a cool product, but there's
some complicated architectural decisions to make.
Yeah. Yeah, that's a tough one because
like, imagine if anyone gets access to your platform, let's
pretend we created this manager of API keys.
And yeah, you could be like Community.
What is the name of your Community app?
Is it just Community? OK so communities I could just
be like I hate that guy and then I hack his API key manager and
then just revoke all his keys in production.
Yeah, exactly. And then your system blows up.
That would actually be a nightmare, but at least you have
the past the API key manager and it's really easy to just
regenerate. Yeah, but yeah, it's true.
It's true. Yeah.
So then you can recover relatively fast.
Great. The cool thing would be like if
you. That would be an interesting
thing. So what if it was?
If it regenerated, it would apply the changes directly in
your app. So basically the worst case
would be that your app restarts to like, apply the new keys, but
basically every time you regenerate.
But of course then you could do like a denial of service or
something. But imagine like when you
regenerate the keys, it automatically kind of like sends
the message to your app to kind of like apply the new key.
Yeah. So yeah.
What would be cool is then all your API communications all go.
It would have to all kind of, well I guess just retrieval of
keys would all go through your API instead of your environment
variable file, which I don't know.
I kind of like this idea. It might slow things down though
if speed matters on requests, but I don't know, I think
someone should someone should build this.
I don't want to, it sounds hard. A lot of nuances, like when you
start, if you get into it, you're going to discover a lot
of things. Maybe we should start an Elixir
mentor open source project and build this thing.
That could be fun, but someone should take take the the reins.
I'm too busy. Back to LMS, I'm kind of like
curious about, I've been thinking about this concept and
I'm trying to see what other people also like think about it.
But do you think that LMS understand or have the ability
to understand? I don't know, I think, I don't
think they have the ability to understand.
I think they have the ability to see patterns and copy patterns
and they're obviously really good, like search algorithms,
right, for finding data in a mass amount of data.
So I think it's just, I, I mean, I'm, I'm a complete idiot, so I
don't listen to anything I'm saying, but like, I just feel
like they're really good search algorithms, like, you know, next
level Google search, right? And then I think you're just
kind of using it as a pattern recognition and it sees it.
That's why it's like so good at functional programming and
immutable languages, right? Yeah, Cuz like a pattern is just
so much cleaner and easier to see.
And then it can just regurgitate and write code.
Cuz that's like one of the things that I always do.
Like you were talking about, you kind of have like a review
skill. I'll always ask, I'll always ask
it before like APR or even if I have APR open.
But like, are the changes in this branch?
Do they follow like architectural decisions and like
patterns that are already in the app?
And if it says that like a part of it sticks out and doesn't
look right, it's like it helps you find nasty code right it all
like I yeah, I don't know. I always ask it to compare
against itself, like do a get difference here and.
Yeah, yeah. That's the that's really
important I think for it to be able to like reflect and like
most do it naturally like most of them I would say.
Yeah, all the LLMS I have like thinking they basically reflect.
Well, LLMS reflect by default because that they're make that
tension mechanism is to look what you did before, right.
So they have like a yeah. But yeah, they like if you tell
them that they kind of like should like black critical
thinking. If they can't even do that, that
like, it definitely helps them kind of like looking at the
patterns and and and try to see if there's something like wrong
with them. Yeah, Daharma wants to know if
he'll see you at Elixir Conf EU. Yes, I will definitely be there
actually giving out the training.
So I'm going to be a trainer teaching about basically how to
create all enabled applications. It's an interesting program.
We're going to building this like to do app and that's the
foundation. So you have like A to do app
that's all done for you and then you start putting like a smart
functionality on top of that. And it's basically there's a
command palette and you can like type things into it and it will
do. So they can like tell it to
create tickets to move tickets to do like research on the web
and kind of like prepare some things for you.
So, so I'm looking forward to it.
Actually, it's my first time I'm doing, it's the first time I'm
doing training in Elixir conf. I've done one small training
about Elixir here in Prague some time ago, some like years ago
right now. But yeah, it's going to be the
first time in Elixir call. So I'm actually, yeah, I'm
looking forward to. That's awesome.
You'll do awesome. I'm sure it'll be great.
I I wish I could go. I, I tried to go to the the
Lisbon 1 and I got sick the the morning of my flight and had to
cancel the whole trip and then life's just been too crazy.
I haven't even had time to really travel, but I want to get
to Chicago this year. It it might not happen.
We'll see. Yeah, just life.
Life is crazy. Yeah, it sounds like a long, a
long travel, right Like to go to Europe, but I would imagine that
you would like to combine it with some vacation or?
It would have to, yeah, it would have to be vacation for sure.
But like, there's so much to see.
Like, yeah, like twist my arm. Where is where is the EU
conference this year? It's in Malaga, Spain.
Oh, OK, nice. Yeah.
So like, there's so much to see in Spain.
Yeah, it's my first time actually to Spain, so.
Oh nice. So yeah, like, I'm nice.
Oh, Daharma's giving his first talk too.
That is awesome. What?
Let us know what your talk is and do you need to be a guest on
my podcast? Maybe you do see, I always got a
recruit. I have to catch back up and I
have to. The worst part about my podcast,
or I should say the part that I procrastinate the most, is
scheduling the events to show up on my website.
I don't know why, but something about creating thumbnails I just
don't want to do until I have to.
It's so much work. I need to maybe get Claude to
start doing it for me, like integrate it with Canvas
somehow. I don't know if I can.
There's so basic to do to do what to.
To create like the thumbnail, like, you know how like, I have
your headshot and then I just have like, you know, I have like
the title of this, the podcast episode.
But then like, a lot of it is the same.
It stays static. But yeah, just creating those
takes a long time. So I always procrastinate it not
a long time, but more time than I'd rather write a feature for
kill switch, you know? So I'm curious, solo
entrepreneur communities, right? What?
What do you do to get the word out?
How do you onboard people? Is it just a lot of hand holding
right now and like manual work or what's your strategy?
So in, in the beginning, I was kind of like trying to find the,
the kind of like who would be kind of like irrelevant to the,
to the project. And now I'm doing like a lot of
networking. So I basically, I'm, I'm
becoming familiar with like, like community builders here in
Prague and mostly people who are like focused on like social
impact. So there's for example, we have
a partnership now with the organization called Big Act and
they are doing basically they're helping immigrants integrate
into like Czech society. So like Prague is around like
maybe like 20 to 30% immigrants. So there's a lot of immigrants
living here. And yeah, part of their mission
is to kind of like help the immigrants integrate and kind of
like be part of, of everyday life.
So, yeah, so kind of like working with them and just
trying to find people who are socially active and and try to
do like these initiatives. What I want to get into, but I'm
kind of like still haven't like gotten into it is to work with
people who are doing volunteering.
So organizations who are for example, like maybe they are
doing programs that like help like like homeless people or
somebody to like find food or shelter and basically kind of
like try to work with them. And because I really want this
to be kind of like about making your region like a better place.
And yeah, I think volunteering is a really good way to like
connect with people, socialize and, and also kind of like help
somebody and, and it's really rewarding like when when you do
some, some volunteering. So that's that's kind of like a
space I want to like see and find people and, and, and see
also kind of like what problems do they have and how kind of
like I can help them maybe like integrate there.
And yeah, so kind of like right now I'm more focused on kind of
like networking, trying to find like key people that could like
help me kind of like because I feel like what I would like to
do is kind of get into these organizations that are already
existing and already functioning.
And it's not always easy to kind of breakthrough, especially if
they are not very always welcoming to outsiders trying to
quote UN quote sell them stuff. So I want to kind of get
involved because my goal is to like help them really.
So I kind of like when I first show up as a human, you know,
like help them kind of like be be involved and kind of like see
through that kind of like how I can actually also build a
product that that that helps these goals.
Yeah, I think that's a good strategy.
I think people underestimate just knowing people, right?
Like if people know you and they like you, they're more likely
just to like trust your product and give you a try.
So I think that's a good strategy for sure, especially
for like a platform, like communities.
You kind of, you know, you get a couple, like you know, big
people or agencies on there, right?
And you'd probably see just an influx of use after that too,
because then word of mouth starts traveling and people talk
about liking your your product. Yeah, Yeah, it's true.
Yeah. But it's, it's kind of like
difficult what I'm now kind of like getting into.
And I really like the idea is I, I mentioned earlier that I'm
kind of like thinking about this or like building this product
that basically you have like agents and you assign them tasks
and and all that. And I want to basically what
I've like done is you've I've integrated with like ACMS. So
there's like the CMS code like 20 where it's like an open
source CMS is self hostable. So I hosted that.
There's also like a product called Affine that's also self
hostable and it's basically an open source notion.
And now the idea is kind of like you put agents to do like
research and try to find organizations and contacts and
basically like fill up your like CMS with kind of like relevant
contacts. And then you go through that
and, and kind of like have people to kind of like reach out
to. It's been actually hard because
like I, I found that it works best when you go through an
introduction like called, like called messaging or called
emailing. Like these people have got like
very few responses. And yeah, but like what I also
kind of like now want to do is I've seen that there's a lot of
podcasts that like people are talking about like relevant.
Like there's like a podcast here called like a chess plot and
check. And I want to write something
that like downloads the podcast, creates a transcript, kind of
like, and then like tries to find relevant people and kind of
like gives me information about them, tells me what their
projects are working on. And then kind of like creating
like this pipeline. And then you can like direct it
to like various, right? Like, yeah.
So kind of like I want to some more, more thinking about things
like that now, which, yeah, it's not like features, but it's
definitely things that need to get done.
It's actually kind of fun because like it's a lot of
authentic work and kind of like thinking about these like new
types of systems where they make decisions for you, right.
And, and yeah, and then just like unleash them.
Of course, I don't have a setup so they can actually send emails
or anything, but like generate leads and get information for
you. Do that like research part.
Yeah, we we have a funny, a funny comment from Star Mount
Pictures. He has the ultimate Save the
World show. Bankman Friedman.
I'm you're talking about Sam Bankman Fried.
I think the problem is, I think everyone starts off with good
intentions, right? And then like, money changes a
lot of things and then drugs start and it becomes more fun to
do drugs than actually save the world.
Yeah, the Sabre Complex, a lot of people have it nowadays, it
seems like. Yeah, I mean, like throughout
history there's always been like people with Sabre Complex.
But yeah, it's, it's hard. Like I feel that the pressure
on, on kind of like succeeding when you're like in these
circles, it becomes so big that you forget how to live and how
to enjoy your life, you know, like, and you're all you're
chasing is kind of like this external validation and kind of
get back. Yeah.
Yeah, yeah, slippery slope. I I've been thinking about my
own like networking strategies too, because 11 mistake that I
made was like, oh, I have an audience, right?
Elixir mentor like this is a product that I want to use.
So I feel like people listening to me would want to use it too
and not true, right? Like my audience, my current
audience wants to build things in elixir and learn Elixir, not
buy some random SAS product. So like I've been working on
like I need to start hanging out in like proper organization,
like where people are kind of like security paranoid, but they
think about planning for the worst case scenario.
I had to like get on podcasts that are outside of the
developer community and talk about my product and do that.
And it sounds exhausting, but I think it's like one of those
things that you just have to kind of you have to do, you have
to eat the glass and do things you don't want to do because
Killswitch is a cool product, I think.
And that like the best part that makes it the most fun for me is
like, I'm building it because I like when I add a feature, it's
like something I'm using. So like everything that I build,
I'm like already using. Like I use Killswitch for all my
stuff. So all my loved ones, friends
and family are going to get Deadman switch triggers if I
stop checking in and they're they're going to get videos from
me and I'm just going to make sure they they can't forget
about me when I'm gone. That would be fine and you.
Infowars, Oh, if I could get on Infowars, you know, get what is
Alex Jones, that would be funny. There we go.
I'll get on Infowars. I don't know if I have like the
personality for that show, honestly.
Do you know who Alex Jones is? Yeah, of course, of course,
yeah. He's he's.
A. He's an.
Interesting guy. What's that?
Oh, the frog's kid. That's hilarious.
Yeah, The funny thing is that like.
You actually like he has like some points in everything,
right? Like, there's like, it's not
like, it sounds absurd, but then you find out that actually,
yeah, there's been like some environmental changes and like
the fact actually, like, there are gays, there are frogs that
can change sex, you know? The problem, like I, I think why
he's like so entertaining, right, is like, I think he's got
some sort of autism or like Asperger's, right?
And he he has the like the right idea, but like the way he
delivers it, like you're turning the frogs gay instead of like
explaining what that means, like, you know what I mean?
Like he just jumps, he jumps, he jumps the gun and like delivers
it in like a really autistic manner instead of just like
communicating the problem. But he had he gets headlines
because of it. Strong, strong.
But like, yeah, what was, like the whole thing behind that?
I think it was like some pesticide that was being sprayed
on crops was like changing the genders of frogs, which is wild,
right? But like saying it that way
might like make people pay attention.
Yeah, yeah. Yeah.
Well, I think it doesn't always because like it's well, I don't
know much about it, just like from from, from things I've like
heard from podcast and stuff like that.
But it kind of like consumes a lot of information and it's like
you're getting lost in that, right.
So like you partly understand why you don't get the full
picture and you just kind of like know the the end numbers,
but you don't know the story. And I'm not sure he always like
knows the stories to kind of like, you know, like gets out to
the like the the numbers and it it just sounds absurd.
But then I just yeah. Yeah, yeah, I'm sure that's the
problem. Like you can only consume so
much data and retain it, right? And then like, it's like, I'll
randomly remember minor, like, weird, you know, stats or some
weird story. But I don't know how I got
there. And if I just like, randomly
blurted it out one day, no one would know what I was talking
about. But yeah, this has been a lot of
fun. I think.
I think we can, we can wrap this up.
Thank you so much for joining me today.
I really, it was great chatting, getting to know you.
Is there any words of advice or anything that you want to leave
our audience before we sign off? Like definitely check out Ash,
even if like it's, it's a little bit of a of a jump, but it's
it's it's so, so amazing. I would say, like I said, as a
project and yeah, right self right, your skills don't don't
go up coding your skills and commands like kind of like be
mindful, like it's really interesting.
Like words matter, right? So try to find the correct words
to to describe things and explore.
Yeah, I one thing I like, I want to add to that is I find myself
kind of like tweaking my skills a lot.
But like as you see things that don't work and like, you know,
if Claude or an LLM just kind of like goes off the board and
hallucinates in some crazy direction, stop it and like ask
what made it go that direction. And like a lot of times you can
like solve the problem and it'll be, yeah, it'll be like just
simple word in your skill MD that just this minor tweak could
probably solve the problem. Yeah.
So, yeah, if I'm like, for example, like it's, it's been
like there's been like papers that if you use words like
analyze it kind of like really can change the kind of like how
it approaches the problem, right.
So kind of like you really kind of like some, some, some
details, yeah, can matter in terms of how you phrase your,
your problems basically, yeah. Yeah, Yep, I agree.
Awesome. Well, Vassilis, thank you so
much for joining me. This was fun.
I hope your your elixir conf. What is the it's like before the
conference the the smaller workshop stuff?
I hope that goes well. I feel like that would be more
fun than like a big talk, at least less stressful.
Like you got smaller groups right?
I think so, yeah, like it's my first time kind of like doing
it. So yeah, it's longer, right?
It's like 8 hours. I feel really anxious like when
it's because I've also given a talk and in the past it's really
kind of like anxious when you know that it's just like we'll
have one hour and you have to kind of like do perfectly while
there's. I feel it's more relaxed.
You can like people are going to be doing work and you can kind
of like just observe what they're doing, right.
So it's definitely, I feel this kind of thing to be more
relaxed, yeah. Yeah, that'll be fun.
Well, enjoy. And it sounds like you'll get to
meet Deharma there, so that's cool.
And yeah, thanks so much. And for everyone that tuned in,
thank you for watching. And I'm taking off next week,
but then I'll be back at it with a guest to actually someone that
I work with that collects is coming on and it's going to be a
cool conversation. We're kind of changing the way
that we're writing code, which is kind of cool.
Like I think ID ES are dying because we're going to be
writing less and less code and it's more about reviewing code,
right? So little teaser there.
I think it'll be a fun conversation.
But yeah, I hope everyone has a good weekend and see you in two
weeks testing.