<?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: Laura Durieux</title>
    <description>The latest articles on DEV Community by Laura Durieux (@devgirl_).</description>
    <link>https://dev.to/devgirl_</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F242631%2F61eb512b-d956-4c46-964d-5d586e80453d.jpeg</url>
      <title>DEV Community: Laura Durieux</title>
      <link>https://dev.to/devgirl_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devgirl_"/>
    <language>en</language>
    <item>
      <title>I built an API in C, couldn't document it, so I accidentally created an open-source tool</title>
      <dc:creator>Laura Durieux</dc:creator>
      <pubDate>Sun, 19 Apr 2026 13:59:58 +0000</pubDate>
      <link>https://dev.to/devgirl_/i-built-an-api-in-c-couldnt-document-it-so-i-accidentally-created-an-open-source-tool-5cgn</link>
      <guid>https://dev.to/devgirl_/i-built-an-api-in-c-couldnt-document-it-so-i-accidentally-created-an-open-source-tool-5cgn</guid>
      <description>&lt;h2&gt;
  
  
  It started with C and suffering
&lt;/h2&gt;

&lt;p&gt;A while back I built an API in C. Yes, C — I am weird, I know. Using Mongoose — an embedded HTTP server library for C/C++ by Cesanta (not to be confused with Mongoose.js, the Node ODM).&lt;/p&gt;

&lt;p&gt;Every route, every handler, every response — written by hand. &lt;strong&gt;No framework. No annotation type system. No decorators.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I was done, I went looking for a documentation tool and immediately ran into a problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Swagger didn't work
&lt;/h2&gt;

&lt;p&gt;Swagger and OpenAPI are great, but they work &lt;strong&gt;by reading metadata&lt;/strong&gt; from your code: annotations, decorators, type definitions. Java has them. Python has them. Node has them.&lt;/p&gt;

&lt;p&gt;Raw C? Nothing. No reflection, no annotations, no schema to scrape. &lt;strong&gt;My API had zero metadata&lt;/strong&gt; — I have built everything manually, so there was nothing for a tool to discover automatically.&lt;/p&gt;

&lt;p&gt;You can write an OpenAPI YAML spec by hand, but no tool will generate it for you from C code. Or if you are only using Mongoose to create your API.&lt;/p&gt;

&lt;h2&gt;
  
  
  So I built something
&lt;/h2&gt;

&lt;p&gt;I made a small static page that reads an api.json file and renders interactive API documentation. No backend. No build step. Just HTML + CSS + vanilla JS. &lt;u&gt;So it is completely language and framework agnostic.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;The JSON describes your API — tables, endpoints, parameters, responses, auth — and Tabula turns it into a browsable, interactive doc site.&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;"settings"&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;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"My API"&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;"tables"&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;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"posts"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"primaryKey"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"columns"&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;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"id"&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;"integer"&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;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"title"&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;"string"&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="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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Then I realized that I built a complete doc generation tool
&lt;/h2&gt;

&lt;p&gt;Halfway through polishing it, I stepped back and noticed: this isn't just a workaround for my weird C project. This is a documentation tool for any API where you want full control — where you can't or don't want to rely on code introspection.&lt;/p&gt;

&lt;p&gt;So I did what you do when that happens: I cleaned it up properly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrote a &lt;strong&gt;CLI&lt;/strong&gt; (&lt;code&gt;init&lt;/code&gt;, &lt;code&gt;validate&lt;/code&gt;, &lt;code&gt;serve&lt;/code&gt;, &lt;code&gt;sync&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Added a &lt;strong&gt;zero-dependency linter&lt;/strong&gt; that validates your &lt;code&gt;api.json&lt;/code&gt; before you deploy&lt;/li&gt;
&lt;li&gt;Created three &lt;strong&gt;example projects&lt;/strong&gt; (&lt;code&gt;minimal&lt;/code&gt;, &lt;code&gt;blog&lt;/code&gt;, &lt;code&gt;e-commerce&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Set up &lt;strong&gt;CI&lt;/strong&gt;, wrote &lt;strong&gt;docs&lt;/strong&gt;, &lt;strong&gt;published&lt;/strong&gt; to npm&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it (please 🥸)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx tabula-docs init my-docs
&lt;span class="nb"&gt;cd &lt;/span&gt;my-docs
npx tabula-docs serve &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt;. Edit &lt;code&gt;api.json&lt;/code&gt;. Reload. That's it.&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://lauwed.github.io/tabula-docs/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;br&gt;
⭐ &lt;a href="https://github.com/Lauwed/tabula-docs" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;
📦 &lt;a href="https://www.npmjs.com/package/tabula-docs" rel="noopener noreferrer"&gt;NPM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;It's v0.1.3 and still early&lt;/u&gt;. I'd love feedback — especially on the JSON schema design. Does it feel intuitive? Is anything confusing or missing?&lt;/p&gt;

&lt;p&gt;And if you're building something weird in C: &lt;strong&gt;you're not alone&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;PS: This post has been generated by Claude, based on my storytelling that I wrote myself. I wanted to be sure that the English would understandable and share correctly my story! I am really proud of this little project, this is my first open source project I fully committed to and went through to the end.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Data protection in AI ?</title>
      <dc:creator>Laura Durieux</dc:creator>
      <pubDate>Thu, 13 Jun 2024 11:47:05 +0000</pubDate>
      <link>https://dev.to/devgirl_/data-protection-in-ai--1ghk</link>
      <guid>https://dev.to/devgirl_/data-protection-in-ai--1ghk</guid>
      <description>&lt;p&gt;Today, we hear a lot about AI being integrated into our hardware devices. PCs, smartphones, tablets—big OS companies are collaborating with AI to introduce many new features (perhaps too many).&lt;/p&gt;

&lt;p&gt;They always claim that our data will be protected, but &lt;strong&gt;have you seen any real explanations or transparency about that?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Am I a geek ?</title>
      <dc:creator>Laura Durieux</dc:creator>
      <pubDate>Sun, 10 Mar 2024 16:35:36 +0000</pubDate>
      <link>https://dev.to/devgirl_/am-i-a-geek--18dg</link>
      <guid>https://dev.to/devgirl_/am-i-a-geek--18dg</guid>
      <description>&lt;p&gt;I recently realized that, as a woman in the tech field, I harbored a reluctance to be associated with the term "geek." &lt;/p&gt;

&lt;p&gt;My name is Laura Durieux, and I am a versatile web developer, specializing in both front-end and back-end, a web designer, a Twitch streamer, and a presenter at RTBF iXPÉ. &lt;/p&gt;

&lt;p&gt;Two years ago, I achieved the honor of winning the gold medal in Web Technologies at WorldSkills Belgium, which led to numerous interviews where I found myself actively rejecting the label of "geek." My aim was to serve as a feminine role model in the Belgian tech industry, and I felt compelled to distance myself from the stereotypical association with being a "geek."&lt;/p&gt;

&lt;h2&gt;
  
  
  Geek !== feminity ?
&lt;/h2&gt;

&lt;p&gt;Reflecting on this decision, I realize it may have been driven by fear. I was apprehensive about being perceived as less feminine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why don't you ask men ?
&lt;/h2&gt;

&lt;p&gt;Jealousy might have played a role as well. When I recall instances where a businessman identifies himself as a developer/programmer on a TV show, I rarely hear the presenter ask, "So, can we call you a geek?" This might have occurred, but it doesn't seem as prevalent for women. Men seem to be more inclined to categorize us.&lt;/p&gt;

&lt;h2&gt;
  
  
  The image the society gives to the term "Geek"
&lt;/h2&gt;

&lt;p&gt;In contemporary society, when the term "geek" is associated with a girl or a woman, it often takes on a sexualized and fantastical tone. Similar to the "Gamer girl" archetype, this aligns with the fantasies of men.&lt;/p&gt;

&lt;p&gt;Still not convinced? Ask a generative image AI to show you a "Girl geek." You'll see.&lt;/p&gt;

&lt;p&gt;Even ChatGPT acknowledges this reality.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4do11io7dwbyg0loevnq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4do11io7dwbyg0loevnq.png" alt="ChatGPT answer" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Today
&lt;/h2&gt;

&lt;p&gt;Today, I no longer fear being labeled a geek. I understand that this won't hinder me from being a feminine representation in the tech field, even if it doesn't align with the stereotypical image of a "female geek." To clarify, if you want to embrace that image, it's entirely acceptable, and no one should pass judgment. The issue I want to highlight is the unwarranted categorization of women as geeks solely based on their involvement in the tech field.&lt;/p&gt;

&lt;h2&gt;
  
  
  And you? What do you think?
&lt;/h2&gt;

&lt;p&gt;Let me know in the comments!&lt;/p&gt;




&lt;p&gt;Hey! 👋 My name is Laura Durieux. I am a Web Developper, streamer on Twitch, presenter @ RTBF iXPE in Belgium and recently speaker.&lt;/p&gt;

&lt;p&gt;Don't hesitate to show your support by following me on social media or tuning in to my Twitch Channel, where we code and share plenty of laughs! You can find all my links conveniently organized on my &lt;a href="https://linktr.ee/devgirl_"&gt;Linktree&lt;/a&gt;. ✨&lt;/p&gt;




&lt;p&gt;Cover image from &lt;a href="https://unsplash.com/fr/@ayrus_hill?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash"&gt;Ayrus Hill&lt;/a&gt; on &lt;a href="https://unsplash.com/fr/photos/personnes-main-sur-le-clavier-dordinateur-a-lumiere-bleue-2fsDwu5Zza4?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>webdev</category>
      <category>coding</category>
      <category>womenintech</category>
    </item>
    <item>
      <title>The power of Role Model</title>
      <dc:creator>Laura Durieux</dc:creator>
      <pubDate>Sun, 10 Mar 2024 16:20:28 +0000</pubDate>
      <link>https://dev.to/devgirl_/the-power-of-role-model-425m</link>
      <guid>https://dev.to/devgirl_/the-power-of-role-model-425m</guid>
      <description>&lt;p&gt;As a woman in the tech industry, I faced challenges in finding representation and feeling included in this field. Initially, it was more of a vague feeling, and I couldn't quite grasp why I felt that way. Then, one day, I encountered my role model, and it dawned on me that I had been experiencing a sense of isolation and fear. Since then, everything has changed.&lt;/p&gt;

&lt;p&gt;I firmly believe in the power of having a role model, particularly for those treated as minorities – and I use the term 'minorities' not to imply our absence but to highlight the unfortunate invisibility we often experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Role Model?
&lt;/h2&gt;

&lt;p&gt;Let's look at some definitions&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A role model is a person whose behaviour, example, or success serves as a model to be emulated by others, especially by younger people. The term role model is credited to sociologist Robert K. Merton, who hypothesized that individuals compare themselves with reference groups of people who occupy the social role to which the individual aspires,[4] an example of which is the way young fans may idolize and imitate professional athletes or entertainment artists.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Source Wikipedia: &lt;a href="https://en.wikipedia.org/wiki/Role_model"&gt;https://en.wikipedia.org/wiki/Role_model&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A significant other, upon which an individual patterns his or her behaviour in a particular social role, including adopting appropriate similar attitudes. Role-models need not be known personally to the individual: some people model their behaviour in particular roles on the real and legendary example provided by historical figures. Role-models tend to provide ideals for a particular role only, rather than a pattern to be emulated across all the constituent roles of an individual's life and self.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Source Oxford Reference: &lt;a href="https://www.oxfordreference.com/display/10.1093/oi/authority.20110803100426815"&gt;https://www.oxfordreference.com/display/10.1093/oi/authority.20110803100426815&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At the end of the day, I believe that everybody forms their own definition of what a role model is, with minor variations.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Role Model
&lt;/h2&gt;

&lt;p&gt;My role model is Aurélie Jean, whom I had the privilege of meeting a few years ago and now have the honor of working with. She is a regular guest on my &lt;a href="https://www.twitch.tv/devgirl_"&gt;Twitch Channel&lt;/a&gt; once a month.&lt;/p&gt;

&lt;p&gt;Despite her expertise in algorithms and my focus on web technologies, I deeply admire her. The experience has not only broadened my perspectives but has also inspired me to reach new heights in my ambitions.&lt;/p&gt;

&lt;h2&gt;
  
  
  And you?
&lt;/h2&gt;

&lt;p&gt;Who is your role model? Feel free to share in the comments below and let the world know about the person you admire!&lt;/p&gt;




&lt;p&gt;Hey! 👋 My name is Laura Durieux. I am a Web Developper, streamer on Twitch, presenter @ RTBF iXPE in Belgium and recently speaker.&lt;/p&gt;

&lt;p&gt;Don't hesitate to show your support by following me on social media or tuning in to my Twitch Channel, where we code and share plenty of laughs! You can find all my links conveniently organized on my &lt;a href="https://linktr.ee/devgirl_"&gt;Linktree&lt;/a&gt;. ✨&lt;/p&gt;




&lt;p&gt;Cover image from &lt;a href="https://unsplash.com/fr/@lighttouchedphotography?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash"&gt;Kevin Schmid&lt;/a&gt; on &lt;a href="https://unsplash.com/fr/photos/personnes-regardant-le-concert-pendant-la-nuit-RV6-09J3HYU?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>discuss</category>
      <category>community</category>
      <category>womenintech</category>
    </item>
  </channel>
</rss>
