Hey, Welcome to React Round Up, the podcast where we keep you updated
on all things React related. This show is sponsored by Raygun and produced by
Top and Doves and Onvoid. Top and Doves is where we create Top and
Doves to get top and pay and recognition while working on interesting problems and making
meaningful community contributions. An Onvoid which provides remote design and software development services on
task basis, so clients only pay when tests are delivered and approved. In
today's episode, we will talk about material Y, which is a library that
I'm pretty sure that most of you are going to be familiar with, and
in today's show we have somebody that is well definitely much more well versed in
the library than myself and has even done some a few contributions to the library
itself, which is Dmitri Kovalenko. Hello everyone, very happy to be here,
and yeah, sure we'll be asking any questions you want about Montreal UI.
Just note that I kind of, like you know, retired contributors to
mateil Ui. I did spend like you know, so basically I've been working
full time for about a year on Matelli UI. But yeah it was yeah,
but then I left, so and I stopped my contribution though, but
I still like one of the top contributors by gitthub. You know, my
face is right on the GitHub profile of mateil ui, so you can check
it out. Awesome, awesome, And Dmitry, have I said your name
the correct way, Dmitryvalenco, Sure sure, awesome, Okay, all right,
and well my name is Lucas Paganini, one of the hosts in the
show, and joining me in today's episode are also the amazing hosts Chris Hi,
everyone and Peter Osa. Hello one. All right, so Dmitri,
let's get started. So I think the first thing that we should talk about,
since we talked about UI library is well specifically about mature uy. When
do you think people should care about it and when do you think people should
not care about it? For example, I do know that it is a
very opinionated library in terms of styles, Like we were recently talking about other
UI libraries that are very, very flexible in terms of how much you can
customize the components itself, and some of them go even to the point where
they only provide you the functionalities and you provide the entire style. And I
imagine that mature y is kind of like in the middle because I know that
it provides somewhat flexibility in terms of of custom styles and changes and et cetera.
But I also know that it still follows uh well, the material the
material design at the end. But yeah, how would you would you explain
to somebody if they should care or not about material UI. So like,
I will just clarify that it used to be very opinionated, and now they're
moving from the opinionated mature UI styled approach to the separate you know, like
headless components used to like do the same thing as radics, as like an
area or wherever I forget. There are a few of them headless UI and
all of this stuff, and now they have split in their library into base
UI and mature UI. Material is basically skin of matel ui design to you
the on the you know, the skeleton of the headless component used by the
component of mature UI, which includes a lot of like good things, you
know, all of the accessibility, all of the functionality, all of the
props used to be known by developers, so you can use both of this
modes kind of uh, but it is definitely you know, known by being
like Matre UI oriented. So like usually all of the big you know,
customers that are used to Mature youI there definitely often they are choosing MARIOI because
it is a good library that you can just pick and just integrate into your
you know, just take component displayed on a page and it looks good and
basically that's it. Like I don't know, today people who are starting building
their own design system are very rarely choose Mateli because they kind of lost the
competition of his headless UI libraries because they just started building it like a year
ago and the rod extent a that components who were there for a while.
I don't know, like I think I made this issue to create the un
styled components before all of this hype around them, and they were ignoring this
issue for six years and just started doing that, just finished that like doing
like a year ago. So yeah, I think today it's probably more still
more more about like you know, ready to use stylis components they can just
integrate into your you know, I don't know, at meant panel or what
if you like major you into your like you know, Core app and just
just use it as a because it's customization of the existing UI is kind of
weird with a new modes. I don't say that they are that popular.
Probably gotcha, Okay, So that's it's good to know that it is more
flexible than then I assumed, because that definitely opens up the possibilities of using
the library. So that's that's very good. For instance, For instance,
I still use the one component of majo ui, which is out a complete
hook. Basically it is very flexible and probably one of the best out of
complete implementation that I know, because I remember that like basically Olive Olivier or
Oliver or I don't still understand how to pronounce his name. I'm always forgetting
about that. Probably Olivia is like the main contributor and creator of majo ui.
He spent like I don't know, a year and a half building the
one auto complete component. So it is like literally like you know, the
deepest and the best optimized and the most flexible functionality out a complete hook that
I know from all of the other one. But yeah, so basically,
there are a few things that are very core and very useful inside mature UI,
and I'm happy that they're exposing that separately off styles right now. Already
Yeah, that that is very interesting. So why don't we talk about this
a little bit more. So, Let's say that someone is listening to this
show and they're like, I already have my inputs, Like I don't know
if I need a library for this, Like my project already exists, and
I already have the things that I'm working on, Like everything is working.
But you touched on an important point, like there are a lot of utilities
that were built to be used within the Mature UI library, and they can
be imported individually and used in the context of your specific applications. So are
there other utilities such as the autocomplete one that you just mentioned that you think
would be useful for people to know about. I don't know, like probably.
So basically, if your app is working, you know, like don't
touch it, why would you replace your component? There are still working,
right? If you are looking for existence, like and you need some kind
of you know, working, you know, accessible, like virtualized, optimized,
like I don't know, core component, you can look. You will
look for them, right, And just mature UI will probably be not the
first option, but it's definitely one of the one of the really good one
because mature your adapts are spending a lot of time because there are a lot
of users right of the base components and the I think it's pretty pretty decent
choice if you have like competition having mature UI because it's like the support because
you know it will be supported for a while for forever. Probably it has
like a lot of users, a lot of like testa in before, a
lot of like good you know, you know, like you know, process
around like contributions and all this stuff. So probably it's a good choice to
be choosing between like hadless UI, which is kind of dead right now.
When we started using it, it's like tailvin CSS based components and they stopped
actually you know supporting it. Raddicks is really good as well, and maturely
you are based is also good. So basically we have more you know,
choice, which is good. Competitions never is never been bad thing. Chris
Peter, Do you guys have any hands on experience with materii why? Okay,
Yeah, so personally I think I have. Yeah, so I kind
of worked on a React application that feeds solo on it. I think it
was like passion feels, I think the producing but before the new changes,
right, Well, I do have some kind of like I only say complaints
do but like reservations on my end for me too, and maybe Dmitry you
could just clear that thought as well, so I don't have as well as
working with out like this on the fontain, right, many of them kind
of see that it's it it's rigid, right, Like maybe for example,
I actually know someone who kind of dislikes the way material defined, like the
goals on the columns and this kind of things. I was like, oh,
if I could just do this with CSS easily and the club don't,
maybe better. So I don't know what to I'm just accing, So like,
what what do you think like coming to Okay, yeah, I know
that they were built, there was like a kind of a change, right,
so coming to like previous versions that of just many companies kind of I
see using the produce versions because that's kind of the version they're going to maintain.
Quite so, so did you see working on the previous ones? So
I did you see any door back or have you heard anyone from any developers?
Like you once you think that kind of gets to you that you feel
that are they're kind of like primary concerns as well, just like the example
I gave us, some people say they don't like how the API was built,
like for example the layout APIs and then the the idea of the atomic
CSS you can passing was like maybe margins ms pops onto. I know some
kind of people that don't like that structure. Right, so what do you
think, like do you have any consceransis about what have we hit from others
abouts how pre stopping constructed? Yeah? I think actually that they so basically
they did a lot of long way of having different approaches to style things.
So right now, I believe that there should be a way to target any
element of machel Ui and have the MOUI like me ui style and trigger it
globally from CSS because of developers actually like we're fighting for that, you know,
like we want to add mergent too specific like you know in CSS,
just just give me this option. And they did it. But I believe
that these limitations were did for a good thing, right because you so basically
like right, you know, if you have everything built in one like you
know, is a LITD approach your components or is related you never you never
touched them like you know, globally they can be mutated by global styles and
all of this stuff. It is like, you know, more robust solution
because you know that like your competents rendering, it will be rendered the same
way in like ten years because nobody will break it excidentially good at it or
bad it. Like probably everyone chooses for himself. So I personally did like
this. I personally did like this project. I think it's pretty good because
like you know, additional safety kind of, but the other developers who love
doing CSS and all this other stuff probably not. So yeah, we're just
like, you know, just choosing which one to prefer. Yeah, yeah,
I get that also, And the I think there was the point where
you kind of if you want to define styles, you have to create like
an object, you know, you have component and then kind of properly define
those styles. Yeah. I think that one was actually like that was changed.
That was changed. So basically they did use GSX right for styles GSS
not GSX, and now they are using emotion probably, so basically you can
use template literal liter roles, or you can use CSS files as well.
So yeah, I think it's now flexible enough. Before it, yes,
there was. Firstly, it was in line styles, which are annoying because
you didn't have harvards and all this stuff. Then there was a GSS,
which is kind of style components but using objects of styles, which was not
which was good but not good enough because people who are complaining, we want
to write CSS. And then they gave you completely, you know, freedom
of choosing how you will write your CSS, which is good. Yeah,
that's also yeah. Also that I also have another question in the access in
the aspeite of accessibility, so like and I don't know, I've kind of
worked on it to start a level with accessibility war do you feel that as
compared to other popular filmworks like maybe Chaka you are, Like, do you
feel much where you kind of kind of follows the whole accessibility ideology because I
know that when it comes to accessibility, a lot of people kind of mentioned
all that your libraries as accessible kind of that was like the kind of so
what do you think on accessibility as regards much where you are? I'm pretty
sure it is like you know, the best of the kind, you know,
the best, the best, the best in the world, probably I
don't know, like probably not the best, but I am pretty sure they're
following all of the accessibility guidelines. At least when I've been working on much
air components, accessibility was one of the top priorities, and following all of
the v W three C right W three C convention of how to build certain
components, like specifically like date picker, it's like a nightmare for the accessibility
perspective. You need to support average and it's like such a such a customizable
component and like greeds just the target is not less than one hundred percent be
accessible and tested through the accessibility trees. So yeah, I'm pretty sure it's
all all done pretty well. Yeah, that's awesome because I think I needed
that to be clear because I I know I've worked on accessibility for as well
as well kind of just it in the world, but there's some developers have
kind of argued that it's not this. That's so I think map that is
actually kind of cleared, that's actually very accessible for that filmot to you have
films. I'm also I have on a question again as we gods from the
ease of use right so, as I think Becle I talked about the API,
I'm kind of usually like opinions from people I've worked it as well.
My person my experiences, right, so many people feel that there's kind of
a learning CoV working with Macho yu are in this sense that the APIs are
kind of rigid. The music was from people where they feel that it takes
so much to do just easy things and use thatvel. So what do you
think about that? Or do you think that maybe that was actually a concern
previously and maybe the contributors contributors are trying to kind of work on how to
maybe you refine it or something. So I just want to know you're beyond
that. What people say about the rigidity of the APIs and hys been so
much Valua, I mean, like probably the wrong person to ask because I
use martual Euy since zero points, like you know, versions, which is
like very long time ago. So they basically core principles who are imigrated.
So for me it's very easy to use right now, you know. But
in fact, if if I am not, like, isn't it full time
right now? So I don't. I actually don't write. I still write
some somewhat react on my full time job, but I don't. We don't
use machell UI, we use tale Wing CSS plus radics. I love it,
but I still sometimes rejoin it back to machell UI because I have so
much like stings that I wrote for the years and mature UI and it doesn't
have problems, to be honest, like write it matell ui. But if
somebody does have and somebody wants more freedom, somebody who wants something more like
you know, closer to just HTML and CSS, just don't pick machel u
I. Right, it's like the difference. You have plenty of choice.
Why would you like, you know, force yourself doing things that you don't
like? Right, just choose whatever you think is more good or is it
to use more clear? Like, yeah, somebody choose Materia because they think
like, okay, we'll take the component, here's an API, I will
configure it and forget about it. Somebody wants to have like you know,
the one thousand lines of HTM al to configure one component. Why not,
like it's different do it in products? Yeah, that's that's that's that's very
correct. So now, because yeah, I think when usually doing that kind
of concern, I usually say maybe the kind of developers that are concerned about
maybe maybe tail wind or history of atomic CSS's the kind of pattern, right,
A lot of people who love like crafting designs from scratch, that they
want to get that kind of fundamental freedom to every component, right, And
just this on people who really loves like how every like how like feel most
like okay, like Matvalua, and it's kind of buoyant and they don't really
need to do much to do certain things right. So I get that actually,
and I get that. I think it's based on the person who actually
like what is your choice and what do you want on? Which type of
dry system do you like? Right? So like also money, right,
if you're building some kind of you know, admin component or the thing that
you don't really care about how it will look like, you don't want to
spend a lot of time configuring it, like you know, building like internal
components. That's why I think Materio is very often used for admin dashboards,
because you're just import component and you forget about it. And when you have
your lending page, right, when you need to have a complete you know,
like I don't know why would you use React for lending page? But
people using React for lat I mean I mean like probably something like I don't
know, like your I don't know whatever, Like I don't know versatile dashboard.
It's really didn't react. You want to have like you know, precise
control over how the thing svenders because of thousands of people are using that,
so pick something different probably or just write it from spread for yourself. Right,
It's just like a matter of time, of money of like you know,
your personal preference, so yeah whatever, yeah, yes, yeah,
because also I worked a lot of projects I use MAT for like admin dashboard,
like B two B doshbooks. That's what I think I get you on
that. So it's I think it's busy on. If you want to see
time, it's just best to use that. But then you want to your
concern about into kid design and certain that you want to customize everything, right,
I think you can just you can use any frame of any free app.
They went back. I think they wanted to get good for so many
people, so you just think they just going down probably rads or shots in
and so on. Yeah, so that's yeah, that's abstually. Another question
I have again is do you have an idea of probably any improvement or any
maybe future concerns A lot going to come up into the frame of that's why
you are an idea of in hmm, this is a hard question to be
honest, like I, as I said, I left contributing a long time
ago, and I don't use it like every day, So probably I I
am not the best the best person to actually, like, you know,
ask about that's right now. I mean, like probably they're moving to the
right direction or right now with all of the basically why support for tailorween for
whatever, trying to be like more customizable, more flexible, and having like
their styles as a ski in tone or like theme or whatever. I mean,
I feel like they're doing good things right now, but probably they're today
they're already too big to move faster. So basically, you know, like
the market goes a bit faster than they are moving. I feel like because
it's already a big company, like I don't know, maybe twenty twenty people
working there or maybe even more, I don't even know. Right now,
it's not like a small team of like just into the ass or building like
big Comple Library because they like it, it's like already a company, so
they're started moving slowly kind of I don't know, whatever, and probably like
I don't know, maybe just move faster for the market would be my guess.
But I probably you know, like it's just like you know, one
shot. Yeah, yeah, yeah yeah. Does those are my questions?
Do you have any Yeah? Sure, yeah. First I wanted to mention
so some people like me, all my websites are written and react a lot
of my a lot of my homepages. But you I wanted to pick your
brain about radics because I started a project with that and I actually thought it
was kind of weird. Maybe you can help explain why. But like the
primitives page they give like for a dialogue, they give you like the markup
and react, but then all the I don't know if it's recommended CSS or
like, I have this feeling like if I don't use exactly they're recommended CSS,
then like it won't be best practices or whatever. So because I was
comparing it, I was looking at at material UI, which I unfortunately I
haven't used yet. But you just drop in a dialogue and it just works,
like because I mean I don't mind external CSS, I just have I
have the concern that you know, if the Radics team decides like, hey,
we don't like this look exactly, let's change this one line. You
know, if you've copied some custom cfs just for a component. Later it's
like probably will still look fine, but it just won't be like like up
to date. So yeah, sure, I mean like probably the whole idea
of around Radix is to be exactly the thing that is not require you to
there's no expert in CSS. They on their examples, right, They have
CSS just to show up things right and to be able you to copy it.
But if you don't want if you want to crafted totally different styles like
I don't know, they want to sharp edges, you want like I don't
know, like dark components, or you want like I don't know, maybe
cartoon based components. You can do that without any SYSS overhead, because if
you have initial you know ton or initial theme INITIALSS and you need to overwrite
it, basically you have two copy of sss for a component, then it
might be hard to support when you update a component, might be like,
you know, look bad because the new property appeared in this style sheet,
then you did not overwrite it, it's now bad or like you know,
priorities and all this stuff. So the radics itself is probably claims that you
should not you should just write your CSS for yourself. Right, They have
the examples with tail wind, I think, and you just like just take
it and then do whatever you want to because the radics itself does not have
any components, and this on the examples, I am pretty sure basically just
just just a reference to just display something in not play an HTM. Al
right, okay, okay, yeah, maybe I think I probably took the
examples like as required like this markup with the CSS, which I guess it
was just weird for me. No, I'm pretty sure it's not. I'm
pretty sure it's not. Basically it's like you know, if you will open
like radis screen now it should say pretty clearly on D so it's starting an
open source component library to my fast development is maintenance. Okay, it's it's
not saying that it's not a headless library, right but oh you have Yeah,
so there is some roddix themes, right I have, No, I
didn't even see that before. Probably there is some some kind of semen right
now, but I personally use it as a headless library to totally. So
it doesn't have any any styles at all, and only styles that they have
are used to do something for accessibility and all the stuff like attributes and style.
It open myself. Yeah, I also had a question in general,
just with your experience with customization. I saw material you I it provides a
lot of different ways, Like you can do one off like I think you
mentioned, like inline styles, or you can do overrides. So for me,
typically, like whenever I'm working with a library, I typically enjoy writing
CSS and like using it globally. But I was just wondering what approaches you've
used and what do you like or you know, are you are you more
of the type that you hate CSS and you like to do all style components
or because I always find like there's just a huge variety in front end depth,
like what they like more and what they dislike. Yeah, so if
you ask my personal thing, I don't like writing global CSS just because it's
too like you know, to switching context for me a lot right now,
my personal way, my personal preferred ways tell wind sss where you have base
styles and you just converted. I love being able to you know, style
everything inside one HTML, right, I think the CSS is kind of over
a keel just so yeah, just don't take me wrong. It's just my
personal opinion. I think like SVG, for instance, you can perfectly find
right svgs with in line styles only right when you just put attributes to styles,
it doesn't it's pretty. It's not really matter where you put your CSS
and as a file or into the HTML files. If you have component system,
if you don't have COMPONENTSYSM, you have pretty like separated schammel And sayss
yes, it makes sense because you need to target things and you don't want
to duplicate stuff. But when you have components right and you can you can
write your attributes once and then redew the component, then it probably makes more
sense to me to write CSS right inside each tamel and tail wind does it.
I think in the best possible way, the fastest, the easier,
the easiest, and like the more the clearest for me personally. So I
just choose in this way instead of writing CSS. But I totally, like,
you know, respect the point of view of developers who love writing CSS,
who did write SYSS for years and they want to just write class names.
Just make sure that it is not like you know, there is no
collisions and there is no like potentially no problems with uh missing styles like you
know, important and all this stuff. So yeah, well not, I
think both ways are pretty good. Cool, Yes, awesome, thank you.
Yeah, that that part was I think you did well because it could
have been very very polemic, so you're able to please both sides. I
am mostly from from the team of writing CSS when possible, but when I'm
doing React then I always just go with style components. But but yeah,
okay, so Dmitri, there are there are a couple of components that even
though they could be they could be reused, it's just so simple to code
them that I never needed any library to help me. So, for example,
a bottom like, it's not like a super complex thing to build,
so I generally just build it myself. But on the other expectrum, there
are components that they're really hard to build. So for example, a date
picker or a calendar, well basically anything that has time zones in it.
It's it's pretty hard, and that also needs the support for internationalization and a
lot of different user gestures and stuff like that. So what I'm trying to
get is, do you think there are any components in the mature UI that,
even though people could have could be coding them from scratch or whatever,
You do think that they should definitely first see if what mature UI has serves
their purpose so that they try it there first before are trying to recreate them.
I would say definitely date pigger because I am actually so I've been working
mostly on date pickers, and I may tell you so basically I build the
date pickers and mich tell you I have the date, the time, the
daytime pickers. And this is like, you know, this is the freaking
worst components in the world to builds from myself, Like you know, I
spend like years building these date pickers. They are complicated as hack. I
don't know, like it is really complicated components. I mean, there are
a lot of issues that you have never think about, Like you know,
you have a phone, right and basically you have phone like this, and
if you turn it, like you know, in the landscape orientation right,
the date pickers should rotate right. And you have never think about that unless
you have somebody who is like complaining about this and making this from scratch.
Supporting the mobile input, which is totally different from the desktip input, is
very hard because in desk dep input people used to do the mask and input,
which is the easiest way. You know, you have a mask for
days for months in years right, and you need to enter You want to
enter it from keyboard. You don't want to pick your in oil of mouse
and just scroll for years, which is like weird. And on mobile it's
much easier to just like scroll it with your with your thumb right. And
in fact, there are a lot of like tweaks to make it look good
because date pickers and time pickers, they both have different views for mobile and
for desktop. You need to make it accessible for mobiles accessible for desktop.
There are a lot of works with you know, displaying the dates, you
know, like you know, manipulating with days. Because everyone wants their own
library, So I wrote the whole library to adapt as an adapter between different
like types of libraries data Finass, date gass and all of this stuff.
And it's published in my name under my name Date are right now and MA
sure you I I suppose they're still using it or they forked, but they've
been using it for a while. And there is a lot of issues I
don't remember even about because it's very hard and very complicated components and other stuff
like I don't know, like tables with virtualization. It's also a very complicated
component that you probably don't want to start building from scratch because it's very hard.
I wouldn't say, though, that Matchell UI implementation is the best in
the world. I am not sure about this right now. I was sure
about that when I've been building day Pickert, that it was one of the
best in the world. Probably still it's very good, but like you just
need to check and probably just don't you know, like I don't know,
don't build your own bicycle every time, which is like maybe will be not
the best you know UI and not the best thing, not because you are
a bad developer, just but just you don't have time to think about all
of the you know, edge cases which appeared through the years of different users
using mache you I owe different libraries. That makes a lot of sense,
and I can identify a lot with the part about thinking that it is the
best in the world until you see what somebody else has done. I felt
that way multiple times, but yeah, some eventually I got my ego in
check and I started looking at my own code without even comparing to others,
and thinking somewhere around the world that's something, there's something better than this.
Yeah, cool, cool. And on the other side, what are some
of the things that you would you would not recommend people to rely on not
just mature you why, but any library to do like stuff that you would
say, Hey, honestly, from my experience, you're better off just coding
this from scratch. Like you know, it's a matter of time, right,
If you're so, I mean, like, it's definitely the matter of
time. If you are building like I don't know, if your whole like
app is all about like tables, right, I don't know. Like,
for instance, you might want to build it like I don't know. You
build a notion or whatever, right, and one of the core features is
your tables, and you want to make it like very flexible and have the
whole control of how you are displaying tables. Probably worse to build it from
scratch, even if it's complicated. Just make sure that you follow all of
the guidelines. You may look good on all of the devices accessible all this
stuff, but if you have yeah, and the same for all of the
components, it's a matter of time, Like you know, how much time
you can spend on building specific components. If you are building like I don't
know, Like notion calendar used to be chronified, right, you don't want
to pick the picker from some library, probably because it is like one of
the most core functionality of your app. Just build it for yourself and make
sure it it is, like you know, optimized for your business purpose.
I would say, so okay, that does make sense, all right.
So guys, honestly, in terms of questions that I had, I think
it's mostly it. I would love to just know if there's anything you would
like to to expand more, Dmitri before we just start wrapping up and talk
about some of our other projects and stuff. So yeah, let's let's talk
about some of the other things that we've been working on. So, Dmitry,
why don't you start since you're the start today. So I did solve
some of the some other project that you're working on, which is a frames.
I honestly thought this was really really interesting. So why don't you pitch
that project to the audience and tell us a little bit more about that?
Okay, okay, So basically effa frames. So if you heard about like
things like remotion, which is a tool for rendering videos in React, and
it is slow, like I don't know, like a snail. So basically
my goal is to take the same concept and to make it fast as like
I don't know, as whatever as Rocket. Basically, it's a project in
Rust which I'm building for two years and I'm you know, like I don't
have time to actually finish it. I have like one last feature that I
want to finish, and it's very complicated. I want to integrate the full
Skia renderer tow AFA frames, which is basically the to do renderer based on
inside your Chrome, right inside your that render scrom and all of the probably
hours and today GPU based and very fast. But I wrote a lot of
code already and basically it's all about like rendering videos in the basically very inspired
way of reactings in Rust, but your videos are rendering as kind of SVG
components, which are G six inspired. Basically, you have a macro to
render SVG yourself like and you describe it as a SVG template based as an
unreact and the concept of rendering is very similar. You have like one render
of one frame and you have like isolated renders, no murations, nothing like
that, no state up based because the videos doesn't have state at all.
But yeah, basically it's trying to be very fast and it's still in beta,
so it includes beta. So yeah, I hope I will not die
before I will release it. I won't let you die. I gotta see
that product. Thank you. How about you, Peter? Yeah, so
not emotion of mind. I think I shared Pat m I bs, I
think we talked about it. So I think maybe you could just share this
audience could especially for audiences MBI kind of hes okay, let me also,
I also send some of the links that we discussed today, So I'm going
to send it on the on the comments section two. Uh, Well,
my my promo is just going to be Onvoid. So for any of you
that might be interested in software outsourcing or extending your staff, Onvoid offers design
and software development services on either hourly, the traditional hourly model, or in
a task based manner. So you can break your tasks into sprints and assign
them to Onvoid, and they're going to work directly with your staff, and
you're only going to have to pay after those tasks are delivered and approved.
So it really does give you a ton of safety into uh in software allsourcing.
And how about you, Chris, So I'm going to send some of
those links here in the coming section, while Chris and shares with us the
things he's working on. Sure, yeah, I'm going to also share something
that I've started. It's I guess similar I mentioned the big or we were
talking before the show, Uh to Dimitri, I'm working on a similar thing.
But now I've just been blown away by real technology. So basically what
I'm doing, I have a very small little applet that it can convert.
You know, you give a code snippet and it writes it on a canvas,
uses WASM in the browser and generates a video that's actually but I've kind
of pivoted away from that because you know, maybe someone like for TikTok would
use it to explain like a very small snippet of code. But now I've
I've kind of gone it's not generative AI, but I leverage AI stuff like
voice cloning and step generation to actually do a screen capture where you can say,
like okay, open the terminal, issue this command. The whole thing
behind it is Eventually my goal is because I make software courses and I've realized
that it's really painful to edit them down, and like when you make mistakes,
you got to go back and cut it. The goal is eventually that
you can almost automate or at least greatly help your workflow when you create software
courses. But it's nowhere near like Dimitri's work with f f frames. It's
yeah, just sorry for interrupting you, but this is exactly the thing that
is I'm trying to so f frames is targeting people who are building apps like
you were doing, right, but just like it not in the inside browser,
but you're building an app and it's renders some server and I'm trying to
make it just fast so you can not host your own like GPU infrastructure,
but you have your own pretty pretty good, like pretty standard you know,
AWS infrastructure, and it's still renders pretty frost on the CPU. Basically,
it's very fun. I'm sorry of being really excited about your project because it's
really like a thing that should be very easy to do with different frames.
Basically, FRA frames would be a back end for your project, right,
and that's very fun. Yeah, yeah, it's funny you mentioned that because
I tried. I tried to be cool and say like, okay, you
can use a doctor back end image or you can use the front end.
The front end is WASM, which is anyway, like barely. It feels
somehow like it's still beta. And the back end I was fighting. I
ended up trying to fight like doing recording like a screen capture on a LAMBA
function and you, oh, I went down this rabbit hole of like there's
specific rules. Yeah yeah, so yeah, of course, Like as soon
as I saw this project, I said, man, I need this for
like yeah, like you said, it's my back end, so yeah,
let's let's definitely get in touch after the show. I'd definitely be interested.
Yeah, sure, I would be happy to help, because I think there
used to be one person who tried to build the same thing, but I
don't know. I think he just like disappeared. Like I mean, like
the idea of rendering things videos inside browser is very bad because of the codex
and all of this stuff. Is only one way if we would have like
backwards. So basically there is a VP codex API that allows you to decode
the audio and video right inside the browser then like you know, ce C
plus plus B API inside browser and all this stuff, but there is no
way to use it backwards. And if you're trying to compile like back to
was, it becomes really slow and people are not like I think love it.
To be honest, there is no big projects that there aren't coding videos
in the browser. It's just slow. Yeah, but I mean, like
I don't know, if you just started whatever, it's it's pretty good and
I definitely would play around with that. I'm becoming really excited. Yeah,
we can talk after the show. Sure, just be careful Chris, because
he literally said that he's your competitor, and the other guy that was doing
it suddenly disappeared. No, no, no, oh, Like so I
you know, like I'm not the competitor, I'm the partner. I am
kind of interested in more tools like that appear because info frames meant to be
used to make them faster, right because right now, like there is not
a lot of things that are programmatically renders video, not a lot of like
you will not find a lot of products that renders like I don't know,
charts videos in in browser programmatically based on data. And I think that just
because there is no product that makes is fast and easy to build, like
you know, like reactors used to be thing that is easy to build SAT
right, Single page application SPA right, and there is no way there is
no library that makes it fast and easy to build like a video from data
programmatically. And if F frames will succeed, I hope there will build much
more product like that based on e F frames or maybe other potential things.
Yeah, and it's like for me, it's it's kind of like the next
generation, right, Like now we have so many image generators right like for
I don't know, like Instagram borders and you even have carbon makes like static
pictures of code, but there's nobody doing it for video because of what you
mentioned. It's like it's there's no tool, there's no good tool for it.
So yeah, I'm super excited. Yeah, all right, all right,
thanks guys. Uh yeah, Diometry was lovely to have you on the
show, so I feel free to join again whenever you want. Your very
very welcome here. It was very nice meeting you, and yeah, for
all of you that stick to this episode up until the very end, thank
you so much and I'll see you in the next one.