Stop Trying to Be Disciplined in the Second Half of 2026. Do This Instead.
Willpower is a finite resource. Here is the “Friction Rule” I use to automate my habits and guarantee I actually hit my H2 goals.
Stop Trying to Be Disciplined in the Second Half of 2026. Do This Instead.
Willpower is a finite resource. Here is the “Friction Rule” I use to automate my habits and guarantee I actually hit my H2 goals.

It is July 2nd, 2026.
Yesterday you wrote down your massive Q3 goals. You felt motivated. The whiteboard was clean. The coffee was hot. This was going to be your quarter.
Today? You are already tired. Your phone is buzzing. The gym feels too far away. That book you promised to read is buried under a pile of laundry. The diet starts tomorrow. Again.
Here is the harsh truth nobody selling productivity courses will tell you: willpower is a scam.
It is a battery that drains throughout the day. By 5 PM on a random Thursday, your willpower tank is empty. If your H2 goals rely on you “trying harder” or “being more disciplined,” you will fail. Not because you are lazy. Because you are human.
The most productive people are not more disciplined than you. They just spend less time resisting temptation. They designed their environment to do the work for them.
The Friction Rule
Humans are inherently lazy. We follow the path of least resistance. This is not a flaw. It is a feature. And you can hack it.
The Rule:
- To build a good habit, reduce the friction to start it by 20 seconds
- To break a bad habit, increase the friction by 20 seconds
That is it. Twenty seconds is the difference between success and failure.
Want to read more in H2? Do not rely on willpower to pick up a book. Put the book on your pillow this morning. Tonight, when you collapse into bed, the book is already in your hand. Friction: zero.
Want to stop scrolling TikTok? Do not rely on willpower to put the phone down. Delete the app. Or put the phone in another room to charge. The friction of walking to another room is enough to break the habit.
Your environment is not neutral. It is either working for you or against you. Most people’s environments are actively sabotaging them.
Your Digital Environment Audit (Do This Tomorrow Morning)
Your phone was designed by thousands of engineers to steal your attention. Fight back.
The Smartphone Audit:
- Turn off all non-human notifications
- If it is not a text from a real person, it does not need a badge
- Move your most distracting apps off the home screen
- Bury them in a folder on page three
- Set app time limits for social media
- When the limit hits, the friction of overriding it is usually enough to stop you
The Desktop Audit:
- Close all browser tabs right now
- Use website blockers during deep work hours
- Make it annoying to access your distractions
- Your writing app should be the only thing open when you write
- Your code editor should be the only thing open when you code
Your Physical Environment Audit (Do This Tonight)
The Cockpit Concept:
Your desk should only have the tools for the current task. If you are writing, only the writing app is open and only your notebook is on the desk. Everything else is clutter. Clutter is friction.
Visual Cues:
Put your goals where you physically cannot miss them. A sticky note on your monitor. A whiteboard across the room. Your running shoes by the door. Your water bottle on your desk. Your environment should constantly whisper your H2 goals to you.
Real Code: The Friction Calculator
"""
⚡ Friction Calculator — Measure and Optimize Your Environment
Run: python friction_calculator.py
"""
import json
from datetime import datetime
# Your current habits and their friction scores
HABITS = [
{
"name": "Morning workout",
"type": "good",
"friction_seconds": 300, # Gym is 5 min drive
"target_friction": 20, # Put weights in living room
"frequency": "daily"
},
{
"name": "Read before bed",
"type": "good",
"friction_seconds": 60, # Book is on shelf across room
"target_friction": 5, # Put book on pillow
"frequency": "daily"
},
{
"name": "Scroll TikTok",
"type": "bad",
"friction_seconds": 5, # App is on home screen
"target_friction": 120, # Delete app, phone in other room
"frequency": "daily"
},
{
"name": "Check email first thing",
"type": "bad",
"friction_seconds": 10, # Email app on home screen
"target_friction": 60, # Remove from home screen
"frequency": "daily"
}
]
def analyze_friction():
"""Analyze your habits and suggest environment changes."""
print("=" * 60)
print("⚡ FRICTION ANALYSIS")
print("=" * 60)
for habit in HABITS:
current = habit["friction_seconds"]
target = habit["target_friction"]
delta = current - target
if habit["type"] == "good":
# For good habits, we want to DECREASE friction
if delta > 0:
status = "🔴 HIGH FRICTION — Fix this"
action = f"Reduce from {current}s to {target}s"
else:
status = "🟢 OPTIMIZED"
action = "Keep it up"
else:
# For bad habits, we want to INCREASE friction
if delta < 0:
status = "🔴 LOW FRICTION — Dangerous"
action = f"Increase from {current}s to {target}s"
else:
status = "🟢 OPTIMIZED"
action = "Keep it up"
print(f"\n{habit['name']} ({habit['frequency']})")
print(f" Current friction: {current}s")
print(f" Target friction: {target}s")
print(f" Status: {status}")
print(f" Action: {action}")
def log_habit(habit_name, completed):
"""Log daily habit completion."""
entry = {
"date": datetime.now().isoformat(),
"habit": habit_name,
"completed": completed
}
try:
with open("habit_log.json", "r") as f:
logs = json.load(f)
except FileNotFoundError:
logs = []
logs.append(entry)
with open("habit_log.json", "w") as f:
json.dump(logs, f, indent=2)
status = "✅ Done" if completed else "❌ Missed"
print(f"{status}: {habit_name}")
if __name__ == "__main__":
analyze_friction()
# Example: Log today's habits
print("\n" + "=" * 60)
print("📊 LOG TODAY'S HABITS")
print("=" * 60)
log_habit("Morning workout", True)
log_habit("Read before bed", False)
Output when you run it:
==================================================
⚡ FRICTION ANALYSIS
==================================================
Morning workout (daily)
Current friction: 300s
Target friction: 20s
Status: 🔴 HIGH FRICTION — Fix this
Action: Reduce from 300s to 20s
Read before bed (daily)
Current friction: 60s
Target friction: 5s
Status: 🔴 HIGH FRICTION — Fix this
Action: Reduce from 60s to 5s
Scroll TikTok (daily)
Current friction: 5s
Target friction: 120s
Status: 🔴 LOW FRICTION — Dangerous
Action: Increase from 5s to 120s
Check email first thing (daily)
Current friction: 10s
Target friction: 60s
Status: 🔴 LOW FRICTION — Dangerous
Action: Increase from 10s to 60s
==================================================
📊 LOG TODAY'S HABITS
==================================================
✅ Done: Morning workout
❌ Missed: Read before bed
Real Code: Environment Design Checklist
"""
🛡️ Environment Design Checklist — Automate Your H2 Success
Run: python environment_checklist.py
"""
import os
ENVIRONMENT_RULES = {
"Digital": [
("Phone notifications off (except texts)", False),
("Distracting apps off home screen", False),
("Browser tabs closed (max 3)", False),
("Website blocker active during work", False),
("Email not open before 10 AM", False),
],
"Physical": [
("Desk has only current task tools", False),
("Phone charging in another room", False),
("Book on pillow for tonight", False),
("Water bottle on desk", False),
("Goals visible on sticky note", False),
],
"Evening Prep": [
("Gym clothes laid out", False),
("Tomorrow's frog task written", False),
("Coffee prepped", False),
("Phone alarm set (across room)", False),
]
}
def run_checklist():
"""Interactive environment design checklist."""
print("=" * 60)
print("🛡️ H2 ENVIRONMENT DESIGN CHECKLIST")
print("=" * 60)
print("Do this EVERY SUNDAY NIGHT for the week ahead.\n")
total = 0
completed = 0
for category, items in ENVIRONMENT_RULES.items():
print(f"\n📁 {category}")
print("-" * 40)
for i, (task, _) in enumerate(items):
total += 1
done = input(f" [ ] {task} (y/n): ").lower().strip()
if done == 'y':
ENVIRONMENT_RULES[category][i] = (task, True)
completed += 1
print(" ✅ Done")
else:
print(" ⚠️ Do this now!")
print(f"\n{'=' * 60}")
print(f"📊 SCORE: {completed}/{total} ({completed/total*100:.0f}%)")
if completed == total:
print("🎉 Your environment is bulletproof for H2.")
elif completed >= total * 0.7:
print("🟡 Good start. Fix the remaining items tonight.")
else:
print("🔴 Your environment is working against you. Fix this now.")
print(f"\n💡 Remember: Willpower fails. Environment persists.")
if __name__ == "__main__":
run_checklist()
The Numbers
- 20 seconds of friction = difference between habit and failure
- 300 seconds to gym = you will not go
- 20 seconds to weights in living room = you will lift
- 5 seconds to TikTok = you will scroll
- 120 seconds to walk to another room = you will not
Your environment is not decoration. It is your operating system.
Your Action List
- Run
friction_calculator.pyon your habits - Run
environment_checklist.pytonight - Move one good habit closer by 20 seconds
- Move one bad habit farther by 20 seconds
- Repeat weekly
The Bottom Line
Stop beating yourself up for lacking discipline. You do not need more willpower. You need a better environment. Be the architect of your space, and the results will follow.
Motivation gets you through the first week of July. Environment design gets you through the second half of 2026.
메타데이터
- post_id
- 109ec68a9ae4
- slug
- stop-trying-to-be-disciplined-in-the-second-half-of-2026-do-this-instead-109ec68a9ae4
- url
- https://medium.com/@muruganantham52524/stop-trying-to-be-disciplined-in-the-second-half-of-2026-do-this-instead-109ec68a9ae4
- canonical_url
- https://medium.com/@muruganantham52524/stop-trying-to-be-disciplined-in-the-second-half-of-2026-do-this-instead-109ec68a9ae4
- author_url
- https://medium.com/@muruganantham52524
- status
- ok
- fetched_at
- 2026-07-16 18:24:12