Reducing OpenClaw Token Costs with claw-llm-router
Right model, right time. Save tokens.
Articles on software engineering, freelancing, and building a self-directed life.
Right model, right time. Save tokens.
Learn more with less effort.
Evolving into an Agentic Coding Architect
Get paid or go broke.
Software’s Industrial Revolution Moment
Avoid repeat prompts with context.
Mentorship without direct connection.
Plant Seeds of Opportunity.
Perfection delays real progress.
Skill beats high-end tools.
Digital Ocean backup with pg_dump.
Goodbye Sidekiq, Hello Solid Queue.
Pin specific versions in ImportMap.
Skip paid alerting services. A small Ruby script and Telegram bot let you send yourself server notifications for free using MarkdownV2 messages.
Constant forced OS updates, mandate deadlines, and over-engineered patterns are driving mobile developers to abandon native apps for the web.
I once worked straight through a client's company holiday by accident. It's a reminder of why freelancing trades meetings for freedom and money.
Why I ripped a Compose AppBar back out of Jumpstart Android in favor of a plain XML Toolbar to make Turbo Android and Strada integration simpler.
A theory on why grandparents spoil their grandchildren: it's a second chance to do right what regret and exhaustion got in the way of as parents.
We all get the same 86,400 seconds a day. How I cut phone time from 6-9 hours to reclaim mine and used small 10-minute blocks to ship more.
How I built Caster.IO into a $7,500 MRR membership business on WordPress, RestrictContentPro, and Wistia without writing a single line of code.
Kotlin Multiplatform is impressive tech, but human nature, ego investment in tool choice, and a scarcity of polyglot devs will keep it niche.
I was paying $400/month across multiple email list providers, so I built Listomo: one account, unlimited contacts, bring your own SMTP.
Why hybrid Native Where You Need It apps -- native only where it matters, web everywhere else via Turbo and Hotwire -- beat building native twice.
An 8-step writing exercise for breaking analysis paralysis: dump your thoughts, weigh pros and cons, war-game the worst case, then decide and act.
Bootstrapped and self-funded get used interchangeably, but they're not the same thing. Here's the real difference and why it matters.
How to deploy a Middleman static site on Hatchbox with a custom build script, plus auto-deploying on every git push - after ditching Heroku.
A drop-in Stimulus controller that strips the attachment button, blocks pasted images, and disables file uploads in Rails' Trix editor.
You want your time back so you can focus on other things. How do you do it though? Learn how in this article
Most meetings do not need an hour. Set your default to 15 minutes, give every meeting a goal and a leader, and block them into one part of the day.
How to migrate an existing unencrypted Rails column to Rails 7's built-in encrypted attributes without breaking data already in the database.
Standup status updates should take 60-90 seconds per person, no more. Longer updates waste everyone's time - save the deep dives for after the meeting.
I worked out for 1000 days straight, this is what I learned about myself mentally, physically and more …
A step-by-step guide to wiring Tailwind CSS 3 into a Middleman static site with an external_pipeline, plus the gotchas I hit and a ready-to-fork template.
How to scope Rails PgSearch multisearch results to a tenant: add an account_id column, wire up additional_attributes, and rebuild the index right.
How to make a Rails model's ActionText::RichText field searchable with PgSearch by hooking multisearchable into its on_load initializer.
Fixing NameError: uninitialized constant Vips on Heroku for a Rails 7 app: the ruby-vips gem, an Aptfile, and two buildpacks in the right order.
A free 2-hour YouTube course covering the 20% of Git commands, branch, merge, stash, cherry-pick and more, that cover 80% of daily use.
A freelancer's framework for deciding which clients are worth an in-person visit, how far is too far to travel, and how often to show up.
Seven blunt lessons from 20 years of shipping side projects: expect to fail, ship before it's ready, skip the emotional attachment, have an exit plan.
How to outsource tasks without losing your mind: write a standard operating procedure for every task so contractors can run it without you.
A four-step stair-step plan for building a freelance career on nights and weekends while still working full-time and raising a family.
Five practical rules for estimating freelance projects: never quote on the spot, scope with a discovery call, and always give a range, not a number.
In this post you'll learn what the differences between freelancing vs consulting are in regards to you being a software developer and mobile app developer.
No online presence means no freelance clients. Build a track record with a blog, GitHub, and social so prospects trust you before they call.
Learning Solidity and building on Ethereum taught me more than comfort-zone tech ever could. Real growth happens when you're in over your head.
I shut down my CrossFit gym billing SaaS when competitors showed up, only to watch customers later abandon them and come back to simplicity.
lvh.me suddenly stopped resolving on Verizon FiOS. Switching to Google's DNS (8.8.8.8) on my router or Mac fixed it. Here's how I diagnosed it.
Why tracking sleep, spending, workouts, and even words-per-hour while writing turns vague goals into things you can actually manage.
A story from my Groupon days: A/B testing killed a feature I'd poured two months into, and it taught me to stop being emotionally attached to my code.
Why I think the web browser, not native mobile apps, is the real future platform, and why even the Gmail app is mostly just a WebView.