Thoughts
Practical notes for business owners on planning, buying, building and running software. Free to use, whether or not you hire us.
-
Software development outsourcing: decide who owns delivery
Choose what to outsource, compare development partners, and use a responsibility worksheet to agree acceptance, access, support, and exit before work starts.
-
Mobile app development cost: planning a native iOS release
Understand the work behind an iOS app estimate: user journeys, device features, backend integrations, App Store release, and ongoing maintenance.
-
MVP development cost: what belongs in the estimate
Compare MVP development estimates by user journey, integrations, acceptance criteria, ownership, and the costs that continue after launch.
-
MVP vs prototype: what should you build first?
Choose a prototype, proof of concept, or MVP by the question you need to answer. Use a decision table and a practical first-release brief.
-
Planning custom software development: scope and cost
Prepare a custom software development brief: users, workflows, integrations, scope, cost drivers, and acceptance checks before you ask for a proposal.
-
Software maintenance cost: what your budget should cover
Estimate maintenance for an existing web app or SaaS: separate takeover, upkeep, support and feature work, then compare what each quote includes.
-
Vibe coding cleanup: how to hire help for your app
Need help with an AI-built app? Define the failure, agree a repair scope, and ask for evidence on permissions, recovery, deployments and tests.
-
Web app vs mobile app: choose the first platform
Decide whether your first product needs a web app or a native mobile app. Compare user journeys, device needs, offline work, release scope, and ownership.
-
Choosing a language for software you will maintain
Rust, Rails or another stack? Choose for the application, the people maintaining it and the cost of operating it, rather than a benchmark ranking.
-
Codebase takeover checklist: what to inspect before accepting a system
A reusable checklist for taking over software from another developer, agency, or team: access, production, data, change safety, dependencies, security, knowledge, and cost. Use it before you agree to own the system.
-
Production-readiness checklist for AI-generated applications
Thirty concrete checks that separate a working AI-generated (vibe-coded) prototype from production software: security, data, failure handling, operations, coherence, dependencies, and ownership.
-
What a good software handover should contain
The seven artifacts an outgoing developer or agency should hand over with a software system: access, environment map, operating manual, architecture notes, decision log, open issues, and a recorded walkthrough.
-
Software needs an owner
Software becomes expensive when nobody clearly owns it. Ownership is a role, not a repository permission, and most struggling systems are missing it.
-
Repair or rewrite?
A rewrite is a conclusion you reach after understanding a system, not a starting point. Most systems proposed for rewrite need an owner, a plan, and a few months of repair.
-
Taking over software after the developer leaves
A practical sequence for inheriting a system whose builder is gone: secure access, understand production, write down what nobody wrote, then change things.
-
AI-built software still needs an engineer
AI changes how code is produced. It does not remove technical responsibility. Software generated quickly still needs someone who understands it and answers for it in production.
-
Maintenance is product work
Most of a product's life happens after launch. Treating maintenance as a cost to minimize is how software quietly degrades and how the best improvements never get made.