diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp
index 494b39e7fab80c9c4a9d1e47530261b78d56b55f..d00febdaedaa9664f538cfd74483f5c65635b3ee 100644
--- a/src/jamidht/conversation.cpp
+++ b/src/jamidht/conversation.cpp
@@ -38,6 +38,12 @@
 namespace jami {
 
 static const char* const LAST_MODIFIED = "lastModified";
+static const auto jsonBuilder =  []{
+    Json::StreamWriterBuilder wbuilder;
+    wbuilder["commentStyle"] = "None";
+    wbuilder["indentation"] = "";
+    return wbuilder;
+}();
 
 ConvInfo::ConvInfo(const Json::Value& json)
 {
@@ -608,7 +614,6 @@ Conversation::Impl::announceEndedCalls()
         auto nowConverted = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch())
                                 .count();
         value["duration"] = std::to_string((nowConverted - hostedCall.second) * 1000);
-        Json::StreamWriterBuilder wbuilder;
         auto itActive = std::find_if(activeCalls_.begin(),
                                      activeCalls_.end(),
                                      [confId = hostedCall.first, uri, device](auto value) {
@@ -617,10 +622,7 @@ Conversation::Impl::announceEndedCalls()
                                      });
         if (itActive != activeCalls_.end())
             activeCalls_.erase(itActive);
-        wbuilder["commentStyle"] = "None";
-        wbuilder["indentation"] = "";
-        auto commit = repository_->commitMessage(Json::writeString(wbuilder, value));
-        commits.emplace_back(commit);
+        commits.emplace_back(repository_->commitMessage(Json::writeString(jsonBuilder, value)));
 
         JAMI_DEBUG("Removing hosted conference... {:s}", hostedCall.first);
     }
@@ -953,11 +955,8 @@ Conversation::sendMessage(Json::Value&& value,
                 if (!acc)
                     return;
                 std::unique_lock<std::mutex> lk(sthis->pimpl_->writeMtx_);
-                Json::StreamWriterBuilder wbuilder;
-                wbuilder["commentStyle"] = "None";
-                wbuilder["indentation"] = "";
                 auto commit = sthis->pimpl_->repository_->commitMessage(
-                    Json::writeString(wbuilder, value));
+                    Json::writeString(jsonBuilder, value));
                 sthis->pimpl_->sending_.emplace_back(commit);
                 sthis->pimpl_->saveSending();
                 sthis->clearFetched();
@@ -984,13 +983,10 @@ Conversation::sendMessages(std::vector<Json::Value>&& messages, OnMultiDoneCb&&
         if (auto sthis = w.lock()) {
             std::vector<std::string> commits;
             commits.reserve(messages.size());
-            Json::StreamWriterBuilder wbuilder;
-            wbuilder["commentStyle"] = "None";
-            wbuilder["indentation"] = "";
             std::unique_lock<std::mutex> lk(sthis->pimpl_->writeMtx_);
             for (const auto& message : messages) {
                 auto commit = sthis->pimpl_->repository_->commitMessage(
-                    Json::writeString(wbuilder, message));
+                    Json::writeString(jsonBuilder, message));
                 commits.emplace_back(std::move(commit));
             }
             lk.unlock();
@@ -1220,10 +1216,7 @@ Conversation::generateInvitation() const
         metadata[k] = v;
     }
     root[ConversationMapKeys::CONVERSATIONID] = id();
-    Json::StreamWriterBuilder wbuilder;
-    wbuilder["commentStyle"] = "None";
-    wbuilder["indentation"] = "";
-    return {{"application/invite+json", Json::writeString(wbuilder, root)}};
+    return {{"application/invite+json", Json::writeString(jsonBuilder, root)}};
 }
 
 std::string