Improving someone else's bot: where to start and what risks to expect
When improvement is faster than a rebuild - and when a fork is not worth touching. An audit checklist before you start.
Improvement is not always cheaper. Sometimes existing code saves weeks - sometimes it burns months untangling itself. That is why a short but honest audit comes first.
Audit starting points
- Is there a README, .env.example and a clear run path
- Which DB and how migrations work
- Where payments, subscriptions and access live
- Tests, logging, error handling
- How tightly the code is tied to one host/fork
If you cannot confidently run the project locally in about an hour - that is already a signal. Then the question is not how many features to add, but how much it costs to make the code controllable.
Red flags
Secrets in the repo, business logic in a multi-thousand-line file, no transactions around payments, manual deploy without rollback. In those cases it is fairer to tell the client: rewrite part of it.
Custom payment hacks without idempotency are especially dangerous. There the mistake costs money and reputation, not only development time.
A practical approach
Stabilize and back up first, then ship focused features, then refactor bottlenecks. That keeps improvements controllable and releases safer. A good outcome is not ten more buttons - it is code you can safely grow later.