<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Duarte Clemente</title><description>Low-code that bears load. Field notes on Microsoft Dataverse, Power Apps Code Apps, and Azure — from systems that shipped.</description><link>https://duarteclemente.com/</link><item><title>Five Gotchas That Make a Power Apps Code App Actually Run</title><link>https://duarteclemente.com/posts/five-power-apps-code-app-gotchas/</link><guid isPermaLink="true">https://duarteclemente.com/posts/five-power-apps-code-app-gotchas/</guid><description>Code Apps feel like plain React until five undocumented runtime quirks turn a working local build into a blank screen in the host.</description><pubDate>Tue, 11 Aug 2026 09:00:00 GMT</pubDate></item><item><title>Graph&apos;s Convert-to-PDF Doesn&apos;t Return a PDF</title><link>https://duarteclemente.com/posts/graph-convert-to-pdf-returns-a-302/</link><guid isPermaLink="true">https://duarteclemente.com/posts/graph-convert-to-pdf-returns-a-302/</guid><description>Microsoft Graph&apos;s convert-to-PDF returns a 302, not a PDF — and if your HttpClient follows redirects, it leaks your bearer token.</description><pubDate>Thu, 06 Aug 2026 09:00:00 GMT</pubDate></item><item><title>A Time Clock That Catches Labor Issues Before Payroll</title><link>https://duarteclemente.com/posts/time-clock-compliance-before-payroll/</link><guid isPermaLink="true">https://duarteclemente.com/posts/time-clock-compliance-before-payroll/</guid><description>Anyone can build a clock-in button. The real engineering is watching active shifts as they run, so a missed break is a flag today, not a payroll surprise in two weeks.</description><pubDate>Tue, 04 Aug 2026 09:00:00 GMT</pubDate></item><item><title>Sharing a Database Is Sharing an Attack Surface</title><link>https://duarteclemente.com/posts/shared-database-rls-hardening/</link><guid isPermaLink="true">https://duarteclemente.com/posts/shared-database-rls-hardening/</guid><description>A product I built shared one Postgres database with a third-party AI service — and inherited every table that service forgot to lock.</description><pubDate>Thu, 30 Jul 2026 09:00:00 GMT</pubDate></item><item><title>The LLM Extracts the Numbers. It Never Calculates Them.</title><link>https://duarteclemente.com/posts/llm-extracts-engine-calculates/</link><guid isPermaLink="true">https://duarteclemente.com/posts/llm-extracts-engine-calculates/</guid><description>A legal-tech tool that reads a contract and computes late-payment interest — where the AI extracts every figure and a deterministic engine, not the model, does the maths.</description><pubDate>Tue, 28 Jul 2026 09:00:00 GMT</pubDate></item><item><title>Getting Large Files into SharePoint Without Base64-ing Through the Connector</title><link>https://duarteclemente.com/posts/large-file-uploads-past-the-connector/</link><guid isPermaLink="true">https://duarteclemente.com/posts/large-file-uploads-past-the-connector/</guid><description>The Power Platform connector caps your file size, and base64-ing bytes through a flow inflates them a third until it falls over. Here&apos;s the SAS-and-stream pattern that moves the file out of the connector entirely.</description><pubDate>Thu, 23 Jul 2026 09:00:00 GMT</pubDate></item><item><title>Real React Apps That Run Inside Dataverse</title><link>https://duarteclemente.com/posts/react-apps-inside-dataverse/</link><guid isPermaLink="true">https://duarteclemente.com/posts/react-apps-inside-dataverse/</guid><description>Most people think Power Platform means canvas apps. It doesn&apos;t. Here&apos;s how a fleet of full React apps ran natively on the platform against Dataverse — and the read/write split that made it work.</description><pubDate>Tue, 21 Jul 2026 09:00:00 GMT</pubDate></item><item><title>I deleted the server that merged my PDFs</title><link>https://duarteclemente.com/posts/i-deleted-the-server-that-merged-my-pdfs/</link><guid isPermaLink="true">https://duarteclemente.com/posts/i-deleted-the-server-that-merged-my-pdfs/</guid><description>Going fully client-side removed an Azure Function and a whole class of failure. Then the Power Apps SDK quietly ate every file I tried to read back.</description><pubDate>Thu, 16 Jul 2026 09:00:00 GMT</pubDate></item><item><title>Building a 3M-File Document Management System on Power Apps Code Apps: What the SharePoint Connector Doesn&apos;t Tell You</title><link>https://duarteclemente.com/posts/sharepoint-connector-3m-file-dms/</link><guid isPermaLink="true">https://duarteclemente.com/posts/sharepoint-connector-3m-file-dms/</guid><description>Nearly every typed SharePoint connector action broke on the way to three million files. What broke, why, and the REST passthrough, retry policy, and business-key join that fixed it.</description><pubDate>Fri, 03 Jul 2026 09:00:00 GMT</pubDate></item><item><title>When Copilot Studio is over-engineering</title><link>https://duarteclemente.com/posts/when-copilot-studio-is-over-engineering/</link><guid isPermaLink="true">https://duarteclemente.com/posts/when-copilot-studio-is-over-engineering/</guid><description>Copilot Studio is a suspension bridge. Most of your requirements are streams — and a form plus a flow crosses them just fine.</description><pubDate>Thu, 02 Jul 2026 09:00:00 GMT</pubDate></item></channel></rss>