One thing that's
Like about our team is like we we went really deep on one project with you for one
One product that we're working on
But like the same made lucia and janata chris like it's just the four of us like that's man
But we have like three or four products. We have to like
Support each like we're working on
Simultaneously, so I think that's also one thing that when we say like a week
It's like a week given that we're working on all this other stuff at the same time
so it's really like a solid day or two like
Janata was saying Oh to maybe three weeks
But he's spent like two or three days on everything for this one DM thing and we're basically done
Okay, we work relatively quickly
But this has made us much more accurate and more specific. So
It's going into like other projects like I got on a I did a four-hour
So we didn't even met Friday the following Monday
I've got on a four-hour call with one of our clients and we all we did was just breadboard with him and it was a
Great complex. Yeah four hours with with the client and I sent him one of your videos
There's that little you're like a 16 minute intro to shaping or something video. Yeah, like two years old
I
Never even saw that
until
Until last week, but I said I've been sending that to all of our clients
I was like you guys like you need to watch this before you work work continue to work with us
Yeah, maybe it's the nutshell video shaping in a nutshell. Yeah, very good
Can I ask you what? What do you want them to take away from that?
Maybe just trying to speak our language more than anything. Okay, and kind of get the concept of
Most of our clients are not technical but they are
So they're they're they're playing the role of like when we say like here's a here's a bet or here
We're putting this this pitch together for a project like they're the ones obviously financing it, right?
so we finally had a bit of breakthrough showing that to our clients and then
this this particular kind this is for Kingsley for everybody else who
talked about and
We we had to it was this tension of like, hey
Yeah, but you you're the ones your role here is like he's setting the appetite kind of like you were doing on the call with
Us I kind of took that away
It's like hey, so that like is this is this three weeks? Is it for like is it too?
like what is what feels like
Like like what are you able to invest in this particular feature? Because that's a major
Variable for the for the entire process before you yeah, totally
Yeah, and you guys are reacting to that right with different ideas of scope and stuff like that. Uh-huh
Yeah, so we got so we obviously we'll talk about the DM
I was just pointing out we've gotten a lot of value and I would say we've potentially rescued a very
Messy situation we were by using the breadboarding to kind of get super clear on some of the requirements for this
And kind of flipping that mode and so now like we're not putting anything into notion or tasks or projects until things are very
Very concrete. I think Janata went and like shaped up a whole thing
So we've it's kind of we have all these existing clients that we've been working with already
So like the afternoon after we were done on our first session Janata went and shaped up a bunch of X tech stuff for us
That's been going on for four or five months
But we just picked up, you know the next project and just got much more clear about it
so
We're putting into practice. I'm saying so we're obviously using DMS as the as the example, but it's being applied to a lot of
Different things as well. Awesome made huge value there. That's great
Also, we can we'll see if it comes up
from your side, but
Lucien I wanted to to mention to you that
You raised at the end of the session last time you said
When you were looking at the breadboard you're saying yeah
I kind of wish that I could see a little bit more of what was going on in the back end here and
It's been a project I've been working on for a while and I hadn't shared anything about that yet or sort of like
Started to kind of bake it into more framework conventions and I've got a few
conventions for putting putting pieces of
Of the back end into the breadboard
So if we have any situations where you feel like that's needed or that would be useful
That's also something that I can share with you. Yeah, that sounds interesting. Yeah
So, okay, so
let's see, let's see what comes out now because
you know the the the initial concept for this follow-up session was
We're gonna we're gonna look at the shaping together then you guys are gonna kick off and then and then we're going to just be
in the middle of the project and we're gonna see
is this coming together or not?
And what might we need to do?
And how might we handle difficulties
that are appearing there?
I'm curious what you guys need out of this
because what I'm hearing is like,
oh, we're flying and we're already halfway done
and everything is great.
You know what I mean?
So-
I wouldn't say everything's great.
I'm saying like, we moved a lot of things forward
in a lot of, in a lot of,
it added a lot of clarity to a lot of different projects.
So-
That's nice, okay.
I'm really curious to see where this like midpoint check-in
Yeah, cool.
Where this leaves us.
So, you know, when we started off the shaping session,
I gave just a little bit of a,
what are we doing here intro?
And I'll give you the 30 second,
what are we doing here, you know, intro for this session.
So in the shaping session, you know,
the task was like, here's our,
here's what we think is the appetite.
Here's what we think is what we're trying to solve.
And now can we get much more clear about what that is
and if they actually fit each other, right?
So we did the breadboarding to get more clear
about what the actual concept was.
And then we were able to kind of push and pull
on what is the right kind of expectation to set
as far as appetite and to do these things match each other.
That was kind of what the shaping session was all about.
This review session,
fundamentally like the question that I'm asking
if I'm in a review session is,
it's simply like, is it coming together?
And if I wanted to use a technical word,
I would say, are we seeing that it's,
that the integration is happening?
So what we don't want to see is progress.
And you guys, I'm sure have seen this in the past
is like tasks are getting checked off,
but it doesn't mean that anything is demoable
or clickable yet, right?
And you know that feeling when you're kind of
like doing stuff, but that moment of truth
still hasn't come where you get to like see
that it's really working.
And so that's the kind of the very, very first thing
is like, are we seeing stuff working or not?
If we're not, then we, that's our first order of business
is how do we get to that, right?
If we are seeing stuff working,
then we're gonna look across what was shaped
and try to understand how do we look
in terms of what's left and sort of where,
is everything we thought was true, still true.
We had kind of this breadboard that was supposed
to describe what we were gonna do.
You might have, I'm guessing that you have some kind
of a mental idea at least of what the scopes are.
Let's see if we pull out that tool or not today.
But a big piece of this is like, okay, so number one,
are we seeing things coming together or not?
Yes or no.
If not at all, then how do we get to the first thing?
And then that's simply what the session is about.
If not, if we are seeing things come together,
then it's a question of what's left
and kind of what is like strategy-wise,
like what do we expect to see coming together next
and what's known and unknown there?
That's kind of like sort of the general approach here.
So the one thing that I would want to just have ready
is do you guys have like any kind of like newer source
of truth that you're looking at?
So like if I'm coming in cold, what are the things
that I would be looking at to understand
like where we are somehow?
Do you have some mechanism you're using to track that?
So, yeah, we did move from Myra over to FigJam.
Yeah.
And then we still have, I don't know if it'd be helpful,
but we could just also for Luchin, he's not been,
Janata and I worked very closely on this.
I don't know how in sync Luchin is
on what we did the last week,
but maybe we could just take like two minutes
and just show you what we got.
Maybe Janata can, if you have a second to do it,
like just demo it.
Yeah, demo is fantastic.
And then I can use the breadboard to kind of at least
orient what we have versus what the concept was.
By the way, I just hit a request access button.
Yes, I just approved you there.
And it's essentially most of what we,
you can see we screenshot what you gave us,
which was very helpful.
Just for, and for the record, this is like the,
this is the first, you know,
since we talked it's been like two weeks
we've been using FigJam or anything like a whiteboard tool.
I mean, typically it's been,
everything's just thrown into Notion with tasks and text.
Yeah, that's interesting.
So this is by the way, I'm gonna share my screen just.
while we're looking at this just so that it's in our recording.
Because if I'm only looking at it,
if we're just looking at it through the web,
then it won't go into the Zoom recording.
OK, good.
So OK, so this is where you guys landed in terms of the shape.
And then is there another thing that you
look at to try to understand what's done
and what's not done in terms of where you are in the build
cycle?
Let me share.
If you don't mind, let me share my screen
so I have to share our whole Notion project with you.
So this is sort of our dashboard for each project.
And the budget is pulled in hourly from our time tracker
versus this.
So based on our two weeks, four weeks, whatever appetite here,
this just scales this budget indicator
so we know where we are.
So when I told you, hey, we're halfway,
I mean, we are literally halfway.
And based on schedule, we have five days left.
So these are just our on-time, on-budget indicators.
So the question I have in my mind
as we are about to look at what you're going to show
is what should I expect to see a demo of?
Is there anything?
So anyway, that's just what's in my head here,
is I'm thinking there should be some, probably,
indication of something is done.
And that should somehow, or it's ready for review or something.
And that should somehow correspond
to what we're going to look at.
For sure.
So we've done, I mean, most of these tasks are knocked out.
And then we've got, we're kind of halfway
through what we've started.
We haven't started on these tasks.
And so some of these are Mason, Janata.
And then so we're about halfway through on the tasks.
What we typically did was like, this
is where we would put the problem and the solution
and kind of frame everything up.
Is that what you're looking for?
No, I'm so, I'm going to step back and say,
let's move into demo mode.
And then we'll, just so that we don't talk mechanics
when it's not needed, you know what I mean?
And then we can come back to mechanics if there's a reason.
I'll let you do it, Janata.
Let me share my screen.
One second.
And it started.
So one, I think one additional piece of information
regarding what Bruce said is that we also
made the decision to actually refactor the chat that
was originally placed there.
So that really helped in terms of adding new features
on top of it, because we kind of migrated out
of a funneled code base and into a new, more productive one,
let's say.
OK.
Oh, sorry.
I just realized that I'm on the wrong branch.
One second.
Yeah, no problem.
I saw the scroll on the side, and I knew it.
It's one of the things we fixed.
And while you're pulling that up, Ryan,
like, obviously, what was inspiring to us,
or for me, the takeaway, was just
the quality of accuracy and intentionality
with the features that we were adding.
And it felt like we were doing this crazy level of attention
to detail on this one tiny little feature, which
really turned out to be like addition of one button.
But we were building on this, like,
kind of a mess of just terrible garbage code.
And so I attempted just over the weekend
to kind of get it started and to see
if it would even be possible to refactor it that fast.
So that was something we did, and we were able to clean up.
But it did end up making it a lot easier for Junauda
to work on.
We're still, there's some refactor tasks in there
that I'm still working on.
But we're 80% probably on that, kind of replacing
the old code with the new one.
Yeah, cool.
So, and one thing I would, I'll let you, yeah, let you do it.
Sorry.
Please, you can continue.
The new version is still building.
Oh, I see thumbs up indicators on this breadboard, by the way.
Yes.
Are those?
What is the meaning of that?
I think we're saying we're using those loosely as just
quickly marking things as done.
Currently, there is a profile pop-up.
I can't open the chat.
And then we started to put our little stickers on things.
So the little circle is Olympus, that's Janata, me.
And so we could kind of see like, OK, cool.
I'm going to take over this fixing the one-on-one chat
stuff, because that was sort of a when you open the chat,
that's just this was the existing functionality.
It's not really new functionality.
And then I don't think this is like,
I'm not sure if it's updated as far as status
of what's finished.
Pretty much everything is working, I think,
except for the push notifications.
Uh-huh, OK.
So we're mostly done, but I can kind of skim through.
We really like the visual of the breadboard.
And to me, we spent so much time in the details of this
that that's been helpful to kind of just keep
that as our source of truth.
It's kind of like the high-altitude view
of the work.
Yeah, the problem is when we go to specifics.
So I want to chat about the list of added people.
And Janata and I want to have a conversation
or just kind of working asynchronously with each other.
Then we've been using comments in FigJam, which is not great.
We're pretty used to Notion comments,
because it creates a nice inbox for you.
And you can clear that out every couple hours
instead of having Slack obviously
being the worst of all tools to chat about this stuff.
But Notion's pretty much been our go-to.
So I think what we have now is what's in Notion
is probably the most accurate as far as status goes.
But we're kind of flipping between both of these,
honestly.
I will start sharing.
Maybe I'll just finish it.
OK, now it's properly set.
So all this here is already the new interface
and the new code base with the new chat
and all the new updates that Bruce did during the refactor.
And on top of that, what we viewed
was basically this group chat structure
where we can see the groups here on the left.
And you can start a new group by clicking on this button.
And you can name the group like we discussed it.
So test name one.
We can search the user base.
So for instance, let me start a group with Bruce.
I feel Bruce here.
And also one of the Notions that we have.
We can choose between them.
And we create the new group.
And this already updates the screen with the new group open.
You can already send a message.
And other users will be able to see them.
And you can also edit the group right here.
And this is one of the things that shaping
made us realize that we could just
reuse the same component.
For editing, come on.
For editing, we can just remove.
And if we remove someone and add another person.
So if we come here and we remove a delusion
and we are adding João.
And if we update the group, another thing
that shaping made easier to realize
is that we may not even need to implement push notifications
as a new thing.
Because we can just send the message in the group.
And this would automatically trigger a notification.
Because we are already sending a notification
for the message flow.
And this is a new message being created.
The only difference is that it is associated
through a conversation that has multiple people.
So that's it.
something that it could came during the development phase or even be overlooked at that.
And we could like create a new push notification flow when in reality was actually not needed.
And yeah, I think this is more or less the bulk of it. I don't know if you want to add something,
Bruce? Yeah, the only thing, again, just the shaping, these little things that we didn't,
I don't know if you mind, Gennady, just flipping to the old version, like in production, just done.
But one little thing that once, because I went in, we built it, I think Gennady and I, kind of on
past three or four of the breadboarding, did we realize, hang on a minute, like our chats
don't tell you who's saying what. So it didn't matter when it was a one-to-one because it's
either me or it's not me, right? It's just a, it's a true, like is Bruce, is not Bruce. So like
it's very easy, but then you start paying attention to things like iMessage and Slack.
And it's really fascinating because iMessage is much more complicated in that, like if it is a
one-to-one chat, it actually leaves all the names off. But if you're in a group chat in iMessage,
then it actually puts the person's name and their avatar and their initials there in their picture.
And these, I didn't even notice this in a tool that I use all the time, every day.
So that was one thing we never even considered was even placing the avatar and the person's name.
And so you can, before that it was just, it was just blank. But these are little things,
like once we got into it, we realized like, oh, I won't be able to tell who, who said what. So
we've added, like, there's the person who spoke, you know, there's you, you know, and then there's
little timestamps and things like that were little, little, small, small improvements. But
from the actual experience, we didn't even know that was a problem when we did the first pass
with you. We really had to kind of get into it a little bit more. It wasn't, it wasn't until
we're actually like putting things on the page that we realized this was going to be a problem.
Perfect. Okay, so anything else to, to look at in terms of what was,
what changed or what's working now?
Yeah, maybe just one thing that I just know.
I think it also could be the type of problem that we don't have to solve. But when we create,
this is what it's looking like for the old person. So I'm now the older version of that.
And when I created a chat group, this version doesn't know how to handle. So it basically
shows a one-to-one conversation with that person that created the group. So in this case,
as you can see here, I have a message that has groups detail updated with Bruce, but this is
actually the group that was created, but the older version doesn't have this handling.
But we also discussed that it may be something that it's not even, it's just, we can just say
to the user, hey, you can update to the new version and this will be fixed. So this may
add something that you have to think to make.
So this is, there's a, the way that folks are using this, it's, they have to update themselves.
It's not, it's not a typical SaaS situation.
Yeah, it's both. So like that's, we have web, this is the web browser, which hasn't been pushed
to production obviously, but they will have like their iPhone or Android app that will require an
update to get, you know, the corrected version. So we, yeah, that's kind of adds more complexity
to have to somewhat, so it's basically backwards compatibility is the problem to solve there.
Have you ever had a backward compatibility question arise on the phone apps?
We typically, I mean, our solution, we have only 20,000 of the active users. So it's, it's
relatively simple to, like when people run into it, an issue, just be like, just update.
We also have some notification mechanisms where when you open the app and you're on an old version,
it prompts you like push it, you know, tap here to update. So that, those type of things help
that being less of an issue. So again, this would be something we'd want to either scope out of the,
or draw a boundary around not, do we, do we care about that? Like, do we just want to,
like, tell them to update, problem solved.
You know, and I could, this is where it's good maybe for the business side.
Like I only know that one of our 10 clients that have apps like this, only
one of them is going to be using group messages initially, so it's going to be
a very small subset of maybe a few hundred people, um, so potentially
that's not like, you know, we don't need every, some of our bigger clients
aren't even using, don't even have DMS enabled, um, so won't be a factor.
Cool.
Okay.
Um, so here's, here's the part where, um, I feel like there are unanswered
questions, um, it's clear that the core of this is working cause we just saw it.
What's what I kind of feel like I can't see, and I would want to be
seeing is what is actually left.
And if we were to, if I, if I was responsible for testing this, like,
how would I know if it's doing what it's supposed to be doing or not?
Um, so, uh, do you guys have a sense?
Do you have something that you're, um, do you have a sense already
of how to answer those questions?
Uh, I think this goes back to what's pending on ocean, uh, which is basically,
um, let me open this project.
So, uh, yesterday, um, me and Bruce had a brief discussion about this and basically
there's a few tasks here, basically have kind of two different, uh, types of tasks.
Uh, types of tasks, let's say one are focused on finishing the refactor part,
because there are some stuff that are related to the scope of the refactor
itself that we are kind of considering.
Uh, not a different thing, but kind of, we are assuming that everything will be
done regarding the refactor part, uh, for the implementation of the group chat.
So here we have a few of the open items for the refactor, which include things
like, for instance, uh, finish the file upload.
So once this is finished, we assume that we will also be working on the group flow
because it's basically the same, uh, structure that's being utilized.
And also there are a few items that are related to the, uh, group messaging
itself and, uh, the items that are pending there.
So basically this would be our current tracking of what's pending for this
project.
Um, at least that's how, how I, I'm viewing it at the current point.
Um, how, how do you feel about it, Bruce?
So I think this is a pretty accurate portrait, right?
Right.
The only thing that we, we would have, like, as far as someone would go and test
it, um, we do have like a test suite of, of kind of by module, that's more of like
a checklist that we would hit.
Um, and so that there's probably like, we have to add a few, uh, features to that
now with now the group feature, but as far as like just checking the boxes, as
far as like, you know, the user can do this, it can do that, this works.
Um, but we're totally, this is kind of our, there's been a sort of our platform
of, is just having sort of cam cam in board with just stuff in here and just
kind of seeing progress now we've added the visual of the breadboard as well to
kind of make sure we know where all these tasks it, um, we have kind of dumped and
left all of the things we used to do for the pit for the pitch.
I think if you scroll down, there's like the original pitch that we had sent you.
Um, I've now like just thrown that at the bottom for reference
because it's kind of useless.
But so, um, maybe we're a little, uh, shy to like put in some of
the other texts around this.
That would be, if you were say, joining the project today, halfway
through, and you were coming into test, like you would be looking more for
some, some context, um, which you wouldn't get by just looking at a
breadboard and a cam band board.
Maybe that's what you're getting at.
Yeah.
Okay.
So, um, here's where I'm at.
Um, um, uh, if, if, if I were responsible for this project, um, I, I, I feel like
there's a missing piece here, which is that like, um, I, I, I don't have quite
the clarity where I could really say, I understand what is done and what is not
done here.
Um, and the reason that I would want that clarity is because if we start, if
any one of these things starts to take longer, or it turns out that one of
these things is harder.
and the rest, or it disrupts our plan.
Like, and if we face a situation
where we're gonna have to drop some things
in order to finish the important thing,
I'm not confident right now
that I would be able to make those judgments.
I kind of feel like it's hard.
I feel like a lot of the state of the project
is kind of like in our heads right now.
There's a, so, but that's me coming from my standard here.
I'm kind of picking up that things feel fine for you guys.
So what I wanna do is I wanna just take a minute
and see what it might look like
to get a little bit clearer, you know?
And, but I don't wanna, I'm not gonna,
I'm gonna pause after we take a few steps
in that direction to see if it feels useful to you, okay?
To see if this is just my thing,
or if this is also, if you see value in that.
So what I wanna do is,
this is a place where like,
I've been starting to test like pair programming tools
that let you have two screens shared at the same time,
because you kind of reach a point
where it can get a little bit annoying
to bounce back and forth.
I'm gonna share my screen here.
We typically use Slack huddles,
and that does let you do that, but.
Slack huddles let you do that, yeah?
But it doesn't let you record, okay.
So that's trade-offs.
Okay.
So I'm gonna share my screen here.
And what I did is I just pulled up,
I just pasted your breadboard into another tool
just so that I don't screw up your document.
And what I'm seeing here is,
okay, for example,
we saw new group chat on the conversation list, right?
We talked about, if I remember right,
searching involved, I should be able to filter
both names and also group chats
from our original conversation when we shaped.
This is the kind of thing of like,
if I wanna know if this whole thing,
if changes are on conversation list,
are we actually done here?
I've got two questions.
One, the behavior of the search.
Did it need to change?
Did it change?
Is there something outstanding there?
And the group chat button,
in the original shape,
I remember that we had a condition on that,
that only admins should be able to see that button.
Great.
So what I wanna be able to do
is I wanna be able to get to a place where
with our, I'm actually gonna switch over here,
with our, let's say we have our nine boxes.
Let's just, I'll just make a new one here
so that we can have something to,
just that we have something to look at.
I wanna be able to say anything related
to conversation list,
what is, what needs to happen,
what's done and what's not done.
And I wanna get up to a point where I can say like
that entire piece of the map is conquered.
There's no refactorings left that touch that.
There's no UI changes.
There's no conditions missing.
Like that piece works.
And then if we contrast that to edit group,
which is kind of this shared dialogue that you have
for creating the group and for editing it,
something like that.
Yeah, I think this is a piece of what you have now.
There's work that's outstanding there.
For example, if we go back here,
so there's this functionality where if I look at this,
the new group chat, this, I think this kind of
is all working.
This I'm not sure about.
This I know is all working,
but this stuff is part of that.
And I kind of don't know how it relates to that.
And if that's some separate scope
or if that's gonna affect this.
So these are some of the questions that are in my mind.
Maybe we can just dive in to the conversation list.
Can we flip back,
Giannata to your demo that you have in your window?
And it looked like you guys are both sharing
at the same time.
I didn't know you could do that in Zoom.
Did it?
Yeah, but they weren't side by side, right?
We had to like somehow flip between them.
Yeah, there's like a tab at the top,
but I mean, any one of us could,
or I think.
you can potentially spotlight it, but that's new.
I'm a little worried about the cloud recording there,
so I think I'm going to do replacing next time
before we test that just to make sure
that everything is captured.
Actually, if you don't mind, what I'm going to do
is I'm going to share again.
Well, that's funny.
I'm just going to take a screenshot of my screen
at these moments,
and then if we need to go back and recreate the context,
I just took a couple of screenshots,
and then we won't have that problem.
Okay, so Giannato, let's look at your screen again.
So the question was about the conversation list changes.
Does search search both the groups and the one-on-ones?
Oh, I see. I see what you're asking.
It's a filter now.
I actually worked on that,
but now if you start typing, like, you know,
J-O-A or something, it'll just filter that list
that is on the left down.
Uh-huh, okay, and if you type new, what happens?
Nothing.
Okay, so ...
It's not searching by the name of the group yet, correct?
So I'm going to share again.
Oh, no, let's stick, I'm going to make a note,
and we'll come back to that,
just because I don't want to thrash too much in screen shares.
Then the other question was the new group chat,
whether the button is conditioned on being admin or not?
No, this is one of the questions
that are already mapped on the notion,
but it's not implemented,
this conditional view for this and this edit button.
Got it. So I'm going to switch back to mine.
It's funny how it asked me before ...
Okay, I'm going to change this to one participant
can share at a time, just so that we have clarity
for the recording, just before we've tested this.
So the way that I'm ...
I'm not insisting that you change anything with your tooling.
I'm just using a tool that shows you what's in my head, okay?
And then you guys take this, we'll see what comes out of it.
The way this is in my head, there's always very different ways
to slice what's left.
I'm not going to worry about that too much.
All I'm going to do is start with something reasonable.
So what I find is that if I can think of the conversation list
as an area that has changes or doesn't,
there's this issue here of search.
I can't filter by conversation name, not only user,
and condition create group on being admin.
So then if we go to the actual group chat interface,
this is like the chat UI itself,
and you guys might have better words for these things,
but the thing I want to capture here is condition.
Do you call it the edit the group or rename the group?
There's this pencil icon thing there.
I think edit, yeah.
Edit group, yeah.
Because you can do more than just add and remove.
You can rename and add people in that.
Got it. Okay.
So that's already making me think.
Okay, so we have this kind of create edit group thing.
Okay, so this is kind of what seems to be outstanding here.
Have you guys already made? Okay.
And for create edit, yes?
I just want to note that we have to add the warnings
for when you are editing the group,
that if you remove someone,
this person will lose access to the history.
And if you add someone new,
this person will have access to the old history.
Yeah, good call.
Okay, let's look back
at, so I'm looking at the breadboard
to, let's
just look directly at the breadboard again, to understand
where, what we need to look at.
This
group feed post display name profile pop up open chat.
This was all related to the refactoring.
These parts, this isn't really, there aren't changes here related
to groups, is that right?
Doesn't, no, it doesn't change.
So would we expect if there were,
if there was outstanding work here in terms of something is broken or isn't doing what it should
that tests would catch these things?
Tests should, yeah, exactly, existing tests would catch that.
Okay, new group chat pop up and
this, and this is also used for
editing. So edit group goes here.
Did we update this breadboard after you and I simplified it?
I just want to double check.
I'm just wondering if it's been updated.
I think it's not here, has been updated, but I don't know
what were the, what
are the updates missing? Because I think it's look like,
looks like we discussed it. I don't know.
Yeah, I think it's pretty accurate. Let's make sure we didn't change it and forget to update.
No, no, I think it's pretty accurate. Maybe some
something is more maybe missing, but I think it's like 80 to 90%
accurate of what's happening right now.
File upload and voice note. These
are, are there changes here that have to do with the change to group
or are these about the refactoring?
Refactoring, yeah. Okay. Do you expect
tests to catch? Well, let's, let's actually, let's just capture those
because they are part of the work. So we're going to say voice note
refactoring. We're going to say file upload
refactoring. Now what I'm doing here is
I don't find it to be very realistic. There are teams
working in really like different domains where
they might want to constantly be updating the breadboard as a source of truth.
I'm not a fan of that. What I, what I, what I find usually is
that this work gets us to a point where we can start building
you know, and then what I, what I like
to do and find works best is I like to, when we're
in the building, to kind of switch to the
tasks and the scopes. Here the boxes are scopes and the tasks are the tasks
to becoming the source of truth.
Because then, because this can start to feel, it's
hard to know, like is this really up to date or not? But the thing is like the basic
concept probably hasn't changed. If we significantly reshape
the concept, then we would come back anyway to the breadboard in order
to do that, right? Like if we find out, oh, we need to
approach group chat editing very differently for some reason, you know what I mean?
Then maybe anyway we would be breadboarding. But if it's small changes
I would rather just kind of like, this was the intent of the concept
but this is kind of a source of truth, which is sort of referring to that, you know?
What else do we have here?
Push notifications. Yeah, I put a few things in the chat.
Just in the Zoom chat. Just sort of like group chat UI
there's two things and then voice notes there's two little items. I'm just basically
going to pull them out of Notion and then we have everything
on this board.
Yeah, group chat UI. Infinite scroll in
reverse chronological order.
And mobile UI polish.
It's a little vague, but yeah, we'll leave it for now.
Audio on mobile not playing.
We have push notifications as another
kind of category of work, right?
I'm doing my best to slice vertically here, where these are things that we could work on independently.
Let's see. I'm not seeing much else here.
So I kind of feel already like we could go to the next step here, which is what I would actually like to do.
So if we could maybe take a look at... I don't have access to seeing your board here.
I think we could actually...
Just in case this helps you, I'll press that.
Bruce, I ran into that before. For that, you need to have access to all projects and all tasks.
So maybe that's not practical. So let's do this instead. Let's switch to your sharing again.
Maybe Junauda, if you have it, or whoever has it handy. And I can screenshot it.
That's okay. I just gave it to you. It's just that it takes two seconds to share everything.
I'll just make you view only. That way you're not totally stuck in our entire world.
Okay, let's see.
It's this rjs. Hey, there we go. View, invite.
Okay, so you should just be able to refresh, Brian, then.
That way we're not having to stop and start.
It's possible that I'm not actually logged in to... Yeah, it looks like I need to log in.
Let me try logging in.
Yeah, let me give you this link then.
I'm rjs.ryansinger.co. On Notion. Sorry.
Ryansinger. Okay.
You said ryansinger.co.
It's rjs.ryansinger.co.
Oh, yeah, I see you here. Okay, cool.
Invite, and then...
Well, ignore all the extra invite emails.
Okay.
Here we go.
If only there was a really good task management, project management tool out there.
Yep.
We're about... Yeah, Notion is on its... I'm not convinced.
I'm even building something with friends because we need a better answer to this.
Yeah.
It's only a problem because we try to be extremely efficient, have one project database and one task database, and just everything is cross-shared.
So that's the problem with it is that it's totally up to us to build our own tool for it, essentially.
So anyway, you should be able to log in now.
I think I got you everywhere.
Okay, great.
So I am just looking for...
And then you can share your screen again once you're...
Admins and creators can start group DMs.
Yeah, I can share my screen again.
That's okay.
That wasn't too bad of a sidetrack.
So I can see tasks here.
Very good.
Okay.
So I actually just want to take these one by one, and I want to put them into this scope view.
And again, this isn't about you guys changing your tooling, but this is about a different...
I want to look at this in terms of scopes because that's going to make it easier.
That makes this review moment much easier.
Maybe there's a way to chunk them into scopes here, but this is what's missing in a typical...
So what we have here is we have tasks, but we don't have scopes.
So it's really hard for us to understand kind of like, are we actually checking off whole chunks of territory here?
And where are we in terms of the overall concept actually working and doing what it should?
So what I want to do is I want to be here and...
I just will say like, well, obviously we don't overhaul the entire tooling.
But I think the problem is when you pick a tool, you buy into someone else's workflow and thought process.
And so you end up adopting that.
And I would say across all of our projects, this little screen of the old way of doing it versus the new here on the right.
This would create a lot of clarity, especially when we're trying to communicate back to clients.
Because they start clicking around things.
It's hard to...
Same exact problem you had when you opened it.
You're like, I don't know.
I don't have status on what's working, what's not.
This would be a very helpful tool.
So maybe there's a way we can recreate it.
But I love the visual of kind of...
We even found a good way to create these scopes.
Yes, I can give you this tool also, and what I've found is at the moment we don't have any kind of comment feature,
which is something that you were talking about needing when you're working asynchronously.
The benefit, though, is that when you have names for scopes and you only have nine,
it does make it a lot easier to have the Slack conversation, because you can just refer by name.
You're like, in push notifications, blah, blah, blah, and we kind of know what we're talking about.
And I think maybe you can already see what I'm trying to get to.
I want us to be able to jumpstart the conversation about what is the work, what's done, what's not done.
And we're going to see in a minute here how this helps us to go to the next step of what's known and unknown,
and what's first and what's last in terms of what's important here.
So that's what I'm trying to get to.
Lucien?
Yeah, I'm wondering if it could be just as simple as we change our habit to in the task title,
we just prepend it with voice note refactoring, colon, audio not playing, and then voice note refactoring,
so that we see at a glance, in our view, in the dev variety, we have three on voice note, two on file upload,
push notification totally done, that's in review, all the tasks that have to do with that.
To me, that makes sense.
And then we keep our habits of keeping the conversation just in notion.
So just an idea for us.
I'll leave that to you guys to deliberate over, because there's probably a lot of options there,
and that's where you guys are going to have to wrestle with some trade-offs.
The upside of trying to hack the scopes into the tasks is you can, for example, sort,
and then they'll automatically group together if you sort alphabetically.
You do get to stay in your tool and do your comments and stuff like that.
What you lose is that what I found in practice is that actually naming these and separating them correctly,
it often doesn't happen on the first try.
So what we might start to discover is that there's actually a chunk of things that are all mobile
that would make much more sense to do together, because maybe there's a different person involved,
or it's a different chunk of work, and you might all of a sudden say,
oh, actually, this stuff all belongs here.
You know what I mean?
And that kind of renaming or very quick kind of reorganizing of what we consider to be the scopes
is really expensive to do if it's kind of baked into all the title names and stuff like that.
Anyway, that's what I usually see.
Usually there's a bit of churn to get to the right names of these things,
and the benefit here is that all that stuff is just editable, and you're kind of not committing to that.
But like I said, I think we could easily talk for an hour just about tooling options,
and I want to make sure that we're talking about what you guys want to be talking about.
Great point. Thanks.
So, okay.
Where we were was I was just trying to take what's in the old view into the new view,
and I think we're not far from that.
Refactor file upload.
This was a task.
So, this is just a reminder.
Totally cool.
Totally reasonable.
This is just a reminder that there's still refactoring left.
So, like, I don't know what that is, but this isn't done.
So, this is kind of like a scope without tasks, right?
Like, I don't know what this actually means.
Is that helpful, by the way?
If you've got some things, let's just drop them in.
Yeah, it's just you can say just, like, simplify video slash image slash file upload,
which is pretty much the same thing.
Basically, we used to have, like, four buttons, like, one button to upload a video,
one to upload an image, one to upload a file.
It was really silly, and so, like, users wouldn't know which one to click.
So, we really simplified it to just a single file.
It's something called a file, and then we'll just figure out what type of file it is,
and we'll do different things to it.
So, I've already got it mostly working, but there's, like, a UI piece now.
If you click file upload, like, a menu of four items pop up, which came in just with the refactor.
Ah, so, okay.
So, you have a, in the current interface, as where things stand right now,
you have a button, which you click, which then gives you kind of four more buttons?
Yes. Unnecessarily, yeah.
Uh-huh, and you want to condense that down to a single button?
Yeah, ideally it's just, yeah, you could say like single upload button could be potentially
the task there.
And then you could just say like, I don't know if you want to put testing in here, but
like test for each file type essentially, because a video will be displayed with a video
player in the chat.
So you, is it like a dedicated button directly for each type as opposed to burying the behind
the general button?
I'm just going to make a general button and you would just choose your file.
And then when it's processing, it's going to basically determine if it's like how to
display it into the, in the chat UI.
Uh-huh.
Okay.
Right?
That's great.
Yep.
Okay.
So maybe what you're noticing here is already where we kind of have a space to very easily
create more concreteness around what this means.
So this is kind of the, the similar to what we did with breadboarding where the breadboard
helped us to clarify what it means.
This is kind of what we're doing here, right?
Because we have the space now to just sort of spell this out a little bit more.
Okay, good.
Um, AI moderation?
Um, kind of its own fact, um, and this is one of those things I'm potentially looking
to just to scope out for this release.
It's built in.
I'm going to use a convention for that.
This tilde is a very useful convention.
It means maybe we don't have to do this.
Great.
And it's a nice way to not throw it away and not yet say no, but to mark when you know,
which is helpful later.
So for example, like if there's anything here that is actually not a must have, we could
also mark it like that.
Do you know what I mean?
Yeah.
And that's a, that's a very handy thing.
Okay.
That's great.
Yeah.
What does this mean?
Or, or, or maybe we don't have to spell it out because it's all anyway, maybe not happening.
So it's, it is kind of working in production, but since we did the refactor, um, that got,
uh, we just put it aside first for a bit and I was basically, I massively simplified chat
and then we slowly added all the features back.
Um, so as I'm touching each of the features, I'm kind of simplifying and making them better
as I bring them back in.
Um, so AI was one that got, um, paused essentially for now, but that makes me feel so much better
that your thing got a 500 here.
This is totally alpha like used by, uh, uh, Oh yeah, there it is.
Yeah.
So yeah, this was from our, our first session, but first one, okay.
Yeah.
Um, yeah, good.
Okay.
Um, sorry.
Um, we can break it into small, it's essentially just enabling, uh, the, the, uh, the AI moderation
API, um, and, um, and then just, you know, testing for, uh, just making sure it's, it's
working.
We have a, it's a, uh, feature people, uh, our clients can turn on or turn off and most
of them aren't using DMS.
And I think some of them are using that, but it was a kind of a safety issue for people
to feel safe in the, in the chat, creating a safe space.
So we just, every message and image that gets uploaded goes through, uh, AI moderation to
check for, um, language or, you know, appropriate content.
I see.
Uh huh.
Okay.
Mm hmm.
Got it.
Okay.
Um, uh, infinite scroll on chat history.
We have that now here that belong to the group chat UI test screen flow on mobile.
I kind of put that in the chat UI, that mobile polish piece.
Um, what does that mean?
Um, just, uh, so in, in desktop, you have like your, your conversation list components
on the left and your chat UI is on the right on mobile.
Those are two separate pages almost.
Mm hmm.
So you're on the conversation list, you tap and you actually kind of goes to a new page,
which is the new chat UI.
Yeah.
Just making sure we're getting in and out of those screens correctly, cause we've added,
we changed quite a bit of the flow.
Um,
Yeah.
Great.
Um, okay.
Um, uh, group push notifications.
We have that captured here.
So this would, I think we had something about sending.
all members of a group chat, like a notification.
What were you thinking here, Jonatha?
I think we talked a little bit about this.
And also some of this is on the breadboard,
if that's another view that might be helpful.
What did we say?
You've been added to a private group chat.
This you decided wasn't necessary.
New message for group name.
That's all we had here.
Regarding the push notification flow,
it's basically because at the current point,
testing push notifications properly is kind of blocked
because we haven't finished the work
on the test on the mobile screens.
So to test the push notifications for the group flow
and for one-to-one message,
actually, so we need to test for them both
because one-to-one message will refactor as well.
So we need to test if push notifications
are working both on groups and, sorry.
I don't think you're muted, Chris, or whoever's that.
Oh, okay.
And for groups, you also need to test it.
We've implemented in a way that we are kind of,
that what I said there earlier,
we are kind of already using the send message flow
to kind of notify users.
So when we added the group
or when we add someone to the group,
we send this as a message to the conversation.
So this should automatically trigger a push notifications
to the users in that group.
But all this flows, yeah, that's why you kind of need to-
Now I understand what you meant,
that the system is leveraging
the existing send message mechanism in order to,
so you hacked the send message notification
you already have.
Uh-huh, okay.
Is there any outstanding work with that?
Is that something that still has to be verified?
Is working?
All this flow that I've mentioned needs testing
because we weren't able to test all this
properly on mobile yet
Uh-huh, uh-huh.
Because we are waiting for the,
for the,
what, where is the task?
Kind of what Bruce was telling about,
like in mobile we have two different screens,
one for a chat list and another one for the chat history.
And this flow is not working.
So we need to kind of,
to make sure that this is working
before we can conclude the push notification.
Very good.
So this is an example of something that came up
where it breaks the verticality of the scopes.
So if I'm looking at things that we can,
if I'm trying to get us victories earlier, you know,
things that we can mark off and say,
this is done and we don't have to think about it anymore,
this feels like it actually belongs here.
If I want to, if I want to be able to do these things,
I can't do them without this, right?
But I can, for example, I can condition the edit group
without caring about this mobile navigation
between the states, right?
So this is an example of trying to scope.
It teaches us a little bit about
how to slice the animal up, you know?
And my inclination is to move this here
and to say, this is actually mobile.
And my inclination is to try batching them.
This is an example, by the way,
of how it's nice to be able to just rename things
on the fly very quickly, you know?
Cause this starts to feel more like an achievable scope,
right, like make sure this is all fine
and then get the push notifications working, right?
Let's see.
Okay.
Implement user role restriction
for creating updating groups.
That's what we said here.
And that's also what we said here,
but it's also interesting, right?
Because this starts to feel
like it's actually its own concern.
So my inclination here would be to say
user role restrictions.
And then just move these like this.
It's just another way to think about it.
There's no right way.
I'm just kind of seeing if we can get to a point
where it's a little bit easier to like see what's left
and have a full picture.
Testing mobile group messages.
This is what we talked about.
Implement user role restrictions.
We just talked about audio preview not playing
is an issue.
Yep.
I think, yeah, sure.
We have to add to the voice note effector.
I had that in the mobile.
Where did we have that?
Voice, yeah.
That was just in the voice note.
Audio on mobile not playing.
Got it, OK.
Is that different from here now?
Do you actually upload the audio now through here?
No, it's like a voice memo, where you tap to record
and it does a recording right on the interface.
It's something else, got it.
Yeah, it's a little different.
Just one thing.
This preview that's tracked on Notion
is not working on the web as well.
So it's not just on mobile.
The recording piece?
Yeah, you can record, but when you stop recording,
it stays a little preview on the text field.
And if you play it from there, it's not working.
You have to save it to the chat and play it on the chat, yeah.
That's only if you want all the audio players to work, Gennaro.
That's true.
I did forget about that.
I will fix that.
Preview isn't working on desktop, is that right?
And probably on mobile as well, I believe it's possible.
Yeah, you could just say preview isn't working, period.
Yeah, uh-huh.
OK, I'm just a little bit erring on the side of being verbose.
It's great.
And then I think we're coming to the end.
Red flashing screen after sending message.
Does this belong to anything that we already
have here in terms of a certain area that we could?
Uh-huh.
Yeah, just say, um.
Red flashing screen of death.
Yeah, it's a null error, essentially.
It's the, we're laughing about it
because this is what was broken in the original code.
And then we decided to refactor it.
And then it was actually working for a little bit.
And then something we introduced basically
brought the one thing back that we were trying to solve.
So I was complaining to Gennaro about it yesterday.
But I'll look into it.
I skipped over one thing, which was this open chat
to one to bang chat.
I don't know what that is.
I think that is, is that working?
I think it's working.
Yeah.
Like we just opened the chat, like.
Yeah.
Or what is working properly?
We can work that.
I mean, you can ignore that.
I think what we'll do is we'll take what we end up
with this list.
And we'll update Notion after this
to reflect what's on the new grid.
Yeah.
OK, then we've got infinite scroll.
No, we've got a clear search filter console messages
I also skipped over.
Does that belong anywhere here?
Conversation list.
You can just say like, yeah, clear.
OK, and then delete unused collections in Firebase.
Does this belong to anything in particular?
Or is this something else?
It doesn't.
But we could, again, this could be another tilde option.
It's just a tech debt cleanup that there
are in some projects, like multiple collections that
are not used.
We're just kind of using as an excuse.
Yeah.
So there's a bunch of different techniques for how to do this.
But I don't want to stress on that,
because I can feel anyway that this is maybe
heading back to Notion.
So I don't want to worry too much about perfecting this.
I want to just kind of see what we can get out
of this in terms of next steps.
So I'm at a place now where I feel
like I have a good overview.
I feel like I have a 10,000-foot view I didn't have before
about what the work is that's left here.
We would be seeing a bunch of checked off things
in these different scopes if we had done this from the start.
But that's fine.
We're just looking at what's outstanding here.
So the first question that jumps out at me is, with a week left,
do you have any reactions, guys?
Any of you, in terms of what this means to you
in terms of the amount of work?
Is there any immediate reaction to that?
Or does it still feel fine?
I feel like there are a few points on the refactor that
could potentially become an issue.
But I also feel like at the current point,
we would be comfortable in releasing a version,
for instance.
I don't know.
That's something for Bruce to answer for.
But at least in my view, the chat
is so much better now that.
uh, I would be comfortable launching a version without the file upload, for instance,
then going back to the other version. So even if we don't make it to everything within the one week,
I think the progress made is worth it. So we can kind of cut things down and still deliver.
Something that will look like progress to our customers.
So I'm hearing yes, yes from Bruce. So I'm going to go right in with the tilde here.
Yeah. And, and I don't know if you were going to, I know I'm happy to use this when we're done with
it. I wouldn't have to move it to notion about this. This will be our new, uh, source if that
makes it, but would you also re sort these potentially, like you can obviously conversation
list, you know, is more important than, so like the things that might not make it are going to
be the last on the list potentially. So, um, what I like to do is, um, uh, we, I like to be
very explicit about sequence. Now different teams have different attitudes towards things like this.
Some, some teams don't like having a stiff plan and some teams feel better with a plan.
What I usually find helpful is to have one or two things that we mark as like, this is like the first
and second most important thing that we're going to do next. And, uh, um, I just use the sequence
feature for that. So this is just, just activating on and off. And that way I don't have to worry
about the exact order of everything. You know, I can just kind of call out the maybe one and two
things that are the most important to do next, but there's, that's totally personal preference.
Do you know what I mean? Like if, if, if you like to move all of the tilde stuff to the end
and kind of use just the position of things, you know, that's, that's just a kind of a preference thing.
Um, uh, okay. So we are, this, I like this, this, um, what I like is that the negotiation is kind of
happening right now around what's really important. Um, and we're kind of using our 10,000 foot view
to have the negotiation. What else, uh, what else, is there anything else that stands out here as like,
that could maybe push us beyond the week and we, we should question it?
The mobile, I mean, the push notifications, um, looks heavy just visually. I know there's like
four tasks in there. Um, it is potentially, uh, a rabbit hole just because we, it's, it's somewhat
difficult to test in some, uh, cases just because you have Android, iOS web, you're trying to test,
uh, and get, um, I don't know, maybe Jonathan is, he would probably be the one doing that.
So I want to react to something you said when you said, by the way, I'm playing a similar game.
Remember when we were breadboarding, we had this little kind of game rule of like, everything we
say gets updated on the board. So I'm playing a similar game here, but in a different tool.
So here, what I heard was this might be rabbit holy. And I'm going to do, what I'm going to do
is I'm going to, this just for the current version of the way we do this is we just, we have a flag
and the flag means like, this is the flag. So I'm going to, I'm going to, I'm going to
danger. We could still decide that's orthogonal to whether this is in or out of scope. Right.
Those are two different questions. Um, uh, so there can be the discussion of whether this
is needed or not, but that's a way for us to mark, like this might be, this is by the, this,
you can think of this in shape up terms as the equivalent of a warning that this is uphill work.
You know, there's like a lot, we don't know about this still.
That's helpful.
Okay. Did you have, did you, uh, more, did you have more thoughts? I interrupted you about mobile
and push. No, I'm just going to see what you're not, uh, um, maybe, I mean, I have him overthinking
it. I just know there's a lot of, uh, those are kind of, uh, a weak area of the app right now is
getting a notification and getting taken down into the correct place. There's like a couple
other bug open bugs right now with that. So I just didn't know if that's like a,
it seems like you said, it's very, it's, it's uphill. Um, or am I overthinking it? Yeah.
Yeah, I agree with you. And I wanted to add that I feel like, uh, both like mobile and push
notifications and voice note, uh, especially for the mobile are items that, uh, I feel like they
could signify danger because, uh, of what Bruce highlighted of having to test between different
devices. And it's something that enough itself is something that takes longer because just to build,
uh, in iOS and Android, it's takes a lot of computer in machine. It's a slow process. You
have to wait for the build, uh, and you have to test between them. And if you do a fix,
you have to stop both builds and.
Run again.
So just this process of going back and forth different, uh, operational
systems on mobile, uh, creates a kind of, uh, friction that would make me
wants to move this both down on prioritization list so we can get
everything else properly working.
And then we can address this kind of two items that could be slippery
slopes in terms of development.
Yeah.
I would agree, except the fact that we've kind of opened Pandora's
box on this by the refactor.
So like, uh, we either need to put it back to what it was or just push
through, like we're, it's kind of, you know, it's in a, uh, neither
fixed or, or, uh, broken state.
It's kind of in this, uh, in between phase.
Um, so we just need to figure out a solution there.
Um, because you said if the audio is not playing, um, but yeah.
And the other thing to do on all of these, it's another factor is
potentially just simplifying within the scope of these are like, uh,
do not, I like, I simplified everything down to like wave format for the
audio codec, which is apparently supposed to work on all three devices
instead of having two different codecs to deal with that we had in the previous
part is the key part, supposed at least in my experience, that was,
that was not what happened.
Like, yeah, I know, like do some custom stuff for Android and for iOS.
And we can surely take this back.
And this probably, uh, won't take long in terms of what I feel is
just like, this is just doing, we know what needs to be done because
we have done on the past.
We have made voices not work, but they are just this flow of testing
between Android and iOS is something that takes more time.
So, but I don't think on mobile and push notifications, there are a
bit of unknown, but on voice is not like there's unknowns.
It's more like it, it will probably take a little longer because
of this back and forth.
I see.
It's, it's not so, it's not so much that it's an unknown.
It's more like, um, there you're pointing out that these things are
not quick things because of the back and forth that it's yeah.
Totally.
Mm-hmm.
Um, I want to point out one thing, just another, um, when we, when we
have a scope kind of nicely defined, do you guys, did you guys just
have the feeling like this almost feels like a little mini project?
It was like, there was all these kind of, it felt like its own thing
that you had to make decisions about.
And you're kind of making shaping or framing calls around, like, do we
want to invest more time in this?
Do we pull it back?
Like, what is it, how do we deal with it?
Like, that's kind of a good, it's kind of a nice feeling when you're
working at the scope level, when it sort of feels like that, you know?
Yeah.
I mean, we, we are, I mean, we've literally put projects within projects.
Uh, the first being, you know, an entire refactor, uh, of the entire, of the
entire module, which was built over the course of, I don't know, two months
previously, and then we rebuilt it in a weekend.
So yeah, I mean, we're, we're, we're in pretty deep, I think, and this
may be, I did have a question, which we can address now, maybe this is a
good time to address it about projects.
Because you mentioned something which kind of haunted stuck with me for a few
days after we talked, but we were talking about framing and you were like, I don't
think you're really convinced, or I'm not so convinced about that the framing or
the why it is accurate here that I'm, I'm even convinced myself that, that what
I'm telling you is, is, is the truth.
As far as like, this is the most important thing that we go work on.
Um, and so to me, we're kind of, we are doing a lot of different things as a team
and we're trying to, uh, scale horizontally as well to have more people.
Like, but I wanted to get our process dialed, obviously working with, with you
and kind of get our core, um, like workflow down as a team before we start
bringing to, you know, new people in to that.
But right now, because we're doing a lot of different things, our tensions
on a lot of different things.
Now we're, we're kind of all focused on DMs right now for tribes.
So we're like, to me, like whatever we ship next week is probably the last time
we'll look at DMs for the year, like realistically, unless someone
complains and something breaks.
Um, you know, we've just got other things potentially we're
wanting to, to, to go into after that.
Um, so I don't know how we sort of weigh, this may be sort of zooming way out
then, like, cause, cause that's just came up as we're thinking like, Oh,
maybe that's another project.
I'm like, I'm just thinking like, if we don't do it this week, like, I
don't think we'll do it this year.
No, that's, that's, that's, I'm really glad you, you, you mentioned that
because I should use different language.
What I like about where we got to is not that this is another project, but that
it, it, it got untangled from everything else, so this isn't a few, this isn't a
few things mixed into the rest.
to this DM thing, it's carved apart,
and I like how it's presenting itself now for a decision.
Like, okay, we don't wanna actually take this on
as an additional project,
and it's part of this DM thing, right?
And we don't wanna spend more time on DMs.
So therefore, as you look at the fact
that there's only a week left,
that should help to make a decision about like,
how do we deal with this so that we can walk away from it?
Maybe it's reverting, maybe it's something else,
but you know what I mean?
What we wanna be able to do is to have that conversation
about this whole chunk and to get to a clear place of like,
oh, if this isn't worth it,
then we're gonna either like not do this,
or we're gonna figure out what is the task
that gets us out of this work.
Yeah.
That's good.
I mean, the first task there, obviously,
is like revert or refactor, essentially.
So, yeah, I'm sure it'd probably be like
at least an hour or two to revert it, potentially,
because now we've obviously changed
quite a bit of the code base.
So potentially now, like, you know,
we could end up spending more time on that.
What I'd probably, and tell me this is the way
I'd sort of approach it, would be like,
I'd give myself a time box, like four hours, five hours.
If I can get it 80, 90% in five hours,
we'll make that call.
If it looks like it's going to a second day,
then let's like back out and simplify.
And also just looking at the division of like energy here,
like Jonathan is pretty much running the first row
is all him.
And then I'm only doing the voice notes right now
because I was doing file upload.
I was doing AI moderation.
So those things we pulled off already.
That's actually the only thing I have to do
is maybe potentially the voice note.
And then, and maybe that filtering
the console messages, potentially.
But is that right, Jonathan, is that how you're seeing it?
Or is that the only one I was going to do?
Yeah, I think maybe this one
and the first one from mobile and push notifications
and all the other ones, I believe.
I can even do the first one, like, but.
That's not, yeah, that was not all tasks.
Some of them are like 10 minute tasks.
Yeah, and the infinite scroll, I see.
I was thinking, I think I had that one assigned to me,
the group chat UI potentially.
But like, it's not an, you know,
if Jonathan was doing the other five and this is one thing,
even if this was 50% of what's left, if that makes sense,
like this voice note refactoring could be 50% of the work
in theory of the next week and still be okay.
Yeah, this is something I also have a feeling that
as we do the shaping process more truly
and like do it better, I think it was a lot easier
to kind of tackle the problem from different angles.
And Bruce was able to like made a lot of progress
that was kind of easy to connect with what was doing.
And that's exactly what happened.
We kind of sliced the monster
and kind of each one went in a way.
And then at the current point,
we are kind of merging everything together
and testing everything,
which is kind of what's being reflected here
on this new board that we are creating.
So yeah, and that was something that I believe
it was a nice extra from the shaping process
because originally I was going to tackle this issue
almost by myself.
And then when we did the shaping,
it was like this raised a problem
and Bruce kind of was moved toward that direction
and was able to make a lot of progress
because of the decisions we had made
and the understanding we had.
And from that, we kind of build upon that.
So I feel like the decision
to kind of revert to the refactoring
is kind of very not risky,
but I don't know, I think it's more,
we can kind of try to approach this.
And since we are doing it,
me and Bruce at the same time,
I think it's something totally doable
to have this first version of refactoring done.
At least in my view, I would feel comfortable
like maybe releasing one version
that has an issue in.
a specific platform, for instance, maybe audios recorded on the web won't be able to be played
on Android on the first version, but I believe in even so it will be a better release than
the current chat that we have.
So yeah, that's how I'm thinking about it.
Yeah, cool.
Yeah.
Kind of one thing I heard in that was like, we're taking a slightly different view on
the tasks right now, which is more about how does it all integrate and what scope gets
left out and what scope do we want to bring over the finish line?
So it kind of comes back to that, well, the way that I wanted to sort of frame the session
that it's, you can track everything in tasks and that's a valid approach.
It's just that this style overview is a little bit more about how does it come together and
about having the negotiations around the scope as opposed to the status of many, many individual
things.
I've got one thing I wanted to raise looking at all this, which is my instinct, my first
instinct is to flag this.
And then I want to like, almost like check the shaping of this before I unflag it.
So it's kind of like, because when I look at the breadboard for how this warning happens
and I look at what's built in the demo that we saw, I don't have a clear sense of like,
where does this appear and when does this appear?
And is it an easy drop in with everything that's already built or does it in any way
conflict with what's already built?
So this is kind of a question.
So maybe Gennaro, do you have any thoughts on that?
Sure.
Yeah.
The way I was seeing it was kind of literally just adding the warnings when the model, which
it's the new group chat pop-up, but, and that we are using for creating and editing, but
when it's on edit mode, then below the search users and add users flow, we could add a small
warning like remove users not to be able to see the history, new added users will be
able to see the whole history.
It's kind of a quick way to solve it without having to do any kind of complicated logic
because it's just kind of, Hey, this is an edit mode right now.
So we can show these warnings below the pop-up.
Got it.
So what I'm hearing from that is, it's a little bit like a detail from the shape that if we
put it into the shape, then I kind of feel like, okay, I can see that, that it's like,
there's actually an affordance, an affordance in this pop-up in this dialogue, which is
kind of always there, but sometimes invisible that, you know, where it goes, you know, where
it appears and it sometimes turns on and sometimes turns off depending on the state.
Is that right?
Yeah, exactly.
I can.
I'm.
Yeah.
I don't have permission.
I was going to edit, but I don't have the permission for that.
Oh, sorry.
Did it already send it?
I can just hit it.
This is a place by the way, where if you want this, where we, it, we could have a little
bit of technical detail added to the breadboard, but I think it's I want to make sure that
we use the last 30 minutes on what you guys want to focus it on.
So we can come back to that if you like how to annotate, what would it look like to annotate
that here, you know?
So, but if, okay, so, but that's enough for me.
So this is, this is an example of we had this here on the scope, had to raise the question,
do we actually know how to do that?
For example, because if you had to do the warning on a separate screen, then there would
be this question of like, do you have to transport the data of the uncommitted change like to
some further screen?
You know what I mean?
Like some complexity could appear there, but that's not the case.
So my instinct is to say, this isn't, I'm going to remove the flag, this isn't an issue.
It does belong to create edit group, just as we thought, and everything is fine there,
you know?
If, if you guys had more than a week left, if this was a, if this was like, if there
were three weeks left in the project, I would want to be using the sequence piece of this
to, I would want to be talking about like, what's the thing we're going to look at together
next week, you know what I mean?
And, but with only a week left, it doesn't really feel meaningful.
I don't know.
Do, do, Bruce, do you?
Do you have any sense of like, there's something here
that I especially want us to focus on
that we are all going to get that thing answered
first or second or third?
I think, I mean, to me, everything feels known.
And I think there's also priorities here,
like the order you've got them in that top row, I think,
is a great first thing to focus on for Junauda.
I think if I just chip away at the voice note piece,
we'll kind of make by, let's say, tomorrow or Thursday,
we'd be making that decision on,
do we go or freeze where we are right now
and just put the old version back
just so we can publish it?
Because there's probably like, I'm with Junauda,
like we fixed 30 other small things
that didn't even get tracked in Notion or here
that we just fixed by refactoring
that's just cleaner and better.
So the overall module is more solid.
And now we've also added the group chat feature.
So potentially, it would be great to move forward,
even if we revert just that one voice note feature back.
But then that's the only thing that feels unknown to me
is just that piece that I would want to focus on.
I mean, if we had an extra week, maybe that was your question.
Like, if we had more budget, where would we spend it?
Is that the question?
Yeah, I think it's just maybe not relevant here.
If these things were bigger and the project was bigger,
you know what I mean?
Then you might want to be aligned
on what's the thing we're all gonna look at
and feel better that we're making progress next week.
You know what I mean?
But I just don't think that's the case here.
There are bigger projects where it's like,
this is the most important thing
and we all wanna see this solved next week.
You know what I mean?
But where we're at right now,
it doesn't make sense to really pull anything out,
I don't think, because it's kind of like,
it's more like all of this should be done
and we feel like it's reasonable.
Yeah, if we had two weeks instead of one week,
I'd probably say like, hey, by this time next week,
let's have voice notes done or totally refactored
so that it wouldn't be a factor anymore
and then we could just focus on the other stuff.
Because that, to me, there's just some,
we could end up, either kind of go, no go on that piece.
I think that would probably, for me and Jonathan,
feel more manageable, more con,
like that just feels a little bit
like a wild card right now still, so.
And the first item from this one,
I believe from this one,
mark the mobile and push notifications.
If we were able to get the first one done,
I believe it would be like,
because it also unlocks a lot of things.
Regarding mobile testing.
Usually, this is a pattern that the flags
are usually the things that we end up deciding
we wanna do first,
because we don't wanna leave that
until we think we're at the end of the project
and we only have a day left
and then it turns out that there's a bunch of issues here.
So when you just have one thing flagged,
I don't think it's really necessary to sequence,
but if we wanted to, we could kind of say that like,
you know, we wanna have answers
to these things very early, right?
Because the rest of this is kind of like,
it sounds like very known
and it's more just a matter of getting it done.
Does that sound reasonable?
That's good.
Okay.
I feel like we got to the point
where we've updated on what's working
and what's not working.
We've created an integrated picture of what scope is left,
what would it mean to finish the different pieces
of the things that we shaped?
And we have clarity around next steps
of what should be happening next
and what is the next,
what is the remaining week look like?
So to me, this kind of feels like a successful review.
Do you guys feel like there's anything hanging here?
This feels good.
I would just love to hear from Chris or Lurchin.
I know Jonathan and I have taken up all the dialogue here,
but you guys are looking at this probably
through other projects, other clients as well.
Like any thoughts on this flow or this project?
Well, to me, it feels like it's a good alternative tool
because I was doing like with like
just individual task reviews.
So I haven't like got a scope level.
It's a better tool for like decision-making for sure.
This project itself like seems like pretty clear.
I don't see like red flags or anything like that.
I was like curious about, um, well, we talked about earlier, like, how do we
expose like backend details in the breadboarding?
So if we have time up for you to get to that, or if you have like research,
can you just like point me to like, I'll watch this video or like read this.
I don't yet.
Cause this is new, but it's, it's quick.
So I'll just give you the quick version of that.
Um, so let's take, uh, let's take this as an example here.
Um, let me just, um, copy a couple, let me just give myself some presets.
Um, so what, what I've been finding pretty useful so far, but this is a
little bit still R and D is, um, is we, we, is place and affordance is
what we've been using so far.
And then we have, uh, two other elements.
One of them is just this gray box and this gray box just simply is, is for
something that's happening on the backend instead of the front end.
And I've been finding two conventions to be useful for this.
Um, I have, this is a little bit language coming from the event source world, but
you don't have to be, most people aren't event sourced, you know, so that that's
not a, it doesn't matter, but in the event source world, you have this notion
of a read model, which is really similar to, I don't know if you guys
have experienced with react.
It's the same notion as the props that you have to, for a react component.
And it's also the same notion as like in a rails app, all the instance bars
that you're, that you're preparing in a controller, you know, there's like
basically like, what's the state that you, what's the shape of the state
that you need to hand to the view.
So if there, if we want to specify, so let's say this is, um, create slash
edit group chat, right?
And, um, let me just look at what you had for that event.
You had search users.
You had list of added people.
You had new group name.
Uh, and then we had a, we had a create button.
Okay.
So if we just take this as an example, if this was just looking at it through
the, uh, uh, a little bit, like, I'm just going to take this kind of react style
approach, let's just say that there's, um, uh, uh, uh, current members.
And this is some collection of people and I have, uh, pending
members, which are like people to add.
And let's say like inside of current members, I have, uh, the, I'm just kind
of doing like a type definition here, almost, you know, like for each one of
these, for each one of these, I could have something like, and I'm just doing
this in pseudocode instead of like caring about trying to do it in some proper
type, but what I could say is basically like marked for removal, it's like
Boolean, you know what I mean?
For each one of these things.
So I can kind of like, I have some kind of a sketch of like, this is
the state that I want to be having.
Then if, so for example, list of added people, um, I have the, this is nice.
So if I have elbow arrows, finally in TL draw, that's why we can do this.
Um, I could have, now this is actually a component that we could break
out if we needed to into more detail.
What's going on here.
Right.
Because the list of added people, if I remember it, it has this like
remove affordance on each person.
Right.
So, um, from, from there's different ways to do this one way, one way of doing
this is to say, I, I'm not going to care about that.
I understand what that component is according to some sketch or something
and I'm going to actually have a mark for removal command or a
toggle mark for removal command.
And then I'm just going to say like, this thing can do this,
which then updates this state.
Do you know what I mean?
So you can kind of think about like, you can reason through how this
re-renders when this state is different, because now somebody
marked for removal is true.
Right.
Um, that's, that's a simple example.
Um, of course, like when I search users, there's something similar happening
there, which is like ad depending.
Right.
Because I can choose somebody from the, uh, uh, I think you actually have, um,
there's actually another thing here, which is like the search results.
You kind of have this, like, you have this like search field and
then you have the results and, uh, the list of added people was
above that, if I remember right.
It was like, you had the group name on top as a field.
Then you have this, like the added people where people are kind of chips that you
could remove and then you have the search field and you have the results.
And if I click on a result, then I can add, I can add that person to pending,
which of course then is going to update my list of who's impending here.
Right.
Yeah, that's helpful.
I mean, it pretty much answers the, my question.
Cause like, it's sometimes like the affordance like makes it super obvious,
but when you expose the data shape, it like shows like why it actually will
break the affordance and break a bunch.
Exactly, exactly.
That's where you want to see that.
And if you want to, you can think of this, if you want to, you
can think of this as a function.
And the function has like a, it has like a, like a type signature for
like the shape of the data it takes and the shape of data it gives.
You know what I mean?
Um, so that's there.
And then one other, yes.
So then the, if this is like, this is like what I'm finding is that like, it
has to be fast when you're breadboarding.
So I I'm erring on the side of being dirty and then only at the very, when
it's really needed, you know, like getting more complicated.
So what I'm finding is that this is very often just enough.
So what I, the convention I've been using is, um, if we have any marked for
removal, you know what I mean?
Then what I'm going to do is I'm just, I'm literally just going to, um, use
indention just to show that I'm going to have like a warn, um, won't see history.
Or, you know what I mean?
We'll lose history.
And then I'm going to have, um, if pending, right.
So I'm also kind of building my domain language here a little
bit, you know, on the backend.
Um, then I'm going to have worn, um, we'll see history, right?
Yeah.
Um, this, I've found that this, if can some, I can actually just use
the same thing if I want to over here.
There might be cases, let's just say this is not what you guys ended up actually
doing, but you might have a case where you actually have a, um, uh, you could
just have a create a create conversation command, uh, that does something.
And there could be some logic inside of here, but if we want to expose that for
business reasons or whatever, or to understand it, we could do something
like if one member create one-on-one, this was an early version of what we
shaped and we decided not to do, you know what I mean?
But like, if many members create group conversation, this is just kind of like,
I'm here, I'm just hacking it.
You know what I mean?
But I'm just kind of showing like here, this is, there is some control
flow here, and then this would probably take you to the group chat UI versus
this would take you to the one-on-one you, you know what I mean?
And so on.
Right.
So, um, anything missing when you see this, anything that you,
I feel equipped to better, like, uh, better exposed to those of my thinking.
That's nice.
Do you feel equipped?
That's a good, that's nice to hear.
Okay.
That's the idea.
Yeah.
Um, cool.
And I can see this applying, but specifically for the tag, um, I haven't
even, we haven't talked about that recently, but this would be like for
the, the evergreen project.
Cause it's, you know, it's a pretty much all backend, uh, project to figure
out this logic of like when people are at it or seeing, or like we, like
the shaping we already did is pretty good.
There's just like, like one specific piece that's like, I think we're
a solid 20% shaped on that.
No, no, no.
But it's like, it's weird.
Like it's optional.
We can just like leave a improperly named database table and like kind
of live with it, so I dunno, just like based on like all the discussions we
had, like in my head, it's like very clear.
I just, I didn't like expose that, um, in like a breadboard, but I feel
like this project is pretty clear.
So guys, I want to, I want to land this in the 15 minutes we have.
Um, uh, and, uh, I just want to make sure that we cover, um, takeaways from today.
Um, what do you got?
Um, and I want to see like, um, differences from how we did it today
versus, um, what you, how you, how you normally run a session like this.
And, um, anything that you want to take from this forward, um, into future sessions.
Chris, I didn't, I know you jumped in with the backend stuff, but did
you have any comments on this?
No, I've been, I've been hacking up, hacking up a log.
over here, so apologies for the noise.
But I think it was useful to see how you cut down
those projects into really the most necessary bits
and how you identified maybe duplicates or implications
between them.
I think so often we kind of just rush into things, I know I do,
and don't think about the connections
and some of the subtleties.
Like being able to have that removed
and keep in framing mode and then kind of thoughtfully
go into shaping mode is very useful.
I took a look at that monster map tool
and I actually played with it.
I like how it forces you not to weigh down things
with maybe things that aren't, or details
aren't as useful in keeping it at that high level
while still referring to things that require further thought.
So that was very useful for me to see.
Cool.
It got me reflecting on like, because we
did some review sessions in the past
that I felt like we did a really good job of being like, OK,
we have this much time left, just cut this.
And it makes sense.
And I think you gave us good tools, alternative tools,
because we were just reviewing tasks.
But I'm just wondering on the habits or process,
what do it look like?
Maybe we have like a two week project
and we do like a demo, like just make
a video of what's been done, what it looks like.
And if the developer doesn't do that,
then the owner kind of comes in, schedules a meeting to review.
So I'm just kind of thinking, what
can it look like for our team that will be for us
to further discuss, I guess.
Mm-hmm.
Yeah, can it be done asynchronously, you think?
What I've found tends to work best is in the same way
that we have this kind of like punchy synchronous shaping
work that then pays off until a lot of async work
comes out of that, because it's easier to know where we are
and what we're doing.
The map with the nine boxes kind of works the same.
I've seen it like when we did this at Basecamp,
the scoping conversations could happen via chat,
but it's like synchronous chat, you know what I mean?
Like, I think we need to scope for this.
And then somebody like types it, types it, types it.
And then you're like, no, this, this.
You know what I mean?
So that kind of thing can, it's real time.
I don't think there's a way around doing it real time,
basically, because it is a kind of group negotiation
and building a group understanding of what this is,
but it should feel, it should feel like this little bit
of real time that we did is now paying off
because we have so much more clarity
in the async conversations that we're having.
Like the async conversations should feel faster
and more to the point, you know, and more substantive
because you have this common map.
And then if you get to a point of like, wait a minute,
like this doesn't reflect what's really going on
or like some weird thing happened and we need to regroup,
you know what I mean?
Then you can regroup again.
But barring that, usually what we see is like that,
well, yeah, that it's kind of like we have the map
and now we can just kind of work off of this async
for at least, you know, a couple of weeks, you know.
Yeah, I think one thing where I'm learning
to not be attached to, and this may be to your point,
Lucien as well, is like, we kind of like put everything
into Notion, like these sacred tasks.
And then it's like, they just,
we just like move these things around,
which I think even just the exercise of like
putting Notion over to the side
and redoing the list of tasks into a new format,
doesn't even matter.
Even if you put it into a Google sheet, you know,
or something else, there's just a,
it just helps you to like look at each one,
pick it up, figure out where it goes.
It's kind of like, we just got into like puzzling,
puzzles with our four-year-old like this weekend.
Like you're picking up every piece.
You're like, is this a straight edge?
Like, does it go into this pile or does it not?
Like we're figuring out where it goes.
And unless you're, you just don't see it actually,
if you just see the list, like it just looks like a,
you can't see the individual pieces.
Yeah, your eyes kind of glaze over
when you look at the list, right?
Or when you look at a, whenever I look at a Kanban,
like I just like space out, you know, really.
Even traumatized.
It's just hard.
It's just hard to make sense out of what's there
because they're all different things.
And there's more, I literally, you know,
I mean, you guys probably know this cognitive science rule.
that UI designers are always quoting,
it's the rule of seven plus or minus two.
Your brain can't remember,
it can't hold more than seven plus or minus two things
in working memory at the same time.
And that's the principle here,
is like we're chunking the work to the point
where we can hold it all in our heads at the same time.
Because if there's 20 things there,
like I can't hold that in my head,
I just don't know what that is, you know?
I don't know what it adds up to.
Process-wise, you always have a lot of options, of course,
about how you proceed.
And it depends very much on where you guys are at
in terms of what you're trying to do
with your way of working, you know?
Sometimes you're in a moment where it's more about,
we want consistency in how we do things
because we wanna be able to scale
that we do the same thing more.
And sometimes it's more like we wanna feel
that we have more flexibility
so that we can play around to figure out the right way,
you know?
So that's a big factor.
If you are, I would say,
when you feel that you are more in the,
how do we standardize it so we can scale a little bit more
without feeling too squeezed by process, you know?
The thing I recommend for that
is to have the nine boxes as the kickoff exercise
so that there isn't a translation into that,
but it's just the way that you start the project, you know?
So like that's where the issues,
that's where all the kind of tasks and stuff,
like that's where they start.
That's where they go into.
Then the check-ins, the reviews, you know,
if somebody records a video demo, for example,
that video demo is gonna be different
if you have the nine boxes as the orientation
of this is what we're looking at, you know what I mean?
Because what really you should be kind of ideally doing,
what we see when this is going well
is that the video demo is kind of like of this box,
you know what I mean?
And it's kind of like if the demo was good,
we get to check the box, you know?
Or the video demo was like these two boxes
or this box and a half, you know what I mean?
And we kind of get like what we're conquering
and what we're seeing and what it means
in terms of like done or not done,
which is kind of very much aligned
with how the client looks at things, you know what I mean?
Like the client doesn't care
about the implementation detail.
The client only cares about like,
can I use the bathroom or not?
Like, are we ready for tile or not?
Like, can I hang drywall or not?
Or you know what I mean?
Like, I wanna like see it,
where are we in terms of stuff,
in terms of completion of stuff, you know?
So that's the shift there.
That's great.
I think this is like not a small thing.
Like it was helpful because you kind of came into it fresh
a lot of times, like how our clients are coming to it,
except you're able to like give us super clarity on like,
well, this is why it's vague and then we can clean it up.
Because I think this is a huge blind spot for us
as a whole, as a team.
For me, you know, and I see this consistently happening
across all of our projects,
is just clients not knowing, you know,
the same thing with the Kanban board,
if it's a notion pitch, if it's a list of tasks,
they just, their eyes glaze over.
So I think it's helpful in this like presentation tool
to figure out, and also when we do it
and we package it up or we get ready to present it,
we of course get a tremendous amount of clarity
just going through the exercise of packaging it.
And I think that's something I would love to see
us level up on and use some of these tools
to exactly kind of tell them like,
well, there's really these nine things,
like we could explain this to any client
and they would be able to see,
basically these nine things, you know,
these things are over here, we're not doing,
these six things we're doing,
this one's kind of out of, it's flagged,
we're gonna be spending, it's easy.
Like they don't even necessarily have to see
the tasks underneath, but just they know the nine boxes.
It's kind of what they're seeing.
The fact that the tasks are there,
it shows that you know what you're talking about
because there is this detail in there, right?
Without needing to actually understand what they are.
Exactly.
It's just more like, you know, again,
back to the house analogy,
if you had a contractor who was sending you regular updates
and they had their little board
and they had a little checklist,
it's like, it almost doesn't matter what's on there,
it's just the fact that you are tracking it at that level
gives that peace of mind.
And part of what, yeah.
Oh, I just wanted to mention that the punch list
feels okay at the end,
but the punch list doesn't feel so good at the beginning
if it's a big project.
Definitely, yeah, I agree.
And we do get, we had this with Chris,
we're trying to unravel like, you know,
The worst, uh, the nightmare for us is getting that one email with the,
you know, 52 item punch list.
And a third of them are brand new projects.
Like a third of them are bugs.
And the other stuff is just stuff we've got to figure out.
Like, what is, it's just a, you know, uh, whatever.
So, you know, we're unraveling that into something useful.
Luckily we don't get those too often, but that's sort of the, the
antithesis of what we're talking about.
It's just this massive download of like, here's my entire Google doc of
everything I can think of in my head right now, and I think that's part of
what we're doing as a service, as a team is bringing that clarity and then
chopping it into little pieces for people and then going and executing on it.
Um, so anyway,
when you're at the scale of the nine things, the other thing it helps you to
do is it, it enables a negotiation to happen.
We felt that a little bit today.
I think that happened with like file upload, for example.
Um, so that's the thing where when the client gives you the 32 punch list items
and some of them are new projects and some of them are not, if you try to
interpret that in terms of the nine boxes of the current project, that
negotiation will surface, you know what I mean?
Of like, oh, there's these other things you want that are substantial.
We can remove, do you want to remove this whole box from the current project,
you know, and put something else in, do you want to think about this for a
different engagement and even just being able to, to guide that conversation,
like, you know, in a, in a, in a way where everyone feels like we understand
what we're talking about and we're, we're, we're looking at the trade-offs
together, makes that feel like less of a nightmare and more like this
is something we can navigate.
Definitely.
Um, I, one, one, one minor technical point.
Um, if you decide you want to, to try the monster map tool, um, just let me know
and I'll give you access to that.
Um, or I think you can even sign up directly now.
I think you can just sign up and use it.
Yeah.
So you can just, you can just create your own account.
It's the sharing model is totally bare bones right now.
There's no user model.
It's just, um, you can enable sharing or not.
And then the URL sharing works with, you know, gnarly URLs.
Um, there is an embed under the share button and you can drop that into notion.
So if you, if you, if you, if you want that, you can just have this in the
notion as a, uh, you know, just like the same way that you embed the board today.
Um, so feel free to use that.
Yeah.
What was the domain again for that?
Should just be monster map.com monster map.app monster map.
Okay.
That's what it is.
There you go.
Yeah.
Um, and, um, um, any, uh, we have a little team.
I mean, this is like a side project for us cause we just
discovered we needed something.
Like we, you know, we couldn't just keep doing it like in, in mural or whatever.
And, uh, um, but we're actually, we're actually working on, on,
on making it reasonably real.
And, um, so if anything, if you, if you try it and you get any issues or anything,
whatever, you can just ping me about that, you know, and I'll,
uh, I'll be responsive to that.
Um, uh, Bruce, I didn't get from you.
Um, uh, what was different and what you want, what, what, um, what
you want to carry forward from this?
Yeah, I think, I think overall just, um, it's another powerful tool that
we can, we can use to bring, bring clarity.
I think the breadboarding, these are both very visual tools, which
tend to be much easier to explain to clients.
And I think I'm kind of looking at this, you know, I get to put the
role of the client on in this for tribe, but I'm also seeing it.
Like that's very much our world is like, I'm we're, we built a product and now
we're helping our clients build products.
So this, this, these are not like small issues.
Like I think, so we got a lot of value at our first session.
The second one is, is great.
Cause it is, uh, we have, all of us have projects right now that are open that we
could go and do a check-in like this, um, for, so I think there's a great thing we
can implement, you know, today on, on some things.
Um, but I think it's also giving us a new benchmark of what is shaped.
And even when, you know, we thought it was like 70, 80% shaped on our first
session, by the end of it, I was like, I realized we were maybe 10 or 20%, you
know, concrete, and I think we started to get a feel for what feels concrete and
what doesn't, and that being the goal.
And that's been helpful language internally.
It's been helpful language with clients, um, when they just throw out, you know,
requests and we can get it down to like, what are you at?
Okay.
Does it, this button, where does this button go?
Like showing them the visuals and all that.
Um, and then even now, like, I think I emailed like, Hey, we're halfway through
the project, we're, we're basically done.
Like we're on the tail end of it.
And then when we opened up today, we're like, oh, actually there's actually still
a lot of unknown things towards.
the last week here and then now by the end of the session we're we're like oh now we definitely kind
of have more of a our sort of our relative like um benchmark has shifted higher as we're kind of
elevating or um increasing the the goal as far as what we're what how concrete can we make this
and i think this feels incredibly concrete right compared to other things it's only because we've
been doing a pretty poor job of taking pretty vague and luckily we have a very talented team
like everybody on this call is pretty is very smart and so we can fill in the gaps like on the
fly but that's not gonna that's not gonna scale well like uh moving you know as we go yeah yeah
totally um that's been a big part of what i've been trying to do the thing i'm trying to solve
all the time which is like my favorite problem is like how do you take what we do in our heads
when we are a good team and like kind of externalize it so that when we start to grow
that we can still work the same way even though it's harder to you know what i mean you don't
have that like magic thing where it all happens automatically just because we're all smart you
know yep great yeah cool um uh let's see um i just want to see the link to your board that
you just made today i will share that okay great bump bump bump share return link on
copy the link i'll share that in the chat here
sweet yeah we got it awesome i see we can still like keep adding to it
yeah cool and then you'll see um you'll see that there's also on the share link this uh
this iframe embed in case you want to drop that into notion or something else excellent cool
all right folks i mean nice work um i mean super cool to like go from the shaping session to then
like seeing that it's all wired and working and uh you know and uh you guys have a very good handle
on where you're at and and what's next and stuff like that so you know very nice work
awesome thank you that was a great session appreciate it all right cool okay see you guys
and uh bruce i'll follow up with an email with the uh with the zoom uh recording again like last
time yeah that's great thanks great okay see you all take care thanks bye bye