<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bernard GRENAT</title>
    <description>The latest articles on DEV Community by Bernard GRENAT (@powehi).</description>
    <link>https://dev.to/powehi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3284902%2F681bc55a-975d-4493-b556-70e4fb988f3d.png</url>
      <title>DEV Community: Bernard GRENAT</title>
      <link>https://dev.to/powehi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/powehi"/>
    <language>en</language>
    <item>
      <title>UI Motion Workflow: An Open-Source Orchestration Layer for Motion-Aware Frontend Work</title>
      <dc:creator>Bernard GRENAT</dc:creator>
      <pubDate>Fri, 26 Jun 2026 08:38:30 +0000</pubDate>
      <link>https://dev.to/powehi/ui-motion-workflow-an-open-source-orchestration-layer-for-motion-aware-frontend-work-41gl</link>
      <guid>https://dev.to/powehi/ui-motion-workflow-an-open-source-orchestration-layer-for-motion-aware-frontend-work-41gl</guid>
      <description>&lt;p&gt;Most AI coding agents can generate polished UI.&lt;/p&gt;

&lt;p&gt;That does not automatically mean the result feels orchestrated.&lt;/p&gt;

&lt;p&gt;In practice, a lot of agent-assisted frontend work still breaks down in the same way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the visual direction is unclear&lt;/li&gt;
&lt;li&gt;motion is added too early or too randomly&lt;/li&gt;
&lt;li&gt;the wrong component provider is chosen for the job&lt;/li&gt;
&lt;li&gt;the final result is not validated in the browser with enough rigor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That gap is why I open-sourced &lt;code&gt;ui-motion-workflow&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It is not another component library.&lt;br&gt;
It is not a visual generator.&lt;br&gt;
It is an orchestration layer for motion-aware frontend work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;When teams work with coding agents on React or frontend surfaces, they often end up with a strange middle ground:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the page looks "better"&lt;/li&gt;
&lt;li&gt;individual sections may be polished&lt;/li&gt;
&lt;li&gt;animation exists&lt;/li&gt;
&lt;li&gt;but the overall experience still feels disconnected&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The issue is usually not raw implementation capability.&lt;/p&gt;

&lt;p&gt;The issue is sequencing.&lt;/p&gt;

&lt;p&gt;For motion-heavy or motion-aware UI work, there are at least four distinct responsibilities:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;define the interface direction and motion intent&lt;/li&gt;
&lt;li&gt;choose the right provider or motion strategy&lt;/li&gt;
&lt;li&gt;integrate it cleanly into the host codebase&lt;/li&gt;
&lt;li&gt;validate the real behavior in the browser&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Too often, those steps get collapsed into one prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  What &lt;code&gt;ui-motion-workflow&lt;/code&gt; Does
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ui-motion-workflow&lt;/code&gt; helps an agent decide the order of work before it starts changing the UI.&lt;/p&gt;

&lt;p&gt;At a high level, the workflow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;read the host surface and understand the product goal&lt;/li&gt;
&lt;li&gt;decide whether the request needs direction first, implementation first, or validation first&lt;/li&gt;
&lt;li&gt;select the right provider based on the actual motion need&lt;/li&gt;
&lt;li&gt;implement without breaking the host codebase's logic or style&lt;/li&gt;
&lt;li&gt;validate the final result in a real browser&lt;/li&gt;
&lt;li&gt;iterate until the motion feels intentional instead of decorative&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The workflow is agent-agnostic by design.&lt;/p&gt;

&lt;p&gt;The first reference implementation is Codex-first, but the project also documents adapters for Claude Code, Cursor, and VS Code-style environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Orchestrates Providers Instead of Replacing Them
&lt;/h2&gt;

&lt;p&gt;One of the core ideas behind the project is simple:&lt;/p&gt;

&lt;p&gt;the best result does not come from forcing one provider into every situation.&lt;/p&gt;

&lt;p&gt;Instead, &lt;code&gt;ui-motion-workflow&lt;/code&gt; treats providers by role:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ui-ux-pro-max&lt;/code&gt; for visual direction and motion tone&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;react-bits&lt;/code&gt; for expressive, high-impact React motion components&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;magicui&lt;/code&gt; for polished product-friendly animated UI blocks&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;motion-primitives&lt;/code&gt; for lower-level motion patterns embedded into local components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a bold marketing hero may benefit from &lt;code&gt;react-bits&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;a more system-like animated card or product surface may fit &lt;code&gt;magicui&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;a subtle reveal, sequencing pattern, or local state-driven transition may fit &lt;code&gt;motion-primitives&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow's job is not to "prefer novelty."&lt;/p&gt;

&lt;p&gt;Its job is to choose the right tool for the right part of the surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Concrete Before/After Case
&lt;/h2&gt;

&lt;p&gt;One of the most useful ways to test the idea was on a real product surface: &lt;code&gt;Seryvon&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The "before" version already looked strong and had clearly benefited from good UI work.&lt;br&gt;
But the "after" version produced through the orchestrated pass felt stronger for a specific reason:&lt;/p&gt;

&lt;p&gt;it read like a guided product argument instead of a set of parallel polished sections.&lt;/p&gt;

&lt;p&gt;The improvements were not about adding more effects.&lt;br&gt;
They were about better sequence and intent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a clearer hero hierarchy&lt;/li&gt;
&lt;li&gt;more legible CTA prioritization&lt;/li&gt;
&lt;li&gt;better proof framing in the audit panel&lt;/li&gt;
&lt;li&gt;more controlled section pacing&lt;/li&gt;
&lt;li&gt;restrained, staged motion that supported reading order&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That distinction is subtle, but it is exactly where orchestration starts to matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Browser Validation Is Part of the Workflow
&lt;/h2&gt;

&lt;p&gt;One thing I wanted to make explicit in this project is that source-level changes are not enough.&lt;/p&gt;

&lt;p&gt;Motion work especially needs browser validation because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;spacing, hierarchy, and motion rhythm change once rendered&lt;/li&gt;
&lt;li&gt;desktop and mobile can reveal different pacing issues&lt;/li&gt;
&lt;li&gt;hover states and staged reveals only make sense in context&lt;/li&gt;
&lt;li&gt;a page can look correct in code while still feeling off in reality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is why browser validation is not a bonus step in &lt;code&gt;ui-motion-workflow&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It is part of the contract.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Open Source
&lt;/h2&gt;

&lt;p&gt;I wanted the public core to stay generic and reusable.&lt;/p&gt;

&lt;p&gt;That means the repository is intentionally not tied to a private studio workflow, a single provider, or a single runtime.&lt;/p&gt;

&lt;p&gt;The public version focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the orchestration model&lt;/li&gt;
&lt;li&gt;provider selection logic&lt;/li&gt;
&lt;li&gt;implementation adapters&lt;/li&gt;
&lt;li&gt;browser-validation discipline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes it easier for other teams to adapt it to their own AI coding environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the Project Goes Next
&lt;/h2&gt;

&lt;p&gt;This first release is a foundation.&lt;/p&gt;

&lt;p&gt;The next useful steps are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;more real-world host project examples&lt;/li&gt;
&lt;li&gt;stronger install and onboarding guidance per environment&lt;/li&gt;
&lt;li&gt;more before/after studies&lt;/li&gt;
&lt;li&gt;tighter adapter patterns for non-Codex environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;If you work with AI coding agents and care about frontend quality, motion intent, and browser-level polish, that is the exact audience for this project.&lt;/p&gt;

&lt;p&gt;Repo:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://github.com/powehi-eu/ui-motion-workflow&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Release:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://github.com/powehi-eu/ui-motion-workflow/releases/tag/v0.1.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I would be especially interested in feedback from people building with Codex, Cursor, Claude Code, and React-heavy product surfaces.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>design</category>
      <category>opensource</category>
      <category>agentskills</category>
    </item>
    <item>
      <title>How C2PA Could Certify AI-Generated Texts (and Why Education Needs It)</title>
      <dc:creator>Bernard GRENAT</dc:creator>
      <pubDate>Sun, 22 Jun 2025 15:11:23 +0000</pubDate>
      <link>https://dev.to/powehi/how-c2pa-could-certify-ai-generated-texts-and-why-education-needs-it-35cj</link>
      <guid>https://dev.to/powehi/how-c2pa-could-certify-ai-generated-texts-and-why-education-needs-it-35cj</guid>
      <description>&lt;h2&gt;
  
  
  🧠 The Challenge: Tracing AI-Generated Texts
&lt;/h2&gt;

&lt;p&gt;LLMs like GPT-4, Claude, or Gemini generate text that's indistinguishable from human writing. Classic detection tools based on classifiers or style patterns are increasingly unreliable.&lt;/p&gt;

&lt;p&gt;Enter &lt;strong&gt;C2PA&lt;/strong&gt; — a cryptographic provenance standard backed by Adobe, Microsoft, Intel, and others.&lt;/p&gt;

&lt;p&gt;🧾 Originally built for images and video, C2PA could soon be used to &lt;strong&gt;sign documents&lt;/strong&gt;, proving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who authored it (or what model did),&lt;/li&gt;
&lt;li&gt;When it was generated,&lt;/li&gt;
&lt;li&gt;And how it was modified (if at all).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔐 What Is C2PA, Really?
&lt;/h2&gt;

&lt;p&gt;C2PA = Coalition for Content Provenance and Authenticity. It's an open standard that lets tools attach signed manifests to files (images, videos... and maybe text).&lt;/p&gt;

&lt;p&gt;A manifest is a signed JSON like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"@context"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://schema.c2pa.org"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"c2paManifest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"assertions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"generatedWithAI"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"generator"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"OpenAI GPT-4"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"email"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"student@university.edu"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"hash"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"b0f3ac12e1..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"signature"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MEUCIQD5lQ..."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🧱 Who's Building It?&lt;/p&gt;

&lt;p&gt;🔧 Industry&lt;br&gt;
Adobe: Content Authenticity Initiative&lt;br&gt;
OpenAI: Manifest embedding via API&lt;br&gt;
Anthropic: Model fingerprinting per user&lt;br&gt;
Meta AI: Token-level watermarking&lt;br&gt;
Microsoft &amp;amp; Intel: Core C2PA contributors&lt;/p&gt;

&lt;p&gt;🧪 Research&lt;br&gt;
NIST (US): Trusted provenance frameworks&lt;br&gt;
EleutherAI / LAION: Manifests in open datasets&lt;br&gt;
W3C: Verifiable Credentials integration&lt;/p&gt;

&lt;p&gt;⚠️ What Could Go Wrong?&lt;br&gt;
🕳️ Signatures break if the text is edited.&lt;/p&gt;

&lt;p&gt;📋 Users can copy/paste to bypass metadata.&lt;/p&gt;

&lt;p&gt;🧑‍🎓 Students may remove the manifest or submit screenshots.&lt;/p&gt;

&lt;p&gt;➡️ That’s why hashing per paragraph, Merkle trees, or block-based manifests are being explored.&lt;/p&gt;

&lt;p&gt;Also, privacy matters: identities must be pseudonymized and revocable under GDPR.&lt;/p&gt;

&lt;p&gt;🎓 What About Education?&lt;br&gt;
In schools and universities, C2PA could:&lt;/p&gt;

&lt;p&gt;Sign every AI-generated output from official tools (ChatGPT, Copilot, etc.).&lt;/p&gt;

&lt;p&gt;Automatically verify signatures in LMS platforms (like Moodle or Google Classroom).&lt;/p&gt;

&lt;p&gt;Help distinguish honest AI use vs. hidden misuse.&lt;/p&gt;

&lt;p&gt;But remember: absence of a manifest ≠ human authorship.&lt;/p&gt;

&lt;p&gt;It should be part of a bigger trust toolkit (interviews, writing style comparison, student history…).&lt;/p&gt;

&lt;p&gt;🔬 What's Next?&lt;br&gt;
🧭 Research directions:&lt;/p&gt;

&lt;p&gt;Store manifests on blockchains for auditability&lt;br&gt;
Combine with statistical AI detectors&lt;br&gt;
Use differential signing for text variants&lt;br&gt;
Enable deferred signatures on submission (e.g., via LMS timestamping)&lt;/p&gt;

&lt;p&gt;✅ TL;DR&lt;br&gt;
What?   C2PA for text signing&lt;br&gt;
Who?    Adobe, Microsoft, OpenAI, NIST, etc.&lt;br&gt;
Why?    To trace LLM-generated documents&lt;br&gt;
How?    JSON-LD manifest + digital signature&lt;br&gt;
Works with? PDF, DOCX, HTML, Markdown&lt;br&gt;
Still missing?  Full browser support, strong privacy layer&lt;/p&gt;

&lt;p&gt;✍️ About author : &lt;/p&gt;

&lt;p&gt;Powehi is an independent, ethical web agency based in Lyon (France).&lt;br&gt;
We help small organizations build an online presence that rivals the big players — without selling out.&lt;/p&gt;

&lt;p&gt;🧾 Contact : &lt;a href="https://powehi.eu" rel="noopener noreferrer"&gt;https://powehi.eu&lt;/a&gt;&lt;br&gt;
📫 &lt;a href="mailto:contact@powehi.eu"&gt;contact@powehi.eu&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>security</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
