Debugging Dan

Tech enthusiast, avid side project builder. 🚀

E22: Get It Done #6

11/03/2024, duration: 15:59

category: Podcast
/

E22: Get It Done #6

Get It Done #6

In this episode of Debugging Dan, I share my updates from the past two weeks, focusing on my progress with dan cuts, a video enhancement tool I’m developing for social media. I’ve been dedicating significant time to this project. I discuss various upcoming features for dan cuts, including workflow automation, video trimming, and integrating Sentry for error tracking. Additionally, I touch on my plans for content creation, consistent social media posting, and revitalizing my website to better showcase my projects.

Stay connected! Follow me on X at @debuggingdan for the latest updates, and subscribe to my YouTube channel @debuggingdan for the podcast and other interesting videos!

My active side projects are:

  1. observalyze.com: Enhance user engagement, satisfaction, and overall experience for your application by applying Gamification
  2. teletron.me: Build personal dashboards. Visualize and make your most important information available at a glance. Your dashboards will be accessible, privacy-first, non-technical and available on multiple devices.
  3. datasthor.com: The hassle-free solution for seamless remote data storage for you or your application, making data management a breeze.
  4. supersave: Open Source: Bootstrap your project with a simple database abstraction and automatically generated REST API

Video

Transcript

Welcome to Debugging Dan, where I share weekly my journey, balancing life, a full-time job and side project. I'm Dan, your host. Let's dive in!

Episode 22 already of the Debugging Dan podcast. So, I changed things around in my recording setup. So I used to be sitting on my chair at my desk with a green screen behind me. I, as you saw last week, I had issues with lighting. It didn't feel right. And I wasn't demotivated because of that. And today, I thought outside the box. I remembered something. I need more space. I need more depth on my desk. So I figured, why don't I just record from the side of my desk? So, I'm standing right now. I put my desk in standing position. The green screen is behind me. It's like fully folded. It doesn't need to be wide. It's just the proper height. I have enough space on my desk. It's just that I need to move everything around and rotate it 90 degrees when I'm recording. But that's okay. I feel that I have a lot more energy because of this. Because I'm now more happier about the setup.

Get it done, episode 6. So, short recap. What I do with the get it done themed episodes. I record an episode every two weeks. And then I decide my planning for the next two weeks to keep myself accountable. To share things. To show what I'm working on. And this is episode 6. And what I normally do, I do a recap towards episode 5.

So that's what we're doing. Four topics are on the list. The first is DanCuts, which is the video editing software that I'm working on. It's not really editing. It's more enhancing for social. I've worked on that a lot. Like almost every evening. Every weekend. Every morning. For the past two weeks. And I made a lot of progress. But the project is big. Too big. Probably. But I'm enjoying it. I wanted to do more with my socials. And building with DanCuts relates to that.

And when I made this list, I figured. Well, DanCuts, it's not that much of work. Once I get that done. It will be easier to share clips and other interesting facts and things on social. I did that for last week's episode. So I shared some videos, the introduction, some other stuff.

And the third item is content. So I wanted to create more content. And by doing more content creations, I wanted to do a way of working. So when I recorded the podcast, I created a blog post out of it. But maybe I can do more. So I wanted to explore that. And spoiler alert. I haven't done anything of that. Because I've been working mostly on DanCuts.

And the fourth item is build. I wanted to progress on the first version of the robots, a DC tool. So robots against AI was that. And if you've seen last week's episode, I decided to can that project. So I'm not building on robots against AI anymore. Because I figured out the short summary is that it's not solving my own problem. It's an interesting technical idea that I had that solved somebody else's problem. But since it doesn't solve my problem, I don't really have any intrinsic motivation to work on it. So I decided to can it and focus more on things that solve my problems and thereby hopefully solve other people's problems.

That's what I did for the past two weeks. So it's been mostly building on DanCuts. It's a technical challenge. I like technical challenges. I've been building mostly on DanCuts. And I'm enjoying that. And I'm getting it to a state where it works. So we're delayed it to DanCuts. I'll be demoing it.

This is the homepage after you've logged in into DanCuts. It's not really that amazing. I still need to figure out what I want to show there. There's a Telegram link. I've switched to a demo account to show you what that looks like. So when you need to link to Telegram, you can scan that QR code or you can enter a number manually. And that will link your Telegram account to your DanCuts. I've built that. I already had built that for Watcher Numbers. So it was pretty easy to copy paste. I did need to adapt it to work with Next.js because the Watcher Numbers thing was on Express. And so server actions. But it worked pretty well. And I'm pretty happy about the flow.

This is the Telegram conversation window with the bot that I built. So when you press start, here it shows a W text of this type. It's the Watcher Numbers platform. But I download a file. And when I type a caption with the file, that one is copied over into the application. And it uploads. And then you receive a link towards the media processing step. So sending a file via Telegram now makes it available here in the media tab. So here I have the introduction. And there's output here. And I can view the video file. There's an issue there. Or we need to remove that.

Oh. Something went wrong there. So as you just saw, parsing the input from Telegram didn't work correctly. I've also encountered that during development. And to be able to test more faster, I also created to create new media for my URL. So what I did is I used ng-rock and I started a small web server in the folder where the file is. So now I can tell the end cuts to download the media from a URL. So now it's here. So now instead of via Telegram, I now have it via file download.

Oh, the status it says is still running. I can view the details here. It's still downloading. That's what it's saying. But it might be that there was an error. It's not that big of a file, like 20 megabytes. But it's not there. I made a switch from the prediction environment that I created to my local environment. Because some things weren't working correctly. But now I can at least show you the working stuff.

So there's a file uploaded. I can add an action. There I configure the input of a different step as input. And I can, for example, after downloading the video, I can extract the audio. Then I can give a command to transcribe the audio. And I just need to do the configuration. And it can run. And I will be creating different steps, different operations that you can perform on audio or video to manipulate the video.

So here I transcribe the audio. And I then use that transcription to generate a text overlay over the video. So that's nice to look at. So in the example here, the UI isn't that perfect. It's a client interface, but it doesn't always automatically update the data. So it doesn't show the latest status. Because I'm aware of that, and at the moment, that's okay. The interface is working. It does what it does. And I just press refresh once in a while. I do want to upgrade the interface at some point to React Flow, to have a graphical interface where you can drag and drop and link different tasks to each other. That is what I have until now.

So what I wanted to do to, like, put a bow in it and say that it's done for now. So then I will be able to dog food it. I'll be focusing more on some other stuff after I finish these four steps. So I want to be able to prepare specific flows. For example, when I upload a clip of the introduction of my podcast, I want to tell it to, okay, execute these steps, and those steps are fixed. So I want to have that prepared and just, say, trigger it so that I don't have to build it manually each time. That's an important one.

I want to be able to trim the video because maybe I make a weird face during the recording at the end. And that's always useful to have, and it's pretty simple to build. I want to add Sentry support. And for people that don't know what Sentry is, Sentry is a piece of software that you can use to track errors and performance of your application. They have a generous free tier that I've been using for years for my applications. And it helps me get insight in when other people are using it or when I myself are using it, that errors are being triggered. I can have a look at that asynchronously.

So that's a tool that I always enjoy using. I've installed a open source-like version of it. It's called GlitchTip, which does the error tracking and a simple version of performance tracking. But you can host it yourself. So I've hosted it on my own server. And you can use the Sentry SDK to point to that server, and it implements the same API. But it's a very simple version of it. But then you don't get into any free tier issues and other problems. So that's what I've installed. And I'm trying to see if that would help me because I've been, with the number of applications that I have, I've been exceeding the free tier stuff for Sentry.

So some projects I might migrate to GlitchTip, maybe all. Depends on how it goes. And the fourth item is I want to be able to crop a video. So the video that I've recorded now, for example, is landscape. But some social media, like Instagram Reels, YouTube Shorts, TikTok, the videos are either square or portrait. And this video is pretty simple to make square. So I just cut off this part. And I've been pointing at my camera, but it's not really that part. But it's the left and the right part of the video. Because all the interesting stuff is often always at the center. And we're able to do it smart.

So maybe it can detect the video and outline the perfect square within a still. For example, by detecting a face or something like that. I've been looking into a piece of software or an NPM module that does that. So that might also be interesting to see if that works. But related to Get It Done 6. So these are the four items. And it's not necessarily four always. But this is what fits for me, I guess, for the next two weeks. I want to finish what I just explained. These items, running the prepared flows, trimming the videos, ending sentry, and cropping to square.

That's what I want to finish. To be able to also move on. Because there's also other interesting stuff that needs to be due. And also for the last two weeks I've been burning it pretty hard. So maybe I need to slow down a little. For socials, what I notice is that if I don't tell myself when I need to do that. I won't easily post on social. So I want to create a schedule. For example, I publish this on Sunday. On Monday in the afternoon, I publish the introduction on social. Then on Wednesday, I create some kind of clip. And share that on social, for example. And then on Friday, a recap of the podcast episode. And then sending out the tease for Sunday. Something like that.

So that's what I want to create. So that I can just remind myself. Hey, it's now Wednesday. I need to do this. It's now Thursday. I need to do this. For content, I'm keeping this one. So I want to define the way of working for how I create content. So what I want to share, how to generate it. And how to create it, basically.

And also, the fourth item is I want to update my debuggingdan.com homepage. So, or the entire webpage. Now, it's generated by my Notion blog software, which I'm only using privately, which is pretty okay, but it's really focused on the blog. And I want to create a better homepage that also shows tools that I'm building, like the products that I have, but also some free tools that I'm building. And I want to be able to highlight that more.

So what I'm going to do is I'm going to also extend an API in Notion blog so that I can fetch items from a newly to build Dext.js website for debuggingdan.com. And I can do the blog, but I can also do the other stuff. So, yeah, that's what I want to build so I can make the website more lively and also express the other things that I'm working on.

I'm also doing some open source projects. This weekend, I created a CLI tool to manage Telegram bots. So for Telegram bots, you need to set a webhook URL. You need to sometimes see what the contents of the message is as how it's sent. So I've been building that this weekend because I've been using that also for DenCuts because I'm using Telegram there. And I also want to highlight that kind of stuff on the webpage.

That's it for the next two weeks. I haven't decided yet what the topic will be for next week. I might be explaining something on how problems I ran into with using Telegram for DenCuts in terms of file size and other quirks that I wasn't aware of for Telegram. I might make it more general, like building on third-party platforms and dependencies and risks that aren't there. For example, building on X and Elon Musk removing API access, which happened two years ago. But if you have a specific topic, let me know.

So you can reach me on social, other platforms. I'd like to hear from listeners or viewers. Have a nice day. Thanks for tuning in to Debugging Dan. If you enjoyed this episode, please subscribe and leave a review. Stay curious and see you next week. Thank you.