Gilles Crofils

Gilles Crofils

Hands-On Chief Technology Officer

Tech leader who transforms ambitious ideas into sustainable businesses. Successfully led digital transformations for global companies while building ventures that prioritize human connection over pure tech.1974 Birth.
1984 Delved into coding.
1999 Failed my First Startup in Science Popularization.
2010 Co-founded an IT Services Company in Paris/Beijing.
2017 Led a Transformation Plan for SwitchUp in Berlin.
November 2025 Launched Nook.coach. Where conversations shape healthier habits

Abstract:

The article argues that most health plans fail for desk workers not because of weak willpower but because they’re designed for an “average week” that rarely exists, so the fix is to treat habits like a system that must stay online under changing load by identifying the recurring “week types” (meeting-wall, deadline sprint, travel, on-call, conference/social, etc.) that remove key inputs like time, privacy, predictable meals, and uninterrupted blocks. It proposes a lightweight 6–8 week calendar review to label weeks and turn lapses into a “crash log” (week type / missing input / what broke), then pre-build three versions of the same habit—Normal, Heavy, and Emergency—so busy weeks automatically switch to reduced, pause-safe “continuity doses” (e.g., 45–90 minutes vs. 15–25 minutes vs. 6–12 minutes or micro-sets), along with food defaults (repeatable fast meals and a short list of “ok orders” anchored by protein-first and fiber-next) and sleep “damage control” rules rather than unrealistic perfection. Using a cheap Monday classifier (based on meeting density, travel/on-call, and actual control over dinner/bedtime and 30+ minute chunks) plus if–then triggers to downshift early, the piece recommends measuring “coverage” (keeping the minimum viable version alive per week type) instead of streaks, framed with a tech analogy—if it only works on calm weeks, it’s a demo, not a plan—told from the perspective of a French, 1974-born, physics-trained author with years of desk life across Beijing, Berlin, and Lisbon.

Most health advice is written for the average week. The one with a stable calendar, a normal lunch, 1 clean hour for exercise, and a bedtime that is not negotiated via Slack. Nice concept, no? Many desk jobs do not ship with this feature.

Real life looks more like 5 days of back-to-backs, desk lunch, late pings, travel days that mess with meal timing, and “after work” that evaporates. And then the usual thing happens. The plan works for 1 or 2 weeks, a different week type shows up, everything drops, and the miss gets filed under “I’m inconsistent.” It is a harsh diagnosis for what is often just missing inputs.

This article is about treating your habits like a system that has to run under changing load. Not a willpower contest. The goal is to spot the week types that keep breaking your plan, and swap in a smaller, pause-safe version before the week turns into a crash. (I’m french, physics-trained, and I default to logs over pep talks, so yes, this is going to sound like debugging.)

Here’s what will be covered, without the motivational posters:

  • Why most plans fail under meeting walls, travel, deadlines, and on-call weeks
  • A quick way to label the last 6 to 8 weeks so the pattern becomes obvious
  • The Normal Heavy Emergency idea for workouts, food, and sleep so “busy” becomes lower dose, not zero
  • A cheap week classifier you can run on a bad Monday
  • Why coverage beats streaks when your calendar keeps changing

There’s a tech analogy running through all of it, because it fits. If a habit only works on calm weeks, it’s not a plan, it’s a demo. The goal is something boring and useful. Keep the system online, even when the runtime changes.

The average week that does not exist

Most advice is written for a stable calendar

Some weeks are calm. Then you get 5 days of back-to-backs, Slack pings, late messages, desk lunch, and dinner becomes “whatever is closest.” Most health plans quietly assume stable time, energy, food control, and a bit of privacy. That assumption is the bug. Like code that runs on a dev laptop, it looks fine until production load hits.

You do not need a study to know time is the first thing that disappears. The bigger issue is not a bad day. It’s week types. A whole week can change the rules for 5 days in a row.

Typical week types that break the same plan in different ways:

  • Deadline week with late nights and low daylight
  • Travel week with time zones and weird meal timing
  • On-call week with fractured sleep
  • End-of-quarter week with calendar compression
  • Conference week with constant social eating

When the inputs disappear, they often stay missing for several days. Sleep gets squeezed. Meals get random. You move less because you are glued to the chair.

Then the usual failure signature shows up: the plan works for 1 to 2 weeks, then a different week type arrives and everything drops. The miss gets interpreted as “I’m inconsistent,” which triggers the restart loop.

A useful reframe is simple: a lapse is information. It is often a mismatch between the plan and the week you are actually living.

So the fix is rarely “try harder.” It is selecting the right version for the week before the mismatch turns into a crash.

Microbreaks help inside a day, sure. But if the whole week is overloaded, you need a different layer: a simple classifier that says “this is a heavy week” and switches the habit into a smaller release early.

When discipline is blamed but the inputs are missing

The hidden spec most plans forget to mention

Take 1 common plan and run it in 2 different weeks. Most plans assume these inputs like they are guaranteed APIs, but desk work guarantees none of them:

  • Predictable gaps of 30 to 60 minutes
  • A stable wake time and repeatable cues
  • Food access that is not improvisation-by-Slack
  • Low interruption so the behavior can finish without forced context switches
  • Low optics cost so it feels socially safe to do it at work
  • Enough feasibility that “use” can happen, not just intention

If a habit depends on scarce inputs you don’t control, it will look like motivation. Often it’s just feasibility.

Pause-safe beats ideal in overloaded weeks

Fragmentation changes what feels safe to start. “After work” might exist as a real block in a calm week. In a meeting-wall week, you get 7 minutes here, 12 minutes there, then a late message. Total hours might be similar, but the usable block never compiles.

So don’t do character analysis. Do a quick post-mortem that labels the week type.

Pause-safe means you can stop for 20 minutes, handle something urgent, then resume without ruining it. A walk between calls is pause-safe. A 45-minute session, cooking from scratch, or a precise wind-down often is not—too much setup and it needs continuity.

A 10 minute post mortem that blames the week not you

Label the last 6–8 weeks with boring tags

Self-monitoring can help, but only if it is light enough to survive the busy weeks. Heavy tracking is the first thing to die when your calendar goes sideways. So keep it low-resolution.

  1. Pull up your calendar for the last 6 to 8 weeks.
  2. Give each week 1 label.
  3. Mark which weeks felt “easy to follow” vs “everything broke.”
  4. Circle repeats.

Example labels that fit desk life:

  • Meeting-wall week
  • Deadline sprint week
  • Travel week
  • On-call or low-sleep week
  • Deep-work week
  • Social week or conference week
  • Sick-kid or life-admin week
  • Normal week

Optional: add 1 number you already have, like your average sleep for the week from your watch, or a simple 1–5 stress score. Optional, not homework.

Turn the cluster into a crash log

Overfitting is when a plan “works” only in 1 narrow week type, then fails when the runtime changes. Once you see your repeat failure week, write 1 line that names the missing input.

Template: Week type / Missing input / What broke

Example: Meeting-wall / time and privacy / workout never started

Sequence over blame. Conditions, not virtue points.

Versions that keep the habit alive

Normal heavy emergency as pre-decided versions

Most of your results get decided by the ugly weeks, so design for them.

A simple approach is 3 versions of the same habit, pre-decided:

  • Normal for controllable weeks, full version
  • Heavy for meeting-wall weeks, reduced inputs
  • Emergency for travel, sprints, low sleep, keep it non-zero

What stays constant is the habit name and the minimum outcome you care about (ex: strength exposure or movement exposure). What changes is how you do it and what it demands from your day.

Reduced volume is not automatically “wasted.” Sometimes the win is just maintenance. The key is picking a minimum that is realistic when your calendar is hostile.

Example versions for 1 habit:

  • Normal: 45 to 90 min session when real blocks exist
  • Heavy: 15 to 25 min compact session, minimal setup, pause-safe
  • Emergency: 6 to 12 min “continuity dose” or 2 micro-sets spread in the day

Short bouts are not fake. If you can accumulate movement across the week, it still counts. Emergency mode is how “busy week” becomes lower dose, not zero dose.

Switching down must be scored as success. A robust system degrades gracefully under load. It does not crash because 1 sensor went offline.

The same versioning logic applies to food and sleep, where week volatility hits hardest.

Food and sleep versions for weeks that eat your calendar

Food defaults that assume restaurants exist

Define food versions as defaults, not rules that require a quiet kitchen and 45 minutes of chopping.

Away-from-home eating is a different environment with different failure modes. It tends to run higher-calorie with fewer “boring” options unless you choose them on purpose. Not moral. Mostly physics and availability.

A food version is a pre-decided set of choices with less thinking. The point is that Monday noon can be automatic.

  • Normal: home meals, simple structure like protein + plants most meals
  • Heavy: 2 default fast meals on repeat, like “bagged salad + rotisserie chicken” and “Greek yogurt + fruit + nuts,” plus a tiny shopping list you can do in 10 minutes
  • Emergency: a short list of “ok orders” that follow one constraint: pick a protein-first main, then add a fiber side (salad/veg/beans), and skip the “extra decision” add-ons when you’re fried

Sleep in emergency mode is damage control

Some weeks will compress sleep. Pretending otherwise is cute but useless.

The baseline target is still ≥7 hours for most adults. And if you keep landing at ≤6 hours, you usually feel it in focus, mood, and mistakes.

In emergency mode, the goal shifts to “do not make it worse” levers—especially on the nights where a Slack thread is still going at 11:30 and your brain wants to keep scrolling in bed.

  • Cap late caffeine
  • Keep bedtime work off the pillow zone
  • Protect a minimum sleep window when it’s possible

A 30 second week classifier that works on a bad Monday

The trigger must stay cheap or it won’t run when you need it.

Operational signals you already see:

  • Back-to-backs, time-zone overlap, or the day is mostly meetings → assume Heavy
  • Travel, launch windows, on-call blocks → assume Emergency
  • 2 to 3 real focus blocks on the calendar → probably Normal

When the calendar lies, test control, not planned control:

1) Do you control dinner and bedtime at least 4 nights? Yes/No

2) Do you have 3 chunks of 30+ minutes that are truly yours? Yes/No

If either is No, don’t pretend it’s a Normal week.

Rule: if the calendar shows 2 consecutive days with late meetings, travel, or on-call constraints, default to Heavy or Emergency for the whole week.

This is just an if–then plan. It reduces daily negotiation, and negotiation always loses to 10 hours of meetings.

Pre-approval beats the Thursday panic

People still fail with versions because they wait until they’re already behind. Then switching down feels like surrender.

Same as a phone: nobody turns on battery saver at 3% and calls it “discipline.” Switching earlier is planning.

Coverage beats streaks when week types keep changing

Streak thinking asks “did I execute every day.” Coverage asks “did the system stay online when the runtime changed.”

For each week type, did you hit the minimum viable version at least once?

Example coverage targets:

  • Heavy weeks: ≥1 strength exposure total
  • Emergency weeks: ≥2 micro-exposures total (6 to 12 minutes each)

This metric tolerates context changes. Cues move, calendars move, so the metric has to survive the environment moving too.

And yes, this framing is partly personal: I’m french, born in 1974, physics-trained, and I’ve spent years at a desk across a few cities. When things get messy, I trust simple logs more than speeches. Treat this like uptime by environment. Log coverage per week type and stop pretending your calendar is stable.

A simple design rule falls out: don’t score yourself on uninterrupted repetition. Score on restartability. Wrong runtimes are fixable with a small patch, not a new personality.

The plan that counts survives the ugly weeks

The plan that counts is the one that survives your worst predictable week type. If it only works in deep-work weeks, it’s a hobby, not a system.

Minimal config checklist:

  1. List your week types from the last 6 to 8 weeks.
  2. Pick 1 habit and define Normal Heavy Emergency versions.
  3. Write 2 triggers as if–then rules so switching is automatic.
  4. Define 1 coverage metric per week type so non-zero counts.

That turns “inconsistent” into “wrong runtime.” And wrong runtimes, at least, are debug-able.

If your health plan only works on calm weeks, it is not “you being inconsistent.” It is a plan that fails under load. The fix is boring and practical. Name your week types, spot the missing inputs, then keep 3 versions of the same habits ready. Normal when you have real blocks. Heavy when meetings eat the day. Emergency when travel, deadlines, or on-call makes everything fragile.

The win is not hero workouts or perfect meal prep. It is keeping the system online. A 12-minute continuity dose, a short list of ok orders, and a few sleep damage-control rules can carry you through the ugly weeks without the restart loop.

Most people don’t need a new plan. They need a pre-approved non-zero version for the week type that keeps showing up.

You might be interested by these articles:


25 Years in IT: A Journey of Expertise

2025-

Nook
(Lisbon/Remote)

Product Lead
Building the future of health coaching. Leading product development and go-to-market strategy for a platform that makes personal wellness accessible through natural dialogue.
Making health coaching feel like talking to a friend who actually gets you.

2024-

My Own Adventures
(Lisbon/Remote)

AI Enthusiast & Explorer
As Head of My Own Adventures, I’ve delved into AI, not just as a hobby but as a full-blown quest. I’ve led ambitious personal projects, challenged the frontiers of my own curiosity, and explored the vast realms of machine learning. No deadlines or stress—just the occasional existential crisis about AI taking over the world.

2017 - 2023

SwitchUp
(Berlin/Remote)

Hands-On Chief Technology Officer
For this rapidly growing startup, established in 2014 and focused on developing a smart assistant for managing energy subscription plans, I led a transformative initiative to shift from a monolithic Rails application to a scalable, high-load architecture based on microservices.
More...

2010 - 2017

Second Bureau
(Beijing/Paris)

CTO / Managing Director Asia
I played a pivotal role as a CTO and Managing director of this IT Services company, where we specialized in assisting local, state-owned, and international companies in crafting and implementing their digital marketing strategies. I hired and managed a team of 17 engineers.
More...

SwitchUp Logo

SwitchUp
SwitchUp is dedicated to creating a smart assistant designed to oversee customer energy contracts, consistently searching the market for better offers.

In 2017, I joined the company to lead a transformation plan towards a scalable solution. Since then, the company has grown to manage 200,000 regular customers, with the capacity to optimize up to 30,000 plans each month.Role:
In my role as Hands-On CTO, I:
- Architected a future-proof microservices-based solution.
- Developed and championed a multi-year roadmap for tech development.
- Built and managed a high-performing engineering team.
- Contributed directly to maintaining and evolving the legacy system for optimal performance.
Challenges:
Balancing short-term needs with long-term vision was crucial for this rapidly scaling business. Resource constraints demanded strategic prioritization. Addressing urgent requirements like launching new collaborations quickly could compromise long-term architectural stability and scalability, potentially hindering future integration and codebase sustainability.
Technologies:
Proficient in Ruby (versions 2 and 3), Ruby on Rails (versions 4 to 7), AWS, Heroku, Redis, Tailwind CSS, JWT, and implementing microservices architectures.

Arik Meyer's Endorsement of Gilles Crofils
Second Bureau Logo

Second Bureau
Second Bureau was a French company that I founded with a partner experienced in the e-retail.
Rooted in agile methods, we assisted our clients in making or optimizing their internet presence - e-commerce, m-commerce and social marketing. Our multicultural teams located in Beijing and Paris supported French companies in their ventures into the Chinese market

Cancel

Thank you !

Disclaimer: AI-Generated Content for Experimental Purposes Only

Please be aware that the articles published on this blog are created using artificial intelligence technologies, specifically OpenAI, Gemini and MistralAI, and are meant purely for experimental purposes.These articles do not represent my personal opinions, beliefs, or viewpoints, nor do they reflect the perspectives of any individuals involved in the creation or management of this blog.

The content produced by the AI is a result of machine learning algorithms and is not based on personal experiences, human insights, or the latest real-world information. It is important for readers to understand that the AI-generated content may not accurately represent facts, current events, or realistic scenarios.The purpose of this AI-generated content is to explore the capabilities and limitations of machine learning in content creation. It should not be used as a source for factual information or as a basis for forming opinions on any subject matter. We encourage readers to seek information from reliable, human-authored sources for any important or decision-influencing purposes.Use of this AI-generated content is at your own risk, and the platform assumes no responsibility for any misconceptions, errors, or reliance on the information provided herein.

Alt Text

Body