<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[CodedShapes: The CodedConstructs Journal]]></title><description><![CDATA[Personal essays and notes on building an independent practice, making things, and figuring out how I want to work.]]></description><link>https://www.codedshapes.com/s/codedconstructs-journal</link><image><url>https://substackcdn.com/image/fetch/$s_!DATU!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8783c1e-94bb-4979-9c47-889d3da8083d_500x500.png</url><title>CodedShapes: The CodedConstructs Journal</title><link>https://www.codedshapes.com/s/codedconstructs-journal</link></image><generator>Substack</generator><lastBuildDate>Mon, 07 Sep 2026 14:02:08 GMT</lastBuildDate><atom:link href="https://www.codedshapes.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Braden Koh]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[bradenkoh@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[bradenkoh@substack.com]]></itunes:email><itunes:name><![CDATA[Braden Koh]]></itunes:name></itunes:owner><itunes:author><![CDATA[Braden Koh]]></itunes:author><googleplay:owner><![CDATA[bradenkoh@substack.com]]></googleplay:owner><googleplay:email><![CDATA[bradenkoh@substack.com]]></googleplay:email><googleplay:author><![CDATA[Braden Koh]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Week 8: An Abysmal Reply Rate ]]></title><description><![CDATA[Sometimes you gotta just stop and listen to the market]]></description><link>https://www.codedshapes.com/p/week-8-an-abysmal-reply-rate</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-8-an-abysmal-reply-rate</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 04 Sep 2026 06:08:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/47fSd36MBgU" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-47fSd36MBgU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;47fSd36MBgU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/47fSd36MBgU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Alright, week 8.</p><p>Two months into doing this full-time.</p><p>I hit another wall, or maybe an obstacle? I don&#8217;t know yet.</p><p>For the past two months, a big part of finding clients has been outbound marketing. It is the modern version of door-knocking. Instead of physically walking up to someone&#8217;s house to ask if they are interested in what you are selling, you send a cold message in form of an email or DM. </p><p>It is also notorious place for spam and people bothering you with stuff that you really don&#8217;t want. But when outbound marketing works, it is a way to let people know you exist.</p><p>Well, I don&#8217;t want to spam people. I don&#8217;t even think it would work if I tried anyway. I can&#8217;t email 10,000 people asking, <em>&#8220;Hey, do you need automation?&#8221;</em> and expect everyone to come running to me with their automation needs.</p><p>So, I have been using AI to help me find and filter for companies and teams that I think might benefit from what I do. I look for signals on their website or someone&#8217;s profile, then write an email around what I can see and what I think I can help with.</p><p>Basically, I acknowledge the signal, tell them about my experience or something similar I have done before, then explain where I may be able to help. It is a bet that the signal points to a problem they have that I might be able to help with.</p><p>And I did get a few replies and meetings from it. It was enough to make me think it was semi-working. </p><p>I knew my reply rates were lower that usual, but I am only one person, so I don&#8217;t need that many clients in one go.</p><h2>Looking at the numbers</h2><p>I couldn&#8217;t put that feeling to rest. So, this week I decided to do a bit of a data dive. Now that I have been doing outreach for two months, I have some data to look back on.</p><p>I wanted to know whether it was <em>actually</em> working, so I pulled the data together and looked at it properly.</p><p>My reply rate was about 5%. These are replies not whether or not it led to projects.</p><p>It was abysmal.</p><p>I felt really shit when I saw it. I mean, I know I am new to this and the first few emails I sent were really clunky, but it still sucks. It felt like I wasted two months of my time just flailing around. </p><p>So, I stopped what I was doing, took a break and re-evaluated the whole thing. </p><p>I am not going to start spamming people as promising as the &#8220;marketing gurus&#8221; on outbound marketing makes it sound. And the idea of using signals still makes sense to me. I have to change how I am doing it. And I have to experiment more instead of sticking with one thing and hoping it will work. </p><p>This will be the third direction I have tried in two months now. Every time I think I understand outbound a little better, I find another mistake I have been making. Or that it&#8217;s a failed experiment.</p><p>It is depressing to look back and think the last two months could have gone differently if I had known then what I know now. Yeah, I know there&#8217;s a quote somewhere about hindsight and all that. But it doesn&#8217;t mean it still doesn&#8217;t suck. </p><p>Never have I been so envious of people that started their own business and it just worked from the start. For me, it feels like running one experiment after another until something works.</p><p>It is me saying to the market, <em>&#8220;Here&#8217;s what I believe in. Do you think it works?&#8221;</em> and the market telling me to shove it where the sun don&#8217;t shine.</p><p>I don&#8217;t know if the next version will work, but I guess that&#8217;s the process, ey?</p><p>Alright, thanks for reading.</p><p>Onward to week 9.</p><div class="pullquote"><p>Thanks for reading,<br>Subscribe to follow the journey directly from your inbox!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p>]]></content:encoded></item><item><title><![CDATA[Week 7: Changing How I Price My Work]]></title><description><![CDATA[Sometimes the market changes your mind]]></description><link>https://www.codedshapes.com/p/week-7-changing-how-i-price-my-work</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-7-changing-how-i-price-my-work</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 28 Aug 2026 07:00:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/6aCTiVkHrSE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-6aCTiVkHrSE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6aCTiVkHrSE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6aCTiVkHrSE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Alright, week 7.</p><p>Mostly business as usual. Some product work, meetings with potential clients and still creating content. I am also happy to report that the time blocking method from l <a href="https://www.codedshapes.com/p/week-3-strong-on-paper">week 3</a> is still going strong.</p><p>The more interesting news is that last week&#8217;s in-person meeting turned into a real proposal this week. Writing the reply made me realise how much trust my usual pricing model asks from a new client.</p><h2>A smaller first bet</h2><p>Until now, I have generally offered fixed-fee development followed by a retainer for any updates or new features.</p><p>My theory, and one that has worked with previous clients, was that a fixed fee made the cost predictable. If the work took more time or effort than expected, I ate the cost on my end. The client knew what they would pay, with no hidden costs.</p><p>But the last few weeks have taught me that a fixed fee can still feel risky from the client&#8217;s perspective, especially if it is our first time working together.</p><p>Let&#8217;s say you were the client.</p><p>You&#8217;ve reached out to me, we&#8217;ve gone back and forth over email and agreed to a call or even an in-person meeting. The meeting goes well. I understand what you need and we both come away with a good feeling.</p><p>Then, a week after sending me some sample models and files, you receive a proposal that says the automation will cost $10,000.</p><p>Now you have to decide whether the value is worth that cost. You also have to trust that I can deliver the tool you want, even though we&#8217;ve never worked together before. And how sure are you that this tool is what you need in the first place?</p><p>Even after a good meeting, that is a big first bet.</p><p>In the past few weeks, I tried to close that gap by doing deeper unpaid discovery. I spent more time clarifying the problem and working out the likely solution before sending a proposal.</p><p>That makes the scope clearer, but the final jump is still there. The client still has to decide whether the $10,000 is worth it, while I might spend days working through a proposal that gets rejected.</p><p>Writing this week&#8217;s proposal made that gap hard to ignore.</p><p>So, I am trying capped hourly work, something I was against from the beginning.</p><p>I estimate how many hours the work should take and agree on a maximum with the client. If it takes less time, they only pay for the hours I used. If it looks like I will exceed the cap, we stop and talk first.</p><p>I have written before that the <a href="https://www.codedshapes.com/p/the-business-models-of-digital-work">hourly rate model is a poor proxy for value</a>. I still think that is true. But it is a useful proxy for effort, and everyone understands it.</p><p>Fixed pricing still has a place. For a first engagement, though, capped hourly work gives the client a ceiling without asking them to pay for the whole ceiling if the work takes less time. It also means I can take on smaller scripts and automations that do not need to become full-blown applications.</p><p>It feels more like becoming a client&#8217;s automation partner. We can start with one piece of work, learn how we work together and decide where to go next.</p><p>I don&#8217;t know if this will work long term, or even short term. But I won&#8217;t know until I try.</p><p>Alright, thanks for reading. </p><p>Onward to week 8.</p><div class="pullquote"><p>Thanks for reading <br>Subscribe to CodedShapes to get more articles like this delivered to your inbox</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p>]]></content:encoded></item><item><title><![CDATA[Week 6: Product Whiplash & first in-person client meeting]]></title><description><![CDATA[Good and bad hurdles, but it&#8217;s all hurdles]]></description><link>https://www.codedshapes.com/p/week-6-product-whiplash-and-first</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-6-product-whiplash-and-first</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Sat, 22 Aug 2026 00:07:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/QwkePodD8sI" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-QwkePodD8sI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QwkePodD8sI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QwkePodD8sI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You know how in TV shows, when one major problem gets solved, another one just as big (sometimes bigger) shows up?</p><p>Well, that about sums up my week.</p><p>Within a few days, I went from wondering whether my outreach was working, to getting a client meeting, to feeling dejected about my product, to finding a reason to keep building it.</p><p>Safe to say, it was not boring.</p><h2>Product building whiplash</h2><p>So, before I decided to build this product, I did all my research. I asked around, looked on the internet and got AI to do some searching for me. Maybe it was just the excitement, but I was convinced there was a real gap.</p><p>I mean, even as I started building it and looked for role models on how to price, structure and sell it, I still could not find a direct competitor.</p><p>It wasn&#8217;t like I was trying to revolutionize the industry. This was a small market gap. Still, it took some effort to make. I&#8217;m about six weeks in with about 10 hours per week and it&#8217;s not quite ready for deployment yet.</p><p>But then, I found a competitor.</p><p>All that research and asking AI didn&#8217;t even bring this up. On the surface, it did exactly what I wanted my product to do.</p><p>I started laughing. I wasn&#8217;t sure if I was relieved or angry. On one hand, I was sick of working on it. Ten hours a week for six weeks and nothing to show for it yet? Damn. I wanted it off my plate, and a direct competitor gave me an excuse to stop. On the other hand, it was something I believed in, and stopping meant throwing all that work down the drain.</p><p>So, I did what I thought was the best thing, I took a break. I went to the gym, had some lunch, <s>talked</s> vented to a few friends and complained to Claude. I worked on some other stuff before finally coming back to look at it again.</p><p>What do I do now? Have I really lost the advantage?</p><p>I took a breath and gave the competitor a spin.</p><p>About two hours of serious testing later, I realised it was a different product. It looked the same, but functioned differently and served a different market. It&#8217;s not entirely different but it was different enough that mine could still exist.</p><p>Slowly, as I realised this, I felt annoyed but excited that it wasn&#8217;t over. I wasn&#8217;t out of the fight yet.</p><p>And instead of trying to build this from my head, I had a pretty close role model. I had something to reference and learn from.</p><p>So, within a single day, I killed and revived my product.</p><h2>First in-person client meeting</h2><p>I&#8217;ve had plenty of client meetings before, so I am pretty used to them. But for better or worse, they have all been online.</p><p>This week I had my first in-person meeting. I walked into someone else&#8217;s office and sat in their meeting room. Even when I had a corporate job, I&#8217;d only done this maybe twice in my life. And that was pre-Covid, before video calls were the norm.</p><p>It felt......strange, to say the least.</p><p>I wasn&#8217;t that nervous, but it felt like a job interview. Taking the lift up, asking to meet the person and saying the words:</p><p>&#8220;Hi, I&#8217;m here for a meeting.&#8221;</p><p>It&#8217;s a bit like being in someone&#8217;s home. You are welcome there, but you are still very aware that it isn&#8217;t your space. Which I think made me more self-conscious than I expected. I had to walk in, sit down and represent the business in front of actual people.</p><p>Which made the business feel oddly real.</p><p>Alright, that was week 6.</p><p>Plenty of lessons from it all, gotta keep going.</p><p>Onward to week 7.</p><div class="pullquote"><p>Thanks for reading <br>Subscribe to get these updates directly into your inbox!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p>]]></content:encoded></item><item><title><![CDATA[Week 5: Squeezing too tight makes it harder to actually hold on]]></title><description><![CDATA[The answer isn't more efficiency]]></description><link>https://www.codedshapes.com/p/week-5-squeezing-too-tight-makes</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-5-squeezing-too-tight-makes</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 14 Aug 2026 07:02:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/qs932GUYLP0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-qs932GUYLP0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qs932GUYLP0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/qs932GUYLP0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Alright, week 5.</p><p>Last week I published an article about the <a href="https://www.codedshapes.com/p/the-business-models-of-digital-work?r=yraxj">business models of digital work</a>, and I ended it saying I wanted <a href="https://codedconstructs.com/">CodedConstructs </a>to be a service firm that also builds products. I also said I knew from experience that balancing those two is hard, and that I&#8217;d eventually have to build better boundaries between them.</p><p>Well this week, I got a preview of just how annoyingly difficult that is.</p><h2>The product I built did the wrong thing</h2><p>I have been working on a product alongside trying to get clients and creating content.</p><p>But the tempting thing with LLMs is that you let them do more and more as you get busier and busier with other things. And as I got busy creating content or doing client work, there were a few times I just let it run. </p><p>This week though, it &#8220;finished&#8221; and it&#8217;s time to test. I have automated tests but this was the end to end one. The one where I put myself in the shoes of my users and go through the product itself. </p><p>In the first 20 minutes, I listed maybe 15+ things that were wrong with it. Which was to be expected, but 1/15 needed significant rework. It was part of the core design of the product and the LLM had gotten it so so wrong. </p><p>So, I went to look back at all the notes and plans it worked off. I saw that I actually approved the wrong design. Probably because I was busy with something else and it kept asking me questions, so I just approved everything. The LLM, not knowing any better, just kept piling on top of that. </p><p>When the foundation is already wrong, building more on top of it makes it worse and that&#8217;s where I am at now. I have the cost of building the wrong thing and also now the added cost of fixing the thing because I said yes without knowing the consequences. </p><h2>Focus more is not the answer</h2><p>The easy answer here is &#8220;focus more&#8221;. In fact, I can almost hear my ex-managers giving me this same advice. To do less. </p><p>And I think it&#8217;s partly true but it&#8217;s not the whole story. It&#8217;s not to give up any of my current endeavors, I think it&#8217;s to focus on a few things at a time, not everything at once. </p><p>I was being too greedy. </p><p>If you&#8217;re a software developer, you would understand this. When we made stuff pre-AI, every time we made a change, we would have to wait for the computer to recompile. It would take 2 maybe 5 minutes before you can type a line of code again. </p><p>What do you do in this time ? You can scroll your phone, read something, stare at the screen, etc.</p><p>Now, in the AI world, it&#8217;s waiting for agents to finish.</p><p>So, what do I do now? Well, I start another agent to do something else. </p><p>Then, what do I do while waiting for that ? I start another </p><p>So, I end up having 2-3 agents at the same time. There was one time, I had up to 6.</p><p>It sounds awesome, like I am this grand puppet master with an army of agents working for me. But this actually means my attention and judgement (which arguably is my most valuable asset) is split across multiple equally important tasks. </p><p>It&#8217;s just plain greedy. Instead of 1 amazing result, I now have 6 mediocre ones.</p><p>So, my lesson for week 5 is to resist the urge to squeeze as much as I can. Because the harder I try to be efficient, the less I actually am. </p><p>Thanks for reading,</p><p><br>Onward to week six.</p><div class="pullquote"><p>Thanks for reading <br>Subscribe to CodedShapes to follow along in my journey!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p>]]></content:encoded></item><item><title><![CDATA[Week 4: Disappointed But Not Discouraged]]></title><description><![CDATA[Just learning the lessons as they come]]></description><link>https://www.codedshapes.com/p/week-4-disappointed-but-not-discouraged</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-4-disappointed-but-not-discouraged</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 07 Aug 2026 07:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/vX6zcXt8LuE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-vX6zcXt8LuE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vX6zcXt8LuE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vX6zcXt8LuE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Alright, week 4. A full month in now.</p><p>Better than last week, which I wasn&#8217;t expecting given how it started.</p><p>That proposal I sent out from last week came back rejected. But funnily enough it didn&#8217;t really affect my confidence. I mean I was disappointed but the rejection didn&#8217;t mean my work was bad.</p><p>It was just that what I could build for them didn&#8217;t fit what they needed.</p><p>I was also proud that I asked for feedback. I wanted to understand if I could have done any better or maybe there were some confusing parts.</p><p>The lesson I took away is that I have to get better at alignment from the beginning. Instead of me sinking a few days into coming up with a proposal, I should have asked more questions instead of assuming things. It&#8217;s to be courageous and ask for more information instead of assuming I am disturbing them.</p><p>What it did do though was make me wonder whether there&#8217;s a clearer more cohesive way to tell people what I do. So, I spent a couple of days on strategy.</p><p>When I first started CodedShapes and posting on LinkedIn , the goal was just to see if I could be consistent. Not only have I proven to myself that I can, I also enjoy it. But, I did it in a pretty unstructured way. I posted or wrote whatever was on my mind. Which I think is great but it meant my ideas and thoughts were all over the place sometimes.</p><p>Now that I completely control the narrative and don&#8217;t have to worry about office politics and all that, I can make it more cohesive. So I am trying a content pillar approach. Simply put, it&#8217;s about defining some pretty wide buckets, and then every idea I come up with needs to be reframed into a bucket.</p><p>It&#8217;s something I sort of do already but this just formalizes it and helps me focus on what I am actually trying to say.</p><p>Hopefully it makes things clearer and less like rambling. But I do like writing whatever comes to mind though, so don&#8217;t expect that to change anytime soon. I am just trying to be more focused with my messaging is all.</p><p>Other than that, the time blocking method is helping me properly triage my tasks now, which is good.</p><p>Alright, that&#8217;s it.</p><p>Thanks for reading,<br>Onward to week five.</p><div class="pullquote"><p>Thanks for reading <br>Subscribe to CodedShapes to follow along in my journey!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p>]]></content:encoded></item><item><title><![CDATA[Week 3: Strong on Paper]]></title><description><![CDATA[Technically going okay but doesn't feel like it]]></description><link>https://www.codedshapes.com/p/week-3-strong-on-paper</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-3-strong-on-paper</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 31 Jul 2026 08:00:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/ni4W-5A8fps" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-ni4W-5A8fps" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ni4W-5A8fps&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ni4W-5A8fps?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Alright, week 3.</p><p>It&#8217;s what I am now calling the self-doubt week because that is the strongest feeling here.</p><p>But on paper it&#8217;s a strong week, two discovery calls, some solid time spent working on products, spent time on building a community, and I even implemented the new time boxing method from <a href="https://www.codedshapes.com/p/week-2-too-many-balls-in-the-air">last week</a>.</p><p>That really helped. Simply put, instead of only working on things that are top of mind, I treat each day as 3-4 blocks, about two hours each, then I assign tasks to all of them for the upcoming week.</p><p>I am not strict on adhering to it though because I know there are meetings and other random life things that get in the way. But the biggest benefit has been the clarity of everything. I can see now all laid out on my calendar things that I should be working on. Thinking about my time in blocks has also helped me focus, when you only have limited work blocks, you can&#8217;t pretend everything fits. So, it has forced me to decide where to put things and which should remain in the backlog.</p><p>Last week, just felt like all the tasks were due at the same time and I was task switching like a headless chicken.</p><h2>The midnight discovery call</h2><p>Sydney is a great place but the timezone difference with the ET (Eastern US Time) sucks. That discovery call I had was at midnight and I felt fine during the call, but the days after sucked. Mostly from the disrupted sleep and it could be why I feel so much self-doubt this week.</p><p>But that call was worth it though.</p><p>Because it gave me a new perspective on the way other people work. Even though I have worked with many structural engineers, I still get caught by surprise on how many assumptions I make that are wrong. So, it felt like that call brought me closer to reality.</p><h2>Building a community</h2><p>It&#8217;s still hush-hush for now but I promise I&#8217;ll release more information soon when we have something solid.</p><p>But the first half of my week was working on creating a community for digital people in the AEC. I know there are a few out there now but I am hoping that this one will help support people in other ways that are rarely talked about.</p><h2>Moving into next week</h2><p>Well, the self doubt is strong right now but I have to remind myself that I can only control the inputs. So, as sucky as this week felt, I still believe in what I am doing and I should hold the faith that it will turn out okay.</p><p>So, I think next week is about keep on doing the thing and trusting myself.</p><p>Thanks for reading,<br>Onward to week four.</p>]]></content:encoded></item><item><title><![CDATA[Week 2: Too Many Balls in The Air]]></title><description><![CDATA[Week 2 of starting my own digital company in the AEC]]></description><link>https://www.codedshapes.com/p/week-2-too-many-balls-in-the-air</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-2-too-many-balls-in-the-air</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Fri, 24 Jul 2026 07:37:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/cC5KCATVIeQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-cC5KCATVIeQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;cC5KCATVIeQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/cC5KCATVIeQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>If week 1 was fast, week 2 was a blink.</p><p>Holy shit, it went quick.</p><p>I think it&#8217;s because I&#8217;m juggling too much now. Right now that&#8217;s:</p><ul><li><p>Daily outreach</p></li><li><p>Meeting new people</p></li><li><p>Writing a new newsletter issue</p></li><li><p>Editing next week&#8217;s newsletter issue</p></li><li><p>Creating and editing 5x LinkedIn posts</p></li><li><p>Making the paid newsletter issue</p></li><li><p>Building a few software products</p></li><li><p>Building a new community (more on this soon)</p></li><li><p>Writing and assessing proposals</p></li></ul><p>And there&#8217;s actually no client work in there yet, which is crazy to even think about right now. But what actually ate my time was meeting people and prepping a proposal. Which I guess always take longer than I think.</p><p>I know it looks like too much, and it feels like it too. But it&#8217;s all work I care about, so the skill I need is triaging, instead of cutting things out. I know that everything isn&#8217;t urgent and not everything needs my best energy. So, I have to get better at protecting specific times for specific things.</p><p>This week, I moved outreach to the afternoons. The quality holds up fine at moderate energy, and it frees my mornings for the harder stuff. I also made a rule not to take meetings in the morning, unless there&#8217;s really no choice, like people in the EST timezone.</p><p>So, really, this week has been a big lesson in figuring out how to best plan and use my time effectively.</p><h2>My first proposal since going full-time</h2><p>Some of the outreach is bearing fruit, and it left me writing my first proposal since going full-time.</p><p>Compared to when I did this part-time, the stakes here feel higher. Like I don&#8217;t want to mess things up. I didn&#8217;t have to re-write a new one but I did take some time to compile and cherry pick the best bits from my old proposals into this new one.</p><p>That part was fine, the part that actually took more time was the classic problem of scoping the work and pricing it.</p><p>My first instinct was to give this new potential client choices. Because who doesn&#8217;t love choices? It was going to be a base build, then modules on top of that, each priced separately: base + A, B, C. Where the more modules he took, the bigger the bundled discount.</p><p>I was ready to hit send when I realized it was way too many choices. We are talking like 9 choices to make.</p><p>I think it was because I was scared. I wanted to hand the decision to the client instead of asserting what I thought was best. I mean who am I to assume what is best for him right ?</p><p>But I reminded myself that I know what I am doing and I should offer my opinion. Even if it&#8217;s wrong at least, I am providing some direction instead of pilling on more uncertainty.</p><p>So, I gutted the whole thing and started again. This time, no modules, just offering what I thought was the best for his situation.</p><p>I hope I&#8217;m right and but we&#8217;ll see.</p><p>Making that call felt like maturing, and it gave me more confidence to act on what I think instead of trying to please people by giving them options.</p><h2>Co-working</h2><p>The other thing I did a lot more of this week was co-working with a friend. We jumped on a call, chat a bit and got straight to work.</p><p>We did two 50-minute pomodoros each time. Did this for 3 days.</p><p>It&#8217;s been great because one thing about starting out on my own is that I don&#8217;t get to talk about the work I do as much. I mean I meet people but those are potential clients and that&#8217;s different from just working with someone.</p><div class="pullquote"><p>Subscribe to follow along for the journey!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.codedshapes.com/subscribe?"><span>Subscribe now</span></a></p></div><p><em><strong>Work with me:</strong> <a href="https://codedconstructs.com/contact/">https://codedconstructs.com/contact/</a></em></p><p><em><strong>Resources on Computational Design: </strong><a href="https://www.codedshapes.com/p/scripository">https://www.codedshapes.com/p/scripository</a></em></p><p></p>]]></content:encoded></item><item><title><![CDATA[Week 1: Free, and Running Out of Time]]></title><description><![CDATA[This is what I did in the first week of leaving my job and starting a new company.]]></description><link>https://www.codedshapes.com/p/week-1-free-and-running-out-of-time</link><guid isPermaLink="false">https://www.codedshapes.com/p/week-1-free-and-running-out-of-time</guid><dc:creator><![CDATA[Braden Koh]]></dc:creator><pubDate>Mon, 20 Jul 2026 00:33:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/h4xWJAArbsY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>What is this</strong></p><p>I&#8217;m going to try to write, and film, one of these every week. It&#8217;s a short log of what it&#8217;s like to leave a job and build something on my own. I am treating this as a &#8220;documenting&#8221; style but will try to make it as coherent as possible.<br></p><p>I think this journey of mine is going to be interesting, so I want to share it with everyone but I also didn&#8217;t want to disrupt my current newsletter. So, I create a new &#8220;section&#8221; on Substack.<br></p><p>And if you don&#8217;t want to follow along or read this, no problems, you can always unsubscribe to this section at the bottom while still getting the normal CodedShapes issues every week.</p></div><h2>Rules</h2><p>I adding this to my already pretty long things to do weekly, so I made some rules to prevent this from sucking up too much of my time.</p><ul><li><p>Writing and editing, can only take 1 hour</p></li><li><p>Filming and editing, can only take 1 hour</p><ul><li><p>During filming, no more than 5 re-takes.</p></li></ul></li><li><p>Publishing (in all it&#8217;s nitty gritty), can only take 30 minutes</p></li></ul><p>I am going to set a time for each and when the time is up, I&#8217;ll wrap up and publish. The whole point is for this to be rough and it&#8217;s a log, not &#8220;content&#8221;.</p><h2>Week 1</h2><div id="youtube2-h4xWJAArbsY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;h4xWJAArbsY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/h4xWJAArbsY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>It&#8217;s the end of week 1 of going independent for me.</p><p>And if I could sum it up in two words, it would be: freeing and exhausting.</p><p>Like the start of most journeys, I&#8217;m find myself wanting to do many things. Filled with excitement and busier than ever.</p><p>I got more done than I had in weeks.</p><p>Just as a summary,</p><ul><li><p>I got the company setup and all its accounting logistics and tax implications</p></li><li><p>I got the CodedConstructs site up and running</p></li><li><p>I have been doing some outreach every day</p></li><li><p>I had some meetings with new people (Just meeting interesting people)</p></li><li><p>I had some discussions about new projects to collaborate</p></li><li><p>I have been doing some product development too</p></li></ul><p>Every evening, I am exhausted. But there&#8217;s a strong sense of accomplishment each day. There&#8217;s just something about being able to own the end-to-end process that makes working on it, so great. Maybe it&#8217;s the control and also the fact that I am able to execute on my &#8220;vision&#8221; for what digital work looks like.</p><p>It&#8217;s also the small things too. Like being able to go to the gym before lunch instead of &#8220;slumming&#8221; it with the after work crowd. Or meeting people and not worrying about my lunch break ending and having to rush the end of a great conversation. Since, I just started being able to work from my &#8220;office&#8221; at home is way better than the pressure of needing to go to the an office (although I imagine, this will get lonely soon).</p><p>All of this in the first week has made imagine going back to a full time job unimaginable.</p><p>As Naval once said:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/naval/status/977712028163833856?ref_src=twsrc%5Etfw\&quot;>March&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@johndurant</span> A taste of freedom can make you unemployable.&quot;,&quot;username&quot;:&quot;naval&quot;,&quot;name&quot;:&quot;Naval&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1256841238298292232/ycqwaMI2_normal.jpg&quot;,&quot;date&quot;:&quot;2018-03-25T01:01:27.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:84,&quot;retweet_count&quot;:981,&quot;like_count&quot;:4554,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>But it&#8217;s not all glorious.</p><p>The elephant in the room here is that at some point, all of this has to make money.</p><p>Freedom is great and all but so is being able to pay the bills.</p><p>And it&#8217;s a sneaky one. Because now that I am alone and every decision is on me. Which leaves room for a lot of doubt and questions. No more manager or &#8220;management&#8221; to blame. Everything is on me.</p><p>Which when I am tired, can feel overwhelming.</p><p>It&#8217;s a strange to feel so free and also feel that time is running out at the same time.</p><p>It&#8217;s led me to understand burnout better now than I ever did on a salary. Because there is just an infinite things to work on at a given time. There&#8217;s just always more to do.</p><p>Actually, the hardest part might even be to trust myself more. Because well I making decisions that need to have a positive and monetary impact and a lot of that is trusting my own instincts and processes.</p><p>In a few moments of weakness I have thought of reaching out to the less savoury kind of people ~asking~ begging for a project just because it seemed easier than to stand my ground. But I&#8217;m hoping I never go through with that.</p><div><hr></div><p>That&#8217;s week one in a nutshell.</p><p>I am going to try and keep these up each week because I find it interesting to see how this unfolds.</p><p>Thanks for reading.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.codedshapes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe to follow along for the journey!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="pullquote"><p>If you&#8217;re thinking about bringing computational design into a project, I&#8217;m happy to talk through how you&#8217;re framing the problem and if it&#8217;s the right solution.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendly.com/braden-codedconstructs/30-minute-chat&quot;,&quot;text&quot;:&quot;Chat With Me&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendly.com/braden-codedconstructs/30-minute-chat"><span>Chat With Me</span></a></p></div>]]></content:encoded></item></channel></rss>