The Journey begins - Standup Session #1

22 min read

I document my first week transitioning from employee to solopreneur, exploring two new app ideas, while dealing with typical developer challenges like bugs and the urge to rebuild tools I just bought. I’m establishing a weekly standup format to track progress over my remaining 81 days before going solo.

The Journey begins - Standup Session #1

I’m not a writer. I’ve always struggled writing content for anything. This will be the first blog post I have ever written, so bear with me as I look to improve over the few months ahead. In preparation for this post, I noted the key points about what I’ve been up to over the last week. But that’s all they are - Key points. Looking at the list, while they all make sense to me and are straight to point, I can see none of them would make for good reading. In a year’s time, I’d probably have forgotten what most of them were referring to!

Setting the Course

Fortunately, while I was browsing through the DevDojo YouTube channel (more on DevDojo later), I stumbled across their 2 year-old "Journey videos". I liked the format - simple, clear but valuable. So for now, I’ve decided to approach the next few months simply and lay it out like a standup meeting (which for me has been known as a buzz call for the last 7 years). For now up until I leave my current employment (81 days time), each week (Saturday or Sunday), I’ll write up:

  • What I’ve done over the last 7 days
  • What I have planned for the next 7 days
  • What I didn’t get done last week and any blockers.
  • Anything else worth mentioning.

Let’s kick off this journey from employee to millionaire Solopreneur with this weeks standup session - numero uno.


Mental Fatigue and Side Projects

At this time of writing, I’m sitting here with stomach ache. In fact, I’ve been having stomach issues for several months now which seem to come and go out of nowhere. When it flares up, I really don’t feel like doing any of this at all, but I push myself to get it done. In the same way as working a regular 8 hour day (9-5), the last thing I want to do is use my brain for something else - like research or even more coding sessions. After a week it can take its toll on the grey matter and when the weekend comes, you’re ruined.

See, that’s one of problems I’ve found over the last 7 years. Coding all day drains you mentally. Even just chilling out of an evening after a long day, sometimes you’re just so mentally tired that you can’t even enjoy what you’re watching or doing. Unlike a physical job (like construction for example), where - while you might be physically knackered, you’re still mentally fine. You can relax and focus on watching something.

Changes are coming. They need to be. Sounds like I need to start working smarter, not harder.


When 50% Off Becomes 100% Necessary

Last weekend I was building out some post and image management admin systems for the two apps I have. Nothing complicated, just something simple where I could edit posts and publish/unpublish them along with managing images and regenerating new ones with OpenAI. All the posts on both apps (same as this system) are derived from markdown files, so I needed a markdown editor I could integrate into my system.

I did have some prerequisites though. It had to be Laravel friendly, using tailwind and preferably built on one of the front-end frameworks Laravel supports out of the box. My searches led me to DevDojo’s Markdown-X. It wasn’t free and I didn’t expect it to be). I had to register a new account and sign up for one month’s subscription just to be able to download it - so that’s what I did.

After signing up for an account I could see that DevDojo had a solid community and offered multiple products that required this Pro subscription plan to access. They seemed pretty useful and something I could potentially use in the future. When I come across things like this, if a platform offers a lifetime plan - I buy it. Even more so if the pricing has a special offer price.

Luckily they did have one and it was with 50% off! You really can’t argue with that kind of discount, so the credit card was abused and the lifetime package purchased. I’m now a proud Ninja part of the DevDojo community.


Reading List: Getting Real

Like many Laravel developers, I’m a big fan and follower of Nuno Maduro, a PHP Developer and Laravel core team member on YouTube. I’ve been following him for a while now and learnt a lot doing so. While watching his recent (at time of writing) interview with Taylor Ottwell, Nuno asked him if he read any books during the Laravel early development years.

He mentioned 2 books. I forget the title of the first one, but the second one mentioned was called "Getting Real: The smarter, faster, easier way to build a successful web application" written by 37 Signals. Intrigued, I had a quick look on Amazon and bought a copy. I’ve made a good start reading it (it’s an easy read!) and I’m about a tenth of the way through. I’ll write more about any key takeaways once I’ve finished it.


Logo Stories and Zen Circles

It’s still very early days for this website, so I doubt anyone has seen or noticed a logo change, but for historic purposes when I look back in coming years - I changed the logo/branding of this website. Originally I had used the codesandbox icon from Lucide not even realising that codesandbox was a company and the icon I was using was its branding (albeit an old one). Suffice to say it was changed quickly!

The updated logo is quite simple. What it resembles is my strive for simple, clean yet meaningful approaches to all that I do. Heavily inspired by Zen Buddhism, the outer ring is indicative of the ensō (Brushed circle), a fundamental symbol in Zen. The offset circle inside is representative of my solo journey as one (for now anyway).


Bug Hunt Chronicles

Hands up who likes bugs? Nobody? I hear you! We have better things to do, right? Nobody likes bugs, but putting a positive spin on them they do give you the opportunity to deep dive into your codebase and potentially explore parts of the application you may never have seen (Typically packages). I had 2 such instances this last week. One was a scheduled time conflict while the other needed a bit more brain power to solve. Let’s go through them.

Google Drive backups

The 2 small web apps I have both schedule overnight processes that backup markdown files, configs, image files and the database to Google Drive. One process performs the backup. The second, which runs an hour after the backup completes, cleans the backups directory in Google Drive, essentially removing any old ones. It also clears the Google Drive trash bin.

I’ve set my applications to send me exception error reports whenever something goes wrong. This week I had a few such emails from the same app for the cleanup process. After some digging, I realised it wasn’t a coding issue, but merely the fact that 2 different applications were trying to empty the trash bin in my Google Drive at the same time! The fix? Simple. I changed one of them to run 30 minutes later than the other. Problem solved.

As you may (or may not?) know, the blog posts generated for my 2 small web apps are generated using AI. A custom implementation I built myself using no 3rd party services (exceptions being Anthropic & OpenAI of course!). Despite numerous attempts at getting the AI to provide at least one valid Youtube link to a related video, sometimes it either would generate a video ID that didn’t exist or one that isn’t public.

I figured, why not just add a weekly process that goes through all the posts, checks for any YouTube links and verifies the videos are still public and valid. If any are not valid or public, remove them from the post and save the changes. It worked like a charm and so I pushed it live without much further thought and set it to run on Sunday mornings in the early hours. Sunday came around and ’ping’ - You have email. Exception: Something about interactive parameter required (I forget what it actually was).

What I had totally forgotten about during the feature development was, I had written the command to ask if we should run the checker for all posts or select one. If you choose a post, it shows a list of posts and asks you to select one. I have a trait on all my commands which has a method to check whether the command is running via the scheduler or not. This was already added so it would skip the questions and just process all posts.

Unfortunately, just using the runningInConsole helper function in Laravel isn’t enough. I even set the scheduled commands to set an env variable before each run and check if that exists. But that didn’t work either. In the end, what helped was checking if the input was interactive. A non-interactive command is a sure sign that this is running via the scheduler. All bundled together, here is the final command I implemented:

trait HasCommandsTrait
{
    protected function isRunningFromScheduler(): bool
    {
        return (getenv(name: ’SCHEDULED’) && getenv(name: ’SCHEDULED’) === ’true’)
            || (app()->runningInConsole() && ! $this->input->isInteractive());
    }
}

NIH Syndrome Strikes Again

I decided to build my own editor. WHY? I hear you cry. You just purchased a lifetime subscription to DevDojo for the MarkdownX solution! Are you mad? I might be - but that’s irrelevant. Allow me to explain. I installed the markdownX editor into my apps, and it just kept throwing Livewire more than one root element issues. It seemed to stem from the heavy JavaScript that the component needed. No matter what I tried, I just couldn’t get it to work properly.

When I looked at the files, the Livewire component was fine, but the blade file was very long and in a bit of a mess (in my opinion). I intend no disrespect to DevDojo or the contributors to the MarkdownX package, but it was quite complicated to work through it all. Everything was just inline javascript in a mammoth single blade file. All in all, I felt it was bloated and difficult to understand. I knew it could be made more component based with a cleaner and less complicated structure. So I thought, sod it. I’ll build my own cleaner and leaner version heavily inspired by the MarkdownX editor.

Right now, all the commands are working. It looks clean and simple. The code is clean and each section of the editor is x-component based including all the icons, making for a cleaner codebase to understand and work with. I may look into releasing this as a Laravel package. I’m really not sure yet. We’ll see - I just don’t want to step on anyone’s toes as I can see DevDojo put a lot of work into their products.

Screenshot of the markdown editor in progress

New Projects on the Horizon

I’ve been sitting on an idea for an app for a few months now, and one I feel could do well. I had another bright idea this week too. I really need to stop just jumping on ideas, but again I feel this one could do well also. Let’s give you a summary of the ideas I had:

Idea #1: RepoStache - Repo What?

RepoStache, a marketplace where you can buy and sell unfinished repository code bases hosted on git based platforms (GitHub, BitBucket etc). No completed projects. No businesses. No live websites or web-apps. Just unfinished codebases. It’s a lot more fleshed out than this, but this is the general idea.

I did some competition and market research with Claude (Love that guy!) and together we found there was a gap available that could be filled. After some back and forth, we scraped together a viable MVP.

The downside? This wasn’t going to be a quick and easy build. This would take at least 2-3 months to finish and is not a project I would be able to finish inside a quick 1-week Cursor Vibe and release session. This would have to be hand-coded with some support using AI. It’s not the build-quick, ship-fast approach I had in mind.

That being said, I’ve taken the approach of buying a domain, building out the splash page, do a little marketing and see if there is any interest. Based on the results of potential interest (timeframe to be decided - 3 months, 6? I’m not sure) will dictate whether I move forward with it. If there is no interest at all then all I’ve lost is the price of the domain and my time on the landing page. We move on!

Why the name RepoStache?

You wouldn’t believe the time I took to come up with this. Like many have done and will continue to do, you try different combinations of words that sound good and look good. You then check the domains, aaaaaaand - they’re taken. So? Use the .net or .org one available. I don’t think so! It’s either .com or .app for me! I refuse to spend silly money on .io domains or thousands on a .com domain just because it has one less character.

Examples of the RepoStache logo

Let’s break down the name. Repo - Pretty self-explanatory I think. Git Repository. A no-brainer really. The fun part comes with the 'stache' which represents a multitude of things:

  • Stash - Hoarding repositories due to shiny new thing syndrome
  • Cache - Caching layers, storing data for long periods, even when not being used.
  • Mustache - A tertiary element I just thought of right now! The stereotypical developer is shown with beards or a mustache, so this fits perfectly!

I hope that helped explain my thought process in coming up with the name! Witty? Funny? Cliche? I don’t care. I like it. It’s memorable!

Idea #2 - ConceptForge

How many times a day does Google receive the search terms "app ideas" or variations of it? It’s been quite tricky to pinpoint actual stats, but Google processes around 8.5 billion searches daily which breaks down to roughly 6.3 million search queries every minute! Based on search volume tools and patterns, the search term for "app ideas" is estimated to be at around 5,000 to 15,000 a day. At least Claude told me so, so it must be true, right? Even if it’s not, I’m sure it’s not too far off.

I’m thinking about building an app idea generator using AI. The intention will be to monetize it in some way in the future. Rather than users generating ideas, the process will be automated generating 50 ideas overnight everyday using a wide range of parameters for unique ideas.

Researching this, I found there are a few existing solutions that offer similar to this already. The difference being that the main selling point is app planning - but with idea suggestion tools. They can often be well overpriced, bloated with tools you rarely use or the features are just complicated to work with. I wanted a simple approach that was easy to use, no fuss, just the raw data.

I didn’t want this to be so simple that all it generates is - a single idea in one paragraph. I want it to be as informative as possible, encompassing as much detail about each suggested idea as possible. As an example of what I’m talking about, some parameters we can use:

Market & Industry Parameters

  • Target industry/vertical (fintech, healthcare, education, etc.)
  • Market size preference (niche vs mass market)
  • Geographic focus (local, national, global)
  • Target audience demographics (age, income, profession)

Technical Constraints

  • Development complexity level (simple, moderate, complex)
  • Estimated development time (weeks/months)
  • Team size requirements (solo dev, small team, large team)
  • Technical stack preferences or limitations
  • Platform targets (mobile, web, desktop, cross-platform)

Business Model Elements

  • Monetization approach (freemium, subscription, one-time, ads, marketplace)
  • Revenue potential range
  • Competition density preference (blue ocean vs competitive markets)
  • B2B vs B2C focus

Trend & Innovation Factors

  • Current technology trends to incorporate (AI/ML, blockchain, AR/VR)
  • Problem urgency level (nice-to-have vs critical pain point)
  • Market timing (emerging trend vs established need)
  • Regulatory considerations

Practical Constraints

  • Budget requirements for MVP
  • Marketing difficulty/channels available
  • Required expertise/domain knowledge
  • Scalability requirements

I still have research to do and a lot more fleshing out on how I’m going to approach this, but the above is the general idea. Once I have established a plan, I’ll write up about it and provide a lot more detail on its own page.

Similar to my approach with RepoStache, it took a while to come up with a name - ConceptForge. Looks good, reads well and sounds good. Unfortunately, I couldn’t get the .com domain but the .app was available, so I snagged it while it was on offer. While I plan this out further I’ll knock up a basic splash page so we have something being served at the domain rather than nothing at all.


Next Week’s Mission

I will always try to be as productive as I can be throughout the week, but you’ll all know that life can and does get in the way sometimes. Even more so with a full-time job and perhaps friends and family. Enough excuses! I don’t want to give myself too much to get done through the week and fail miserably, so let’s take it easy for now. I’ll crank things up as my leaving date gets closer. Here’s a run down of what I’m expecting to get done by this time next week:

RepoStache:

  • Finalise the logo and the colours.
  • Finish the landing page. I have several sections to finish and flesh out.
  • Figure out a mailing list. I could use a paid solution. I’d prefer a free alternative. We’ll see!
  • Hook up Fathom analytics - Takes merely seconds, but I shouldn’t forget this.
  • Plug in Google console - Not really required, but hell. Why not?
  • Push to Production - Well duh. This is all wasted if I don’t do this!

ConceptForge

Add a basic splash page to the domain. It won’t be anything fancy. I’ll probably just whip up a hero section with some temporary branding until I start working on it properly.

Getting Real Book

Read at least 3 more chapters. Quite often I get started on a book, crease the corner (yes I’m one of those!) then set it down. Then I forget about it and it sits there gathering dust. I shall make a conscious effort to finish this one! It’s here in writing. So let it be written, so let it be done. Post Edit: I just discovered that 37 Signals have put their book online for free if you don’t want the paperback version!

Markdown Editor

This is pretty much there now and not much else to do. I just now need to focus on the html rendering side for previews. There are extensions I could use, but I didn’t like the solutions I found for what I wanted. I’ve already created custom ones that I use for my other small apps. So I’ll reuse them in this editor.

  • Add a plugin to better render YouTube videos.
  • Add a plugin to handle better table of contents html.
  • Add a plugin to generate image html with source sets & captions

Week One: Complete

As you can tell, it’s been quite a busy, productive, but mad week here at Codel HQ. I need to make sure that I stick to what I’m doing and am focused on the goals. It’s just too easy to get carried away when new ideas pop into your head and you jump on them. Moving forward, I’ll just note any shiny new thing syndrome ideas down on my trello board (Yes some of us still use it) and come back to them at a later date.

This post will serve as a guide for myself in the future to help reflect on progress over the year ahead. It keeps me focused on what I’ve done and what I need to do next in addition to some accountability ’kind of’. I do hope that you enjoyed reading through my week and took away something from it. Until next week, you have yourself a great week and we’ll catch up next Sunday. Ciao!