Skip to content
View sharafutdinovdi's full-sized avatar
🛠️
Open to Revit automation and implementation work
🛠️
Open to Revit automation and implementation work

Highlights

  • Pro

Block or report sharafutdinovdi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sharafutdinovdi/README.md

Dinar Sharafutdinov

Dinar's mascot in a navy suit, juggling Revit, Dynamo and AI app tiles

Revit automation consultant and BIM coordinator. I help architecture and MEP teams remove repeated Revit work: Dynamo and Python automation, C#/.NET add-ins across Revit 2021-2026, testing, installation, handover and support.

Open to work: Revit automation, implementation and BIM coordination; full-time, part-time or contract; remote from Belgrade

Portfolio LinkedIn YouTube Email CV

BIM coordinator by day, tool builder by trade. Most of what I write started as a task someone was doing by hand: a model check, a family library, a drawing set laid out view by view. I ship it as software with an installer, an auto-updater and a release pipeline, not as a script on a shared drive.

Open to work. Implementation, solutions and technical customer success roles at AEC software companies; BIM automation, BIM development and BIM coordination for engineering teams. Full-time, part-time or contract, remote from Belgrade, Serbia, or on site.

Send me one workflow your team repeats every week. I will tell you within 24 hours whether it is a good automation candidate: sharafutdinov.di.dev@outlook.com.


Featured work

revit-model-mcp: an AI agent that reads and acts on a live Revit model

Claude Desktop on the left, Revit 2026 on the right: Claude reads the open model, finds the largest room, opens its plan and selects it, isolates it, places a chair and moves it, then cleans up

An MCP server that gives Claude, Cursor or any MCP client access to the model that is open in Revit right now. Read-only by default: 18 tools for catalog, filtered queries, aggregates, element details, warnings, relations, view export and coordinator checks. Actions are a separate opt-in set of 9 tools behind two gates, each in its own transaction with a dry_run preview and post-commit verification: select, show, isolate, move, place a family, create a wall, set a parameter, delete, batch. I run it from Claude Desktop on a Mac and connect to the Revit workstation over SSH; local and HTTP modes are there as well. Built for Revit 2022-2027, CI on Windows, 112 add-in tests and 67 server tests. C# Revit API Python MCP · MIT

Release PyPI MCP Registry awesome-mcp-servers

revit-devloader: install, update and roll back Revit add-ins without leaving Revit

DevLoader inside Revit 2026: the catalog lists three sample plugins with their icons; Install adds a button to the ribbon, the plugin runs, a newer version arrives in the feed and is installed, Uninstall hides the button

A development loader for Revit add-ins, built the way pyRevit treats bundles: a plugin is a package with a manifest, assemblies per Revit year and an icon; the DevLoader ribbon panel is generated from installed packages; a feed is the registry of a delivery channel. Versioned packages verified by SHA-256, immutable run folders so a broken build never touches a working one, install, update and uninstall inside Revit without a restart for command plugins. One core, two hosts: .NET Framework 4.8 for Revit 2022-2024 and .NET 8 for 2025-2026, three sample plugins to start from, 120 unit tests, user and admin installers and a release pipeline on GitHub Actions. C# .NET 4.8 / 8 WPF GitHub Releases · releases, MIT

Autodesk Forma toolchain: a zoning extension and the kit it grew into

Zoning Check running inside Autodesk Forma: plot controls on the left, the compliance result and the permitted envelope generated over the proposal

forma-zoning-check checks a Forma proposal against its plot controls (floor area ratio, site coverage, building height, setbacks) and generates the permitted envelope over the site. Presets ship for Dubai, Riyadh, Serbia, Germany, the Netherlands and Spain, so the rule set is the jurisdiction's, not mine. Built on the Forma embedded-view SDK with the native Autodesk design system, so it looks like a part of Forma rather than an iframe.

Everything reusable was pulled out of it and published, because the next extension should not start from an empty folder:

Package What it does
npm npm create forma-extension@latest my-extension: a working extension, zero runtime dependencies
npm Host adapter: proposal snapshots, base-group classification, footprint provider chain, cross-panel channel
autodesk-forma-extension-template The Vite + TypeScript template the scaffolder generates, also usable with Use this template

TypeScript Vite Forma embedded-view SDK npm · MIT

Upstream contributions

Project Contribution Status
pyrevitlabs/pyRevit #3617: Show View Range, handle ceiling plans (RCP) correctly state
autodesk-platform-services/skills #7: aps-forma-extension, a Forma extension development skill for the official APS collection state
punkpeye/awesome-mcp-servers #14398: list revit-model-mcp state
johnpierson/RhythmForDynamo #111: mark nodes promoted to OOTB Dynamo as obsolete, with an audit of the rest in #24 state
Nice3point/revit-skills #5: reported the Extensible Storage gap; the maintainer shipped a skill for it state

Also public

Repository What it is Stack
forma-zoning-check Autodesk Forma extension: plot control compliance and the permitted envelope, six jurisdiction presets TypeScript Vite
create-forma-extension One-command scaffolder for Forma extensions, published on npm JavaScript npm
forma-extension-kit Reusable read-only host adapter for Forma extensions, published on npm TypeScript npm
autodesk-forma-extension-template Minimal Vite + TypeScript template for Forma Site Design extensions TypeScript Vite
revit-day-by-day Archived learning series: 25 isolated Revit API commands for Revit 2026, one per day C# .NET 8

Independent Revit automation (formerly DSTools)

I work directly with architecture and MEP teams under my own name; DSTools is the earlier brand of the same practice. An engagement starts from one repeated workflow and runs in one of three formats:

  • Revit workflow audit. A workflow interview and one sample model become a map of the manual process and a prioritized list of automation candidates, with the best first one scoped.
  • One workflow automation sprint. One workflow, one agreed acceptance example, 10 business days when the scope fits. Dynamo, Python, pyRevit or a small C#/.NET add-in, whichever the task needs, tested on your Revit version, installed and handed over, with 14 days of fixes against the acceptance example.
  • Fractional tooling support. A monthly allowance for support, minor fixes and one small improvement, with a monthly summary.

What the practice has shipped:

  • Custom add-ins. Scoped, built, tested on the client's Revit version, installed and supported. Delivered: PipelineBuilder (piping systems modelling from DWG layouts) and AgrZoning (zoning plans and areas for the Russian AGR digital model). In development for the Autodesk App Store: FamilyChecker and ModelChecker. C# .NET 4.8 / 8 Revit API 2021-2026 WPF

The six-page overview deck walks through the four tools, one screen each: what the window shows, what it checks, what comes out.

Cover of the DSTools overview deck: Revit add-ins for engineering teams, four tools

Every add-in ships the same way: installer, auto-updater, versioned releases through GitHub Actions. Inno Setup GitHub Actions

How I work

  • A task starts as a written spec: which files, what changes, how it is verified. The spec is the contract, whoever implements it, a person or a coding agent.
  • Implementation and review are separate passes. Review blocks a release only for real problems, otherwise it never converges.
  • Nothing is done until the check has run and its output is on the table: a test run, a build, a screenshot of the dialog.
  • Routine work is scheduled, not remembered: releases, health checks and weekly reports run on GitHub Actions and report to Telegram.
  • Notes and decisions live in a searchable base, so a question answered once is not answered again.

Stack

C# .NET WPF Revit API Autodesk Forma Dynamo pyRevit Python TypeScript Vite MCP GitHub Actions Inno Setup npm PyPI

Activity

Contributions over the last 12 months

The graph is generated from the GitHub GraphQL API by scripts/activity-graph.mjs and refreshed daily by a GitHub Actions cron, no third-party card service.

Contact

The fastest way to reach me is sharafutdinov.online, LinkedIn or sharafutdinov.di.dev@outlook.com. A screen recording or a sample model of the workflow is the best first message.

Pinned Loading

  1. revit-model-mcp revit-model-mcp Public

    MCP server for live Autodesk Revit models: query, aggregate and inspect by default, act only behind opt-in gates

    C# 5 3

  2. revit-devloader revit-devloader Public

    Multi-version Revit development loader: signed feeds, immutable shadow-copy runs, GitHub Releases delivery

    C#

  3. forma-zoning-check forma-zoning-check Public

    Autodesk Forma extension: checks a proposal against its plot controls (FAR, coverage, height, setbacks) and generates the permitted envelope. Presets for Dubai, Riyadh, Serbia, Germany, the Netherl…

    TypeScript

  4. autodesk-forma-extension-template autodesk-forma-extension-template Public template

    Minimal Vite and TypeScript template for Autodesk Forma Site Design extensions.

    TypeScript

  5. forma-extension-kit forma-extension-kit Public

    Reusable host adapter for Autodesk Forma extensions: proposal snapshots, base-group classification, footprint provider chain and cross-panel channel.

    TypeScript

  6. create-forma-extension create-forma-extension Public

    Scaffold an Autodesk Forma extension with one command: npm create forma-extension@latest my-extension

    JavaScript