Every homeowner I’ve talked to who got wrecked on a project tells the same story. The job didn’t fall apart at week six. It fell apart the day they signed the contract. They just didn’t know it yet.

That’s how it works. Bad jobs don’t announce themselves. They leak in through small things you talk yourself out of noticing. The bid that seemed too good. The guy who never picked up the phone. The permit conversation that got weird.

I spent thirty-plus years running crews and cleaning up other people’s disasters. Here’s what I look for. And what you should too, before you hand somebody a check.

1. The price is way lower than everyone else

If four contractors come in around fifty grand and one guy comes in at thirty-two, that guy isn’t your friend. He’s not “cutting out the middleman” or “giving you a break.” He either missed something huge in the scope, or he’s planning to hammer you with change orders once the walls are open.

Either way, you’re going to pay full price. You’re just going to pay it on his schedule, when you have no leverage.

The lowest bid is almost never the best bid. If it’s dramatically low, treat it like a warning, not a win.

2. Vague or verbal-only estimates

“We’ll figure it out as we go.”

No. You will not. He will. And you’ll be the one holding the bag.

Everything gets written down. Scope. Materials. Brand names. Fixtures. Timeline. Payment schedule. If a contractor won’t put it on paper, he’s leaving himself room to move — and everywhere he moves is going to cost you.

I had a client in Fishtown a few years back who hired a guy off a handshake for a kitchen redo. Two months in, the “custom cabinets” turned out to be big-box stock, the tile was half of what she’d agreed to verbally, and the guy told her, straight-faced, “That’s what we talked about.” She had nothing in writing. She ate the loss.

Get it in writing. Every time.

3. No real schedule

Ask when he starts. Ask when he finishes. If he can’t give you real dates — not “sometime in April” but actual dates — he doesn’t have a plan. He has hope.

A guy who runs his business right knows his calendar. He knows what he’s on now, what’s next, and when he can slot you in. If he’s dodging the question, he’s telling you exactly what your job is going to look like: chaos.

4. Big upfront payment requests

Materials? Sure. A reasonable deposit to hold your slot and cover the first round of supplies? Fine. Half the job up front before a single piece of drywall comes down? Absolutely not.

Any contractor asking for fifty percent — or worse, more — before work starts is either broke and using your money to finish his last job, or he’s about to disappear. Neither of those is your problem to solve. Walk away.

5. Dodging permits or telling you “you don’t need one”

Nine times out of ten, this means one thing: he doesn’t want an inspector on the site. And there’s a reason for that.

Maybe he’s not licensed for what he’s doing. Maybe his work won’t pass. Maybe he’s been flagged before. Whatever it is, the second a contractor tries to talk you out of pulling a permit, you’re looking at somebody who doesn’t want to be seen. That’s not the guy you want in your basement.

Permits exist for a reason. So does inspection. If your job needs one, get one.

6. No insurance, or he gets weird when you ask

This is a one-question test. “Are you insured? Can I see it?”

If the answer is quick and clean — great. If the answer is a joke, a deflection, a “don’t worry about it,” or an offended look, that’s your sign. Somebody without insurance gets hurt on your property, that’s your homeowner’s policy taking the hit. Or worse, your savings.

Ask the question. Watch the face.

7. He’s constantly unreachable

If a guy is hard to reach before you’ve given him a dime, imagine what he’s going to be like when he’s got your deposit and a job across town paying better.

Contractors are busy. I get it. But there’s a difference between “calls you back by end of day” busy and “vanishes for a week” busy. The first one is a professional. The second one is a problem.

8. His current job sites look like hell

Ask to see something he’s working on right now. Not a finished portfolio shot. A live site.

If it’s a mess — tools everywhere, materials in the mud, drywall dust an inch deep in a homeowner’s hallway — that’s your preview. That’s what your house is going to look like for the next three months. A clean, organized site tells you the guy respects his work and his clients. A trashed one tells you he doesn’t.

9. He blames every past client

“Everyone screws me.” “The last homeowner was crazy.” “You wouldn’t believe what my last client tried to pull.”

Listen close when a contractor talks about his past clients. If every single one of them was a nightmare, he’s the common denominator. Nobody has a career full of bad customers. That’s a guy telling on himself.

10. He’s got too many jobs going at once

Some contractors overbook because they’re good and in demand. Some overbook because they’re bad and desperate.

You can usually tell which is which with one question: “How many jobs are you actively running right now?” If the number sounds insane, your project is going to become a side quest. He’ll show up for three hours on Tuesday, disappear until Friday, and blame the weather.

You want a contractor who has room for you. Not one who’s fitting you in.

The bottom line

None of these red flags, on their own, mean the guy’s a crook. But two or three together? That’s a pattern. And patterns don’t lie.

The best time to catch a bad contractor is before you hire him. Once he’s in your house with your check cashed, your leverage is gone. So pay attention early. Ask hard questions. Listen to what he says and how he says it.

The job doesn’t go sideways on day one. It starts with the small stuff you ignore.

Don’t ignore it.