This one is from MY experience! Let's chat through what it looks like to try and prioritize when there's too much work-in-progress on software development projects, why it might happen, and how to navigate it.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, I'm just leaving the office. Um, I don't have a can topic that was uh submitted for questions and I didn't see anything on experience devs that I went back like just sitting in my car here went back like 3 days and I'm like I've already kind of scrolled through this stuff. You guys have uh asked all the questions that need to be asked. I guess we're done. But I figured I'm going to just talk through some of the stuff I'm I'm working on. So, just a heads up if you don't like these types of videos, see you in the next one. But if you're going to stick around, thank you so much. And a reminder that if you have questions, just leave them below in the comments. That's how this channel's driven. So, uh, and if you want to submit anonymously, then just, uh, go to code.com, submit your questions there.
Check a box. It's anonymous. Email says it's from me. And I have no idea who you are. And I do appreciate when you do it because uh, it's fun to fun to talk through this stuff. So, I think for me right now, um, big things like I I'm not going to talk about work. I'm going to talk about like me building software. Um, cuz at work, I don't do that specifically. I manage teams and, um, that's part of building software, but I feel like that's maybe not interesting for people. You can let me know if you want to hear more about that. Um, some of the stuff that I go through, then that's cool. Happy to talk about that. But I feel like most people that watch the channel are are software developers and so like I feel like when I don't have specific topics if I if I go through software development that's probably more interesting.
But here we go. So um I think for me I have and this is going to be brand ghost focus. So if you're uh if you're familiar with the channel then you'll probably hear me talk about Brand Ghost a whole bunch. It's the platform that I build to post to social media. It is uh kind of the thing that powers all of my content creation. So, um it's built in.net, hosted in Azure, all sorts of fun stuff. And so, I have a like a whole pile of sort of uh different features that I'm building in Brand Ghost right now. And if I'm being honest with myself from like a software development perspective, I think um probably like too much whip like too much work in progress and definitely want to kind of I don't know get that get that sorted out. So we have a lot of I'll kind of explain a little bit more as to why this happened.
So, there's a whole bunch of stuff that's like in Brand Ghost that we offer as features, whether it's free uh or, you know, part of the paid tier. And so, if it's a feature that people can use, it's going to be in the user interface. And if it's a paid for feature, then it's going to be in the user interface, right? So, we have all these things that need to work obviously end to end. It's software. But because I use it for my own content creation and a lot of the features that we have in Brand Ghost are are built because I, you know, it's like sort of a a requirement or a need I had in my own content creation. A lot of these things started off as like they're not like a userfacing feature, right? They're it's functionality. Like Brand Ghost used to be headless, right?
It was just like a server that was running and I kept adding functionality to it. until we were like, let's, you know, let's put a user interface on this and and turn it into something real. So, Brangos is like has almost always operated like that, buddy. You got to speed up. Come on. We're merging on the highway. Oh, boy. Okay, let's get out of this lane as quick as we can. One more. Okay. So, as a result of that, there's a lot of stuff where I'm like, hey, like this is going to be helpful for me getting more out of my content creation and I'm going to start building it, right? So, I build the features, I use them, and there's some stuff that's been running like that hasn't had, you know, uh, userfacing functionality for like over a year. And the the side effect of that is like it's really cool because I can go build it.
I love to build stuff. Um, it solves my need and then I can kind of prove as a content creator that there's value in it, right? But how many people how many people really need that? This is where from a priority perspective, it's not um you know, arguably not the best use of time. Like wouldn't it be great to only focus on the things that people say, "Hey, I will literally give you money if you have this feature or or I am paying you and this feature doesn't work the way I want. So like focus on that because I'm paying you for a service, right? If we had that like you know a solid pipeline like that then it okay we just keep building those things that people are saying they're going to exchange money for. Makes sense. But um as we're scaling up and acquiring users there's sort of this situation where we have to discover users and um like have users discover us.
So, when I'm saying discover users, uh what I really mean is that like you like you, if you haven't tried this before, you can't just make a website, put it online, and then be like, well, everyone's going to show up now. And you could have you could have a product or a service that does solve a lot of people's problems. And uh you know, if people if it's not marketed, if it's not communicated to other people, then they just simply won't know it exists. My goodness, that is a lot of breaking. Um, so like we need to balance like building things and marketing and like getting in touch with users. So, sorry, I'm going to have to pause for just a sec because this is like insanity to try and get over here. There too many people trying to go into the lane I was just in and people coming into the lane I'm in now.
Okay, I think we're good. So, yeah, the the tricky part is that like I as a as a builder, right, I am building stuff where I'm like I know this is solving my need, but is that the most effective use of time from like a business perspective? And I would I would argue the answer is no. It's not if I'm being honest with myself, right? So I think I have to pay attention to that because as the person who is building parts of the functionality, it's a lot easier for me to go, I'm also a content creator. I have this thing that I want like a flow that I want optimized. I'm going to go build that. And I don't, you know, I don't think that there's anything necessarily like wrong with that. I just don't think that it's necessarily the right priority. And as a result now, um I mean this isn't the only reason.
I think it's an part that's influenced it. There's a lot of things that are like a work in progress because yes, they function. They function very well and I use them all the time, but they function for me. So, we have to kind of get them to a spot where we can start turning things on in the user interface, thinking about how people interact with that, user workflows, user experience, this kind of stuff. But I would say the what's really cool is that because there's is a lot of stuff that's a work in progress when we start kind of tapping into different user groups and seeing because like it's pretty broad, right? There's a lot of people that create content and it's not just like a content creator necessarily, right? Like I consider myself a content creator because I'm not like I'm not selling like software development services.
I'm not like a business in that regard. I am I'm creating content and trying to help educate people. So I'm a content creator. And there's other people that are, you know, their entire focus like they run like a coaching business, right? Okay. So maybe they consider themselves more of a business. There's other people that are literally they have like a you know mom and pop shop or they have a store or they have whatever they have a small business and they're like we need a social media presence. So they're not you know air quotes a creator but they need to be publishing stuff on social media. So there's all sorts of different user groups and like our tool can be used across all of them. Um, you know, for folks that have worked on MVPs before and started like shipping software and you want to ideally you target a niche and you kind of go in on that and that way it's not all over the place.
But because we can solve a bunch of problems, I think we're trying to narrow down on a niche to get some some like additional traction. So, um there's a lot of moving parts and it's not like a full-time effort from anyone who's working on it, which is uh also challenging, right? Like I I have a day job and so this all has to get done like outside of uh outside of work hours. Um so what's cool though is that we start talking to people and they're like, "Oh man, yeah, like we have this kind of problem." And I'm like, "Awesome." cuz like you might not see it in the user interface, but like I have this problem solved because I also have it and I or had it and I built a solution for it.
So I think we're kind of at the point now where we need to um there's a couple of things where I would say they're like net new features where people have asked for them and they're like hey we want to like work with you to land these features so that we can on board and leverage brand ghost which is super cool to me that's like the most exciting kind of thing because we get to build stuff that people are like they're asking for right they're like we will literally buy your service if you build this thing because it will literally solve our problem. That's exciting. Um, got to move over lanes here. Sorry. And so, we got some of those, which is awesome. And then we have some where, like I said, we're having some conversations going on where um people are like, "Hey, like I wish we could do this thing." And it's like, actually, like we we do do that thing.
and we'll start turning some of that on. So, in both cases, we have some people to partner with that are interested in uh you know, using the service in a different capacity. I got to switch lanes one more time. Okay, we're good. Don't you dare come in front of me, sir. I got to move over one more lane so no one jumps in front of me. Okay. So, to give you some examples, right, like I'm going to talk through some of these features because I think they're they got some interesting challenges. We have um one feature that when you publish content to a platform, so let's take YouTube videos is very relevant. Um this is a this is a video as you might have noticed. All videos technically you could pull a transcript from. And so one of the selfish reasons that code commute is really awesome for me is that code commute is just videos of me talking.
Right? Code commute is a lot of content that is spoken by me in a way that I naturally speak. I have almost 400 at the time of recording almost 400 code commute videos. And that means I have almost 400 transcripts that are ranging from like roughly 10 minutes to like 40 minutes in that neighborhood. So there's lots of of transcripts which means I have text content. And if you think about it as a content creator, what could I do with that? Right? So brand ghost one of the primary functionalities function one of what how do I even say that? One of the one of the primary offerings that we're focused on is that there's a lot of things for generating AI content. We don't just want to have like what you see all over social media where it's like just this AI slop. We want to be able to help people get content generated at least to get through the writer's block.
And the more content we have that is how you naturally speak or want to write, the more that we can make it like you. So the ultimate goal with brand goes is not to say, "Hey, look, you never need to to think for yourself to write your own content, but the goal is to say there's never a reason to be stuck again, right? We want to make sure that you don't have to spend time scheduling and, you know, copying and pasting posts to different platforms. Like, let's get rid of that. We give that away for free cuz you shouldn't have to spend time on that. That's work. No one wants to do that. Let's automate it. But the next part is how do we make it so that if you're trying to think of like man I need to I want to make a post
about something whether it's for my business or content creation whatever your purpose is even if say I've been telling people use brand goes for learning in public right if you're like yeah but I don't even know like how I would talk like how would I make a post on this the more stuff that you can provide into brand ghost as a platform the more that it can start creating content more effectively for you. So with these transcripts, we basically have them all um like all of the vector embeddings have been done. So now you can do semantic search on them and then what we are able to do is generate posts for you. So I have been using Brand Ghost to do this like very heavily for a long time and using like video transcripts to help generate content because I am not the most creative person.
I get writer's block a lot, right? And it's like, hey, like I know I need to go write some more posts or I want to go talk about this topic and I'm like, I just don't know where to start. Okay. So, like I can use brand goes to help generate some of that. Now, is it perfect? No. And like we don't have AI solutions right now that are perfect at anything, but it's definitely helpful because it'll put together some posts for me and then I can go through them and say like, hey, this this at least feels like on the same page of something that I'd be talking about. Cool. Okay. Is it formatted in the way that I would normally do? Maybe not really. or like did it um embellish something like you know cuz it's it's trying to base it on content I have but some of it's just also made up which is the reality like it's AI.
So I go through and I look at the posts and then I I either delete them cuz it's not relevant or I'm trying to make sure that I can make it closer to like something that I would write about. And so that's been a huge timesaver on the content creation part. Um, not to mention that just the fact that it lets me post to all these platforms, like I don't spend time doing that, which is great. So, this flow that we're trying to unlock though is going from like um publishing on different platforms, whether that's like uh blog posts or YouTube videos and getting transcripts for those. But basically, you publish and we can listen to what you're publishing, pull in the content automatically for you, um, run the embeddings on them so that we can have it indexed and then find different creative ways to like repurpose your content for you.
Okay, so one of them that I mentioned is posts. Um, blog articles is another one. We'll probably have the posts available before uh like the social media post before blog articles because Brand Ghost currently does not publish blog articles to different platforms. So the sort of MVP of that in my opinion is like we can put a post that you can go copy and paste into your your blogging platform and then when people are like hey like I you know we're getting metrics about people using the blog post generation then we can say great like where are they trying to post these blogs to like WordPress cool let's do WordPress integration um you know a lot of people use Substack Substack doesn't have an API I've been trying to get in touch with them. They seem to keep ignoring me, breaking my heart. And so, you know, we'll reach out to different platforms that don't have APIs, ask them, but like basically pursue that, right?
If people are using it for generating blog posts, great, let's do that. But that's something that our platform can do. So, we have a few people that are interested in sort of that flow of going from I'm creating content. I want to start pulling uh pulling that content together to make more content. So, we'll do that. Um that's in the bucket of like we have it working, but there's no user uh there's no user experience for it. So, actually, I think I did make a YouTube video. There's a Brand Ghost YouTube channel if you want to check that out. Um, no, it does not have a lot of subscribers. Uh, but on that channel, I put together a video showing um the feature. It's currently not available at the time of recording this, but you can you can see how it's used.
But anyway, that's that's one I I think where the only like sort of help I need is um one of the guys on the team is is is better at prompting than I am significantly. And so there's a couple of scenarios where I'm like it's going to sound funny. I'm like the AI is literally doing what I'm telling it to and that's almost a problem because it's when I go to like see like why is it doing this? So, I'm like, it's cuz I'm telling it. Like, I can see in my prompt, like, I'm telling it and it's taking it too literally. I don't have a good way to explain this, but anyway, there's a guy on the team that's like much much better at doing this kind of stuff than I am. So, I think I need him to kind of play around and do a bit of tuning in how some of these prompts look.
and then what gets generated will feel a lot better because I think all the pieces are there but um some of the prompting is just not where it needs to be. So that's one um pretty excited for that. But that a lot of that functionality has been there for a long time. One that is new functionality is that we need the ability to manage groups. So this is kind of interesting. a lot of the um like target user groups we've been focused on it's like a single user right you're a content creator or you run a small business okay like you log into your brand ghost account but what happens if you're a I don't know like a social media agency or like a social media manager and you're doing like freelance work and you want to manage different clients like there's there's literally no reason that you couldn't do that in Brand Ghost, but we just didn't build the the user interface for it.
So, um not only the user interface, but as a single solo creator, like I didn't need a team. Um so, you know, that's something that we're going to put in place. I'm actually I was talking to my video editor for my main channel Dev Leader and I said, "Hey, like I need I need shorts made because I've been slacking on my short form videos for Dev Leader and for Code Commute." And um I said, "Hey, if we get the Brand Ghost team functionality working, you can log in and you can put the short form videos into Brand Ghost for me." Um because he'll clip them and stuff and that would be super helpful. So anyway, it's a I'm looking for ways like always looking for ways to dog food because I feel like if I am not actively using the features that I'm less in
touch with them but what I was kind of hinting at earlier is I don't want to fall in that trap of only doing that which is why we're trying to balance that out with making sure that we have users that are like yes we'll pay for that. So, um I don't know if it's obvious. I'm trying to share all this because I I'm giving you a little bit of um insight into what it looks like as someone who loves to like actually build the software. I I love coding it, but there's a business side to it too, right? Um it's too easy to just get focused on like let me code this, let me refactor it. Um you run away from the hard stuff. And the hard stuff for me is like going to talk to people and be like, "Hey, are you interested in this?" It's awkward for me.
I'm not I'm not skilled at it yet. So, it's too easy to run. Um, I don't yet have a solid update on one of the videos I made earlier this week about uh some of the guard rails for agents. I just wanted to give a quick update on it because I was hoping that I would at this point even though it's only been a few days. I use AI for a lot of code generation and so I was really hoping to see that over the past couple days I'd have some good examples of this but um co-pilot was down uh not for all users but for for some users GitHub Copilot just wasn't working guys. Why are we stopping in this fast lane? Anyway, so I had like a bunch of uh you know, GitHub like work items made and I was assigning them out and then co-pilot just wasn't doing it.
But what I was talking about earlier this week was putting more guard rails in place with uh analyzers in C. And the idea is that um yes, we can all get better at prompting. Yes, we can have like these better instruction files and better agent files and all this stuff and we should and we'll have to keep iterating and making better tools. But my hope was that I could put some analyzers in place and they can actually look for different patterns and rules in the code and then fail the build when those patterns are not being met. And that way even if um you know the LLM is trying to go a little bit out of whack and it's like no matter how many times I tell it like follow the existing patterns for the tests and it's like no um it will literally just fail like the build just won't work and it won't have a choice but to go listen and do the right thing.
And so this is going to be a work in progress because and I just want to explain this a little bit more. Um, the analyzers, this is all speculation right now, but the analyzers will fail the build. And so that's cool, but what I don't want to have happen is that the AI just as let's use a test as an example. You know, the agent writes the test and it does it incorrectly based on the style guides and formatting and just the approach for testing. gets a failed build and then goes, "Oh, well, that didn't work. I know how to fix it." And then it deletes it. And I'm curious to see if the first wave of having these analyzers in place is like me giving prompts where part of the instruction is like write the tests or follow these patterns and it doesn't know how to do it properly fails the analyzer and then goes oh I guess I should just remove the code.
I don't know if people have experienced this. I literally had it uh co-pilot started working again and I had it in one of my most recent poll requests from co-pilot. I was telling it to do something. Um actually it was lit. It was with an analyzer. It was building an analyzer though. And so I said, you know, you have the analyzer built now. And so basically go fix up the code where it's failing. Buddy, get in here. puts his turn signal on and just waits. There's like 10 bus lengths of opening. Um, so this is how great this is, right? Has this analyzer made and I I've pulled down the pull request before and the analyzer is doing mostly what I think it should. So that's good. So it's great. I don't want to go through and fix up all of the spots in the codebase where this pattern's currently not working.
So, co-pilot, go do it. So, I I told it like, "Go fix up the errors." So, you know what it did? I guess it tried and then it said, "Well, there's a lot of errors. If I just make the error a warning instead, and we don't fail the build on warnings. Problem solved." Yeah, that's not what I asked you to do, though. And I've seen other times where, you know, it wrote tests and then I'm like, hey, like these tests will not work this way. Like that's not the right pattern. And it's like, you're right. And then just deletes the tests. Like nobody I still want tests. I just don't want them to suck ass. So put the tests back. So, I I think that I need to make the the analyzers have I I haven't proven this yet, but I think I need to make the analyzers have better instructions for when you encounter this, here is how to fix it.
So, when it gets compilation errors on build, um it's like, oh, like here's some concrete steps to go do. by default or at least how these are built. They do have like some explanation, but I think I'm gonna have to go review them because it might explain why the analyzer is failing it, but it might not give clear step-by-step instructions for how to fix it. And um my speculation right now is that agents will hit the wall, which will be good. it will stop them from doing bad things, but then it's going to be like, well, instead of fixing it, I'll just, you know, work around it kind of thing. I'll get rid of it. So, I'm going to I'll report more on this with my experience doing it. Just wanted to share that's kind of like still one of the things I'm looking at.
I've just spent like the way I was describing this recently was like I do like I already said this I use AI a lot for generating code and there's so many situations where it's done such a good job on the pull request like the code I'm going through and then let's use test as an example right so it does the feature I'm looking at the code I'm like this looks great like it's following everything I would want I can tell like this is exactly how I was thinking about doing it. Cool. And then I'm like, great. And it wrote tests. And then I go look at the tests and I'm like, oh my god. Like we could have just pressed submit on this thing, but these tests are like totally terrible. Totally. And usually my pattern cuz I already mentioned, right, I do building for brand ghost like outside of work hours.
So there's times where I'm like going to bed and I have a lot of ideas or before work and I'm like, "Oh, I should, you know, make this issue and assign it to to co-pilot." The sometimes by the time I get to reviewing it is such an inconvenient time if I have to go ask it to make fixes again when I could have just had it done, right? instead of pressing submit, I'm like, man, I have to go run this, you know, don't write shitty test prompt overnight now when I could have just pressed submit. So, um, in this case, it's more it feels more like an optimization for me. And, um, I do feel like it's kind of interesting. I was in one of the other videos on code commute recently, we're talking about um pull requests and AI slop and stuff. And my whole talk was look, forget like like forget that there's AI that's that's creating the slop.
And like how would you address it if it was just a teammate that was putting up pull requests that were following patterns that you didn't like? Like how would you do that? You'd probably have a conversation with them. Like so there's all these things where I'm like I just think that AI is exaggerating them and uh yeah, I feel like this is just like one of these situations where I'm hoping I can optimize my my flow because having good analyzers in place for again, forget AI. If I had good analyzers in place, that would mean that someone could come into my codebase that hadn't worked in the product, they could start to write code and if it's not following the patterns, the analyzers would put some red squigglies under the code and say, "You can't do that." And if you think about it, what's the next step?
They're going to go, "Okay, what the heck am I supposed to do?" like thank you for telling me that I can't and maybe why I can't but like what am I supposed to do and maybe that's what's missing for these LLMs. So, a lot of these situations where I'm either getting frustrated by LLMs or finding inefficiencies, a lot of the time I'm kind of going like, if it was a person, if it was a person, like, how would I would I do this? Right? And in that example I just gave you, it's like tell someone why and give them a good example of like how to do it properly. Right. It's It's kind of interesting. I think there's a lot of stuff like this that's uh it's kind of surfacing for me when I'm when I'm working with LLMs and stuff.
So, also kind of meta, but I can't wait for like 10 years from now thinking about this topic because I wonder how far I wonder how far gone or how different things will be. It's like, you remember when we used to have to like explain to AI for it to get it right? And now like I can just think of something when I'm flying in my car and the agents are are building. I don't know. But yeah, I'm really curious. I think um I think we're going through a lot of growing pains right now because you can do some really powerful stuff, but also it it lets us do like lets us create lots of code and lots of code doesn't mean good code. So yeah, I don't know. Very interesting. But I'm almost at home, so I'm going to shut up now. And uh thanks for sticking with me.
Hopefully, we'll get back to more questions, which again, I'll remind you questions, leave them in the comments or go to codecute.com. You can submit stuff anonymously there. Otherwise, I go to experienced dev subreddit. And uh yeah, in the future if you're listening to me answering some questions and stuff, if uh if you want to share that on on Reddit or Daily Dev or other social media platforms, I appreciate it. I think that uh just helps get different people to to come to the channel and hopefully we can help more people. So, thanks so much for watching and I will see you in the next one. Take care.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- How do I manage too much work in progress (WIP) when building software features for my own platform?
- I often build features that solve my own content creation needs, which leads to too much work in progress. While these features function well for me, they may not be the highest priority from a business perspective. I try to balance building what I want with focusing on features that users will pay for and that solve their problems.
- How does Brand Ghost help with content creation using AI and video transcripts?
- Brand Ghost uses transcripts from my videos to generate AI-assisted content, helping me overcome writer's block. It pulls in transcripts, runs semantic search, and generates posts that I can review and edit. Although the AI isn't perfect, it saves me a lot of time by creating content drafts and automating posting to multiple platforms.
- What challenges do I face when using AI tools like GitHub Copilot for code generation and testing?
- I use AI extensively for code generation, but sometimes the tests it writes are poor quality or don't follow our patterns. I try to use analyzers to enforce code standards and fail builds when patterns aren't met, but the AI sometimes works around these by downgrading errors or deleting tests. I need to improve analyzer instructions so the AI knows how to fix issues properly instead of removing code.