Form factors for your new AI coworkers — Craig Wattrus, Flatfile

Channel: aiDotEngineer

Published at: 2025-08-22

YouTube video id: CiMVKnX-CNI

Source: https://www.youtube.com/watch?v=CiMVKnX-CNI

I I think we've all noticed tools like
V0ero uh getting pretty good at at
generative UI and creating um
good-looking things as well as clawed
code um being able to let us run things
more complicated locally and build on
those things. Um, so I think the the
thing that comes out of this is
designers, um, product people and
engineers all building together. And I'm
really excited about that because I've
never loved the the divides um, between
these things. Um, so this really lets us
get rid of um, in my mind get rid of
mock-ups, get rid of the click-through
prototypes um, and uh, all the hand
ringing about whether uh, the thing that
we're building um, is worth the
engineering effort. Um, so as we as we
go into this, it's time for us to jump
in um and feel the material that we're
working with and see what emerges. So
I'll give you a super quick overview of
of Flat Files um AI uh stack. This is
not an official diagram, but it's how I
see it. Um we migrate data um big if if
you needed to move a lot of data between
systems um frequently uh you use our
developer platform. And since we're a
developer platform, LMS are good at
writing code. Makes it the perfect place
for a lot of AI. Um, at the bottom here,
we have our our customers flat file
applications that they they deploy to
our infrastructure. Um, then there's
this like real time context, which is
the data and the validation outcomes.
So, what are the errors and warnings and
things that are in that that data that
dirty data um and then our AI agents,
the tools they have um and the jobs that
they can run um and then what gets shown
to users. So I see it as four buckets
here. There's more. Um there's
invisible, so it's kind of like the
ghost in the machine almost called that
ghost. Um ambient, so it's kind of
happening in the space, but you're not
directly working with it. Um inline, so
it's actually in your work uh in your
workflow. And then conversational, the
ones that we're um I guess all arguing
about. I think that's what I learned um
being here at this conference. Um here's
an example of invisible. So when you
start uh if you sign up for a flat file,
we go in the background, we we take your
email address, we find the company you
work for, we look it up um and in the
background, the AI agents are writing a
flat file application. So they're
writing code and essentially sending you
up a demo that is perfect for your use
case. So if you come in from a HR
company, you're going to get an HR um
demo. Um and while that's running, you
don't need to know that AI is working on
it. Um so that I'd say is like it's
working in the background. Here's
something working more ambiently. It's a
very initial uh take on this, but you
can see there's something an agent
analyzing the data in the background. Um
this is a tool actually um I lead this
team for AI transformation and um you
can see the little sparkles pop up on
the columns when it finds um
opportunities to fix it. So that's
ambient. Um this is inline. So you're
busy working in the data um and the AI
is able you're able to use the AI um
directly in line here um to fix the
data. These agents are are writing code
that then gets run on this data set. So
you could have a million rows um and 50
columns or whatever you want and and
that code will run really fast um which
is pretty cool. And then finally the
conversational ones we're all used to.
So this is build mode. It's the no code
low code um agentic system that writes
flat file apps now. So before you would
probably have to have had a engineer at
the company um building these
applications um now it can all be built
up. So that's pretty cool. Um and that's
that's kind of the the general surfaces
I think about. Um, I listened to um
Amanda Ascal um from Anthropic talking
to Lex Freiedman about um building um
Claude's character. And in that moment,
I realized I'd been doing something a
little silly. I'd been giving engineers
feedback on our agents like, "Oh, it
shouldn't start saying this and it
shouldn't use these words and and why
should it do this?" And I realized I was
I was doing it like I would do design
copy, right? I was I was I'm in my my my
normal instinct. And when I heard her
talk, I realized I needed to go from
controlling um to being a character
coach and and and actually building out
um the the nature that I wanted.
So this is a Vzero. I hope have you most
of you used Vzero from Versell before?
Um yeah. Um so this is a Vzero I built
one of my early ones and it was um I
called it a chat tuner. It doesn't look
like much but that wasn't the focus. Um,
but I could essentially um put our
orchestrators, so the system prompt for
our AI orchestrator for build mode um in
here. And then I can modify it. I can
say what is it like if I tell Claude to
be more friendly versus more balanced
versus more concise? What what does more
cautious mean to this model? Um, and the
point of me showing this is just to say
like the design of the final thing is
always a tempting thing to design too.
Um but now we can actually go and build
tools to help us to design that. Um and
this brings me to like uh I have like
three themes. Um the first theme which
is feeling the material. I'm a
woodworker so you'll have to forgive the
analogies to physical material but if
you're going to uh design something with
a physical material, you have to feel
it, right? You have to what are the
properties of it? Um and you need to
understand it. And so I feel like before
with design, we were kind of looking at
everything through like layers, right?
Mockups and prototypes and and kind of
trying to see what was going to work and
what wasn't. What we need to do now is
go feel the material, feel feel how
these models work. Um, my new north star
is like creating an environment for
these LLMs to shine, right? what's
what's this form factor that can help
them nail their assignment, stay
aligned, and grow as the models get
better, right? That's that's my new
goal. Um, we're basically anything we do
with an LLM, I feel like we're putting
it in a box. Um, and that you also hear
people say that LLMs are like interns,
like, oh, it's an intern with a PhD. And
so I try think now if you're putting an
intern with a PhD in a box, like it
better be a good box. Um and so we need
to put effort in. Um this was a
conversation we were having about what
tools does this uh co-worker this new
form factor this new model like what
tools do we give it when it shows up for
work and uh I got fixated on this idea
of cursors. I was like oh what happens
if it just had a mouse or a trackpad?
I'm a trackpad person. Um so um that's
probably controversial but uh
essentially what happens if we gave the
AI um those tools and so I I created
this v0ero and moved it into cursor um
and I was like well I work in design
tools a lot so I don't migrate a lot of
data so this is the best place for me to
feel this right to feel this material so
I created a canvas um and I could give
it orders and be like hey and honestly I
was I was very enthusiastic about this
um for like a few seconds um it felt
like I was touching the AGI a little
bit. Um, but I also very quickly started
feeling like I was putting a Formula 1
driver in a Prius. It just it felt like
I was constraining it and controlling
it. Um, it could only move one thing at
a time. Um but so so learning from that
um was uh something like this was just
also um a a vzero um that I use clawed
code on eventually and this is a new uh
product that we're working on which
brings like the all the stuff we've
learned about u migrating data to
consumers to let them work on their data
um but you can see the AI is is
operating in the space um and it's it's
got presence and so it's it's able to
read multiple files while writing into
another one. Um, it's not like me who
can only focus on one thing at a time.
Even though I think I can focus on more,
um, it's not true. And so this is us
moving from determinism to infer and
figuring out what this material feels
like. And so, um, that's feeling the
material, right? working with the model,
getting it into your space,
understanding how it feels um to work
alongside it, what's it capable of, and
then the form factors that we're putting
on them. Actually, actually, you can now
go build it and play with it, um and
feel it. Um the next material analogy I
have, which is finding the grain. Um
once you've got the characteristics of
the material, you understand it. Um
usually the piece of material that
you're building with and you're creating
with might have its own characteristics.
And so as we're creating these form
factors, uh, finding the grain is about
feeling it out. Where is it smooth and
rough? Um, where is it weak? Where is it
strong? Um, and we'll have to remain
humble here because, um, things are
going to change and are changing so
quickly that whatever we we build is
going to most likely need to be rebuilt.
This was an example of that build mode
agent. I asked it to do one thing, which
was enable the automat plugin. So this
just automatically maps data from the
source. um data to the target data and I
get a wall of text and it's not bad
because this went and and I saved me
probably a week of work. Um I didn't
have to have a product manager write a
PRD, send it to an engineer, get the in
the road map, get the engineer to write
it, QA. This was all just done, right?
All that code was written. Um but the
noise gets in the way. And so this was a
vzero of of kind of rethinking the tool
UX. What could it be like? And so, um,
the way I thought about this was if
you're designing for a if you're if
you're going to a co-orker and you're
going to do something complicated for
them and you want to communicate, you
think, okay, I'm going to choose my
words carefully. I'm going to
communicate visually. Um, I'm going to
stop and check um whether whether it's
right. And so, I wanted this to feel
similar. And so, you can see here split
personal details. It's visually telling
you what it's doing. Saying, "Hey, is
this right?" Then it's saying, "I'm
aligned. I took a snapshot. You can roll
back. I'm holding you accountable. You
approved this. Um, and then telling you
what you can do next. We also wanted to
it to be able to express itself. So if
something went wrong, kind of shaking
its head and a little bit of
frustration, which is probably what the
user is feeling too um when something
goes wrong. Um,
and then finally, it can back off uh
when it gets something wrong and sort of
say, "Okay, I'm handing control back
over to you." Um, and that's a lot more
inter that feels a lot better and it and
it felt like we had found the grain and
found the right place to put this this
material um with this. And so what's
really cool about this one is that as
we're implementing it, we've realized
that it can um it can fit in other
places. So uh not just in conversational
flow, it can fit in line. Um and this is
going to be in our kind of like inline
transform functionality um really soon.
So I I think like as we as we find a new
technology and work with it, we run the
risk of just automating the tedious
things. And I was so excited about those
previous two talks because there's kind
of like some emergence in there, right?
Like something interesting that we
weren't be able to do before. Um and I'm
most excited about those thing like what
what emerges from from playing. Um we
stopped playing for a few years um when
we were kind of got the internet and we
were like really excited and CSS3 came
out and then like HTML 5 we were playing
a lot. Um now I feel like we all playing
again and so that's really exciting for
me. Um this is an example of me playing.
Um I created this uh V0 and I I we've
been in search of this characteristic of
an agent that is that feels
forwardleaning. And what I mean by that
is it's an agent that's curious and it's
excitable, but it likes getting
done. Um, and it's very focused. Um, so
not going crazy, right? Like we've all
seen the LMS kind of go too far when you
give it a task and that doesn't feel
good. Um, so here I dropped a JSON file
and a CSV file. Um, and the agent
decided, um, you know, it'll be good to
do is combine those two things because
the data look pretty similar. Um, and so
here we can see it's it's combined the
the file the two files into one. Um,
that's a good thing that it did. I
didn't have to ask it to do that. Um, it
picked up on it. Um, and then after
that, it wrote a a report. So, it told
us what it was doing. Said, "Hey, I
found some duplicates. This is probably
what you need to do next." And so, it
built up context. Um, and I was actually
just trying to play with Claude 4 here
and feel the material and kind of see
how it would be. Um but I realized um
I'd kind of come across this nature that
we were after. Um it made some
suggestions and generated a slide deck
which I I asked it for. Um so within
just dropping two files um it's it's
done something emergent. Um and now
we're baking this into our our new
product called obvious um which is
coming soon. Another one was we had this
idea of giving our agents a knowledge
base. So all the customer calls we'd had
with them were all recorded and
transcribed like most of ours are. Um
and we had documentation from the
customer and so we put it in to
knowledge base and then when we analyzed
all of this customer data, we surfaced
up um suggestions based off that. I was
fully expecting better suggestions. I
was fully expecting more suggestions got
those. But then here um the the agent
decided I can't fix this but I know how
to fix it and so I'm going to tell you
how to fix it. And so it suggests here
that the user actually goes to HR and
gets them to generate the missing
employee IDs. And what emerged here was
something I wasn't expecting. Maybe you
look at this and say that makes a lot of
obvious sense, but to me I wasn't
expecting it to be able to help the
human to go and do the job um where it
couldn't. Um so that was really
exciting. I don't think I would have be
able to get to that without um playing
and and being curious. Um,
and then the last thing I I want to talk
a little bit about is eyes on the
future. And we all have our eyes on the
future because how can you not? There's
always something new now um with models.
Um, so I I like to think about it as
like what's your pelican on a bicycle?
Um, and one of my pelican on a bicycles
is autocomplete. I'm super excited
about. It's probably a bad idea um
actually to use an LLM for this, but I'm
like I want to make an autocomplete that
um is backed by an LLM. And so this one
has 100 suggestions for fixing some
data. Um and it's kind of like a bake
off um between these two things. I'm yet
to find um a model that is both very
fast and very good at this problem. Um
but this is a a a benchmark or something
that I've created just for myself to be
able to feel the materials um that we're
getting. And so I think about that for
my design practice now, like what are
the things I care about and can I like
design into the future and start to
think about the form factors I want and
then build an application that can
actually test that. So yeah, that's uh
all I have for you today. I I'm very
excited to see all the new form factors
um that we build um with our new tools.
Thank you.
[Applause]
[Music]