Deprecated: wp_getimagesize(): Implicitly marking parameter $image_info as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-includes/media.php on line 5481

Deprecated: GuzzleHttp\Promise\queue(): Implicitly marking parameter $assign as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 24

Deprecated: GuzzleHttp\Promise\each(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 260

Deprecated: GuzzleHttp\Promise\each(): Implicitly marking parameter $onRejected as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 260

Deprecated: GuzzleHttp\Promise\each_limit(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 285

Deprecated: GuzzleHttp\Promise\each_limit(): Implicitly marking parameter $onRejected as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 285

Deprecated: GuzzleHttp\Promise\each_limit_all(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/vendor/guzzlehttp/promises/src/functions.php on line 307

Deprecated: Google\Client::fetchAccessTokenWithAssertion(): Implicitly marking parameter $authHttp as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Client.php on line 273

Deprecated: Google\Client::authorize(): Implicitly marking parameter $http as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Client.php on line 406

Deprecated: Google\AccessToken\Revoke::__construct(): Implicitly marking parameter $http as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AccessToken/Revoke.php on line 42

Deprecated: Google\AccessToken\Verify::__construct(): Implicitly marking parameter $http as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AccessToken/Verify.php on line 60

Deprecated: Google\AccessToken\Verify::__construct(): Implicitly marking parameter $cache as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AccessToken/Verify.php on line 60

Deprecated: Google\AuthHandler\Guzzle6AuthHandler::__construct(): Implicitly marking parameter $cache as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle6AuthHandler.php on line 23

Deprecated: Google\AuthHandler\Guzzle6AuthHandler::attachCredentials(): Implicitly marking parameter $tokenCallback as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle6AuthHandler.php on line 29

Deprecated: Google\AuthHandler\Guzzle6AuthHandler::attachCredentialsCache(): Implicitly marking parameter $tokenCallback as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle6AuthHandler.php on line 46

Deprecated: Google\AuthHandler\Guzzle5AuthHandler::__construct(): Implicitly marking parameter $cache as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle5AuthHandler.php on line 23

Deprecated: Google\AuthHandler\Guzzle5AuthHandler::attachCredentials(): Implicitly marking parameter $tokenCallback as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle5AuthHandler.php on line 29

Deprecated: Google\AuthHandler\Guzzle5AuthHandler::attachCredentialsCache(): Implicitly marking parameter $tokenCallback as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/AuthHandler/Guzzle5AuthHandler.php on line 46

Deprecated: Google\Http\REST::decodeHttpResponse(): Implicitly marking parameter $request as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Http/REST.php on line 115

Deprecated: Google\Http\REST::decodeBody(): Implicitly marking parameter $request as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Http/REST.php on line 144

Deprecated: Google\Http\REST::determineExpectedClass(): Implicitly marking parameter $request as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Http/REST.php on line 154

Deprecated: Google\Http\REST::isAltMedia(): Implicitly marking parameter $request as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Http/REST.php on line 181

Deprecated: Google\Service\Exception::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Service/Exception.php on line 39

Deprecated: Google\Task\Composer::cleanup(): Implicitly marking parameter $filesystem as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/google/apiclient/src/Task/Composer.php on line 31

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\queue(): Implicitly marking parameter $assign as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 22

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\each(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 304

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\each(): Implicitly marking parameter $onRejected as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 304

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\each_limit(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 323

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\each_limit(): Implicitly marking parameter $onRejected as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 323

Deprecated: YaySMTP\Aws3\GuzzleHttp\Promise\each_limit_all(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/Promise/functions.php on line 338

Deprecated: League\OAuth2\Client\Provider\AbstractProvider::authorize(): Implicitly marking parameter $redirectHandler as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/yaysmtp/vendor/league/src/Provider/AbstractProvider.php on line 402

Deprecated: ActionScheduler_Store::save_action(): Implicitly marking parameter $scheduled_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Store.php on line 29

Deprecated: ActionScheduler_Store::stake_claim(): Implicitly marking parameter $before_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Store.php on line 188

Deprecated: ActionScheduler_Store::get_scheduled_date_string(): Implicitly marking parameter $scheduled_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Store.php on line 257

Deprecated: ActionScheduler_Store::get_scheduled_date_string_local(): Implicitly marking parameter $scheduled_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Store.php on line 274

Deprecated: ActionScheduler_DBStore::save_unique_action(): Implicitly marking parameter $scheduled_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php on line 48

Deprecated: ActionScheduler_DBStore::save_action(): Implicitly marking parameter $scheduled_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php on line 61

Deprecated: ActionScheduler_DBStore::save_action_to_db(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php on line 75

Deprecated: ActionScheduler_DBStore::stake_claim(): Implicitly marking parameter $before_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php on line 774

Deprecated: ActionScheduler_DBStore::claim_actions(): Implicitly marking parameter $before_date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php on line 812

Deprecated: ActionScheduler_Logger::log(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Logger.php on line 28

Deprecated: ActionScheduler_Logger::log_failed_fetch_action(): Implicitly marking parameter $exception as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Logger.php on line 142

Deprecated: ActionScheduler_DBLogger::log(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/data-stores/ActionScheduler_DBLogger.php on line 21

Deprecated: ActionScheduler_QueueRunner::__construct(): Implicitly marking parameter $store as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/ActionScheduler_QueueRunner.php on line 39

Deprecated: ActionScheduler_QueueRunner::__construct(): Implicitly marking parameter $monitor as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/ActionScheduler_QueueRunner.php on line 39

Deprecated: ActionScheduler_QueueRunner::__construct(): Implicitly marking parameter $cleaner as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/ActionScheduler_QueueRunner.php on line 39

Deprecated: ActionScheduler_QueueRunner::__construct(): Implicitly marking parameter $async_request as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/ActionScheduler_QueueRunner.php on line 39

Deprecated: ActionScheduler_Abstract_QueueRunner::__construct(): Implicitly marking parameter $store as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php on line 34

Deprecated: ActionScheduler_Abstract_QueueRunner::__construct(): Implicitly marking parameter $monitor as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php on line 34

Deprecated: ActionScheduler_Abstract_QueueRunner::__construct(): Implicitly marking parameter $cleaner as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php on line 34

Deprecated: ActionScheduler_QueueCleaner::__construct(): Implicitly marking parameter $store as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/thirds/action-scheduler/classes/ActionScheduler_QueueCleaner.php on line 27

Deprecated: Creation of dynamic property WPUmbrella\Actions\AutoInstallByConstant::$optionService is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Actions/AutoInstallByConstant.php on line 14

Deprecated: Creation of dynamic property WPUmbrella\Actions\AutoInstallByConstant::$getOwnerService is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Actions/AutoInstallByConstant.php on line 15

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: Creation of dynamic property WPUmbrella\Services\Repository\TaskBackupRepository::$tableBackup is deprecated in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/wp-health/src/Services/Repository/TaskBackupRepository.php on line 19

Deprecated: BrizyPro_Main::createDynamicContentLoopContext(): Implicitly marking parameter $wp_post as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy-pro/main.php on line 217

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 138

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 153

Deprecated: Brizy_Public_Main::is_editing_page_with_editor(): Implicitly marking parameter $post as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 264

Deprecated: Brizy_Public_Main::is_editing_page_with_editor_on_iframe(): Implicitly marking parameter $post as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 274

Deprecated: Brizy_Public_Main::is_editing(): Implicitly marking parameter $post as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 279

Deprecated: Brizy_Public_Main::is_view_page(): Implicitly marking parameter $post as nullable is deprecated, the explicit nullable type must be used instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/main.php on line 287

Deprecated: Return type of BrizyPlaceholders\AbstractPlaceholder::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/vendor/bagrinsergiu/content-placeholder/lib/AbstractPlaceholder.php on line 93
Urban Design Doctor – Urban design advice to councils, developers and government agencies
Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/decefbad/urbandesigndr.co.uk/wp-content/plugins/brizy/public/asset-enqueue-manager.php on line 116

Hello, I’m Stefan, the Urban Design Doctor. I help people to better understand and apply urban design principles to new developments

I specialise in providing urban design advice and training to local planning authorities, developers and Homes England, the government's housebuilding agency.

Concept design and masterplanning

Design Codes and Gateway Codes®

Local authority design support

Design Mediation

Expert Witness in Planning Appeals


Training, research and study tours

Design Reviews

Post completion audits

Community and Stakeholder Engagement — from face to face workshops to digital

Guidance and support, 

free of jargon

“Stefan has extensive experience of working on major developments, identifying and resolving design issues effectively and efficiently. His technical expertise is there to be seen and so is Stefan’s tenacity and passion for design”

Christine Fisher Chief Executive (retired)
North West Leicestershire District Council

Building for a Healthy Life is the country's most widely used design tool for new build residential and mixed use developments. Building for a Healthy Life is endorsed by NHS England, Homes England, Home Builders Federation, Living Streets and the Urban Design Group.

Building for a Healthy Life is cited in the government's National Planning Policy Framework (2021).

Paragraph 133 states, "Local planning authorities should ensure that they have access to, and make appropriate use of, tools and processes for assessing and improving the design of development. These include workshops to engage the local community, design advice and review arrangements, and assessment frameworks such as Building for a Healthy Life."

Streets for a Healthy Life is the companion guide to Building for a Healthy Life.

Urban Design Doctor is a company registered in England and Wales: 10942368. Our registered office is Urban Design Doctor Limited, Wellington House, 207 Leicester Road, Ibstock, Leicestershire, LE67 6HP. VAT registration: 297663542

Urban Design Doctor® and Gateway Code® are registered trademarks of Urban Design Doctor Limited