<?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: Didier FRANC</title>
    <description>The latest articles on DEV Community by Didier FRANC (@didierfranc).</description>
    <link>https://dev.to/didierfranc</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%2F46178%2F004816f3-9122-498c-8a03-701005ed5553.jpg</url>
      <title>DEV Community: Didier FRANC</title>
      <link>https://dev.to/didierfranc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/didierfranc"/>
    <language>en</language>
    <item>
      <title>Agnostic, A Startup Story 📚</title>
      <dc:creator>Didier FRANC</dc:creator>
      <pubDate>Tue, 20 May 2025 15:12:10 +0000</pubDate>
      <link>https://dev.to/didierfranc/agnostic-a-startup-story-b36</link>
      <guid>https://dev.to/didierfranc/agnostic-a-startup-story-b36</guid>
      <description>&lt;h1&gt;
  
  
  Agnostic: The Story of Two Engineers Who Wanted to Make the Blockchain Understandable
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;At first, it was just two friends obsessed with data. Today, it’s an open-source stack used to explore blockchains like databases. This is the story of how we got here.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Chapter 1 — Hitting the Wall
&lt;/h2&gt;

&lt;p&gt;It all started the way these things often do: with frustration.&lt;/p&gt;

&lt;p&gt;It was the end of summer 2021. Arnaud and I had just started working together on what would become Agnostic. We were building tools to explore Ethereum, Polygon, and Arbitrum—not dashboards, but low-level data exploration systems. We wanted to answer basic questions:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Who interacted with this contract? What’s the full path of this transaction? Where did the ETH go?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But again and again, we hit the same wall.&lt;br&gt;&lt;br&gt;
Blockchain data was opaque. Fragmented. Slow. We stitched together RPCs, decoded logs manually, exported to spreadsheets, ran fragile ETL pipelines.&lt;/p&gt;

&lt;p&gt;We kept asking ourselves:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Why is it so hard to query blockchain data like regular data?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s when the idea for &lt;strong&gt;Agnostic&lt;/strong&gt; was born.&lt;br&gt;&lt;br&gt;
We didn’t want to build just another dashboard or indexer.&lt;br&gt;&lt;br&gt;
We wanted to build &lt;strong&gt;a language&lt;/strong&gt;—a way to talk to the chain.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 2 — Bootstrapping the Hard Way
&lt;/h2&gt;

&lt;p&gt;We had no funding. Just time, passion, and stubborn conviction.&lt;/p&gt;

&lt;p&gt;We hosted our own nodes, called them billions of times. We optimized everything to run on minimal infra. Every request was budgeted. Every query was tuned. Every delay became a lesson.&lt;/p&gt;

&lt;p&gt;We ran ClickHouse on bare metal. We scraped chains in parallel. We decoded hex manually before building our first parsers.&lt;/p&gt;

&lt;p&gt;It was duct-tape engineering—but it worked.&lt;br&gt;&lt;br&gt;
It was fast. It was raw. And it was ours.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 3 — From AI to Blockchain
&lt;/h2&gt;

&lt;p&gt;Before Agnostic, Arnaud and I had worked together on AI projects—tools for generative media and intelligent data pipelines. That’s where our trust as co-founders was forged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yann&lt;/strong&gt;, who had been my intern back in 2016, joined us later. He and I had already built tools for &lt;strong&gt;Deloitte&lt;/strong&gt;, a bidding platform for &lt;strong&gt;rail, maritime, and aviation&lt;/strong&gt;, and a generative video editor before blockchain.&lt;/p&gt;

&lt;p&gt;When he saw how far Agnostic had come, he didn’t ask for a pitch.&lt;br&gt;&lt;br&gt;
He just asked:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“When do I start?”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That kind of loyalty is rare—and it became part of the DNA of the team.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 4 — Reinventing Decoding
&lt;/h2&gt;

&lt;p&gt;Our first decoding engine was huge—a PostgreSQL database packed with every function and event signature we could find. It powered a high-speed chain processor that worked well… but wasn’t scalable.&lt;/p&gt;

&lt;p&gt;Then we had a breakthrough:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What if everything needed to reconstruct an ABI could fit into a single string?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s how we created the &lt;strong&gt;full signature&lt;/strong&gt;—a compact format that turned gigabytes of decoding metadata into a few megabytes.&lt;/p&gt;

&lt;p&gt;This unlocked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On-the-fly decoding in &lt;strong&gt;ClickHouse&lt;/strong&gt; using UDFs
&lt;/li&gt;
&lt;li&gt;Stateless, embeddable pipelines
&lt;/li&gt;
&lt;li&gt;SQL-only ETLs and lightweight orchestration via &lt;strong&gt;AGT (Agnostic Transform)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Chapter 5 — From MergeTree to Iceberg
&lt;/h2&gt;

&lt;p&gt;Our original backend used &lt;strong&gt;ClickHouse MergeTree&lt;/strong&gt; tables—blazing fast, but not designed for open data or multi-engine access.&lt;/p&gt;

&lt;p&gt;So we made a big bet: we migrated everything to &lt;strong&gt;Apache Iceberg&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It wasn’t well supported by ClickHouse at the time, so we built it ourselves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom compaction &amp;amp; indexing
&lt;/li&gt;
&lt;li&gt;Partitioning strategies for multi-chain scale
&lt;/li&gt;
&lt;li&gt;Seamless integration with Spark, DuckDB, Trino&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result: we turned our internal datasets—&lt;strong&gt;logs, traces, transactions, and blocks&lt;/strong&gt;—into public, versioned &lt;strong&gt;Iceberg + Parquet&lt;/strong&gt; datasets hosted on S3.&lt;/p&gt;

&lt;p&gt;Free. Composable. Ready to use by anyone.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 6 — Breaking the Monolith
&lt;/h2&gt;

&lt;p&gt;At first, everything was bundled together—explorer, decoder, ETL, infra.&lt;/p&gt;

&lt;p&gt;But the more we listened to users, the more we realized they needed modularity. So we broke it all apart.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The explorer became &lt;strong&gt;AGX&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The live decoding engine became &lt;strong&gt;clickhouse-evm&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The pipelines became declarative SQL, orchestrated by AGT
&lt;/li&gt;
&lt;li&gt;The data became public and pluggable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Agnostic became a stack&lt;/strong&gt;, not a product.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 7 — AGX Becomes Its Own Thing
&lt;/h2&gt;

&lt;p&gt;AGX started as a simple UI to browse decoded on-chain data.&lt;/p&gt;

&lt;p&gt;But it grew fast. We realized we were building something more powerful: a universal data exploration tool.&lt;/p&gt;

&lt;p&gt;We rebuilt it as a &lt;strong&gt;native app&lt;/strong&gt;, using &lt;strong&gt;Tauri + ClickHouse local + Svelte&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fully local, fully offline
&lt;/li&gt;
&lt;li&gt;Save queries, charts, dashboards
&lt;/li&gt;
&lt;li&gt;Run analytics on blockchain or CSVs or your own data warehouse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s fast. It’s yours. And it’s not just for blockchain anymore.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpdua54v86gvtyxmi6h6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpdua54v86gvtyxmi6h6.png" alt="Image description" width="800" height="594"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 8 — AI for Everyone
&lt;/h2&gt;

&lt;p&gt;Even with great tools, we hit one last barrier: &lt;strong&gt;SQL&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not everyone can write it. Even engineers struggle. So we added AI.&lt;/p&gt;

&lt;p&gt;We trained, tuned, and embedded &lt;strong&gt;text-to-SQL&lt;/strong&gt; into AGX. Today, it can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert natural language into optimized SQL
&lt;/li&gt;
&lt;li&gt;Fix broken queries
&lt;/li&gt;
&lt;li&gt;Autocomplete based on schema and data context
&lt;/li&gt;
&lt;li&gt;Help anyone ask better questions—even without technical skills&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was the unlock that made Agnostic accessible to &lt;em&gt;everyone&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bteregj2v3cdksfqiwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bteregj2v3cdksfqiwg.png" alt="Image description" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 9 — John Calabrese Joins the Mission (2024)
&lt;/h2&gt;

&lt;p&gt;By early 2024, Agnostic was powerful. But we wanted to test its limits. We needed someone who would push the product beyond what we imagined.&lt;/p&gt;

&lt;p&gt;That person was &lt;strong&gt;John Calabrese&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After an impressive run at &lt;strong&gt;Nansen&lt;/strong&gt;, John joined us—not just as a user, but as a builder. He broke the product. He bent it. He used it in ways we hadn’t designed for. And in doing so, he showed us its true potential.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;He helped turn Agnostic from a product into a platform. And he was the architect of our notebook platform to share your insights with the community&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0qlciycdn7ibfnrp3ow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0qlciycdn7ibfnrp3ow.png" alt="Image description" width="800" height="809"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Chapter 10 — From Passion to Funding
&lt;/h2&gt;

&lt;p&gt;We worked unpaid for over a year. No salaries. No grants. Just fire.&lt;/p&gt;

&lt;p&gt;But the ecosystem noticed. Devs shared dashboards. Protocols reached out. Data teams integrated us.&lt;/p&gt;

&lt;p&gt;Then came our first offer—from &lt;strong&gt;BlueYard&lt;/strong&gt;. They believed in the long-term vision and led a €2M round.&lt;/p&gt;

&lt;p&gt;We were joined by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kima Ventures&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stake Capital&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TRGC&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Atka&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We didn’t celebrate with champagne—we shipped another feature.&lt;/p&gt;




&lt;h2&gt;
  
  
  Epilogue — This Is Just the Beginning
&lt;/h2&gt;

&lt;p&gt;We didn’t start with a plan. We started with a feeling:&lt;br&gt;&lt;br&gt;
&lt;em&gt;This should exist.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Today, Agnostic is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A modular open-source stack
&lt;/li&gt;
&lt;li&gt;A public blockchain data lake
&lt;/li&gt;
&lt;li&gt;A blazing-fast local explorer
&lt;/li&gt;
&lt;li&gt;A SQL-native, AI-augmented toolchain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tomorrow, it could become the standard for how we explore on-chain data.&lt;/p&gt;

&lt;p&gt;We’re not trying to build everything. We’re building the parts that let &lt;strong&gt;everyone else&lt;/strong&gt; build.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;🌍 &lt;a href="https://agnostic.dev" rel="noopener noreferrer"&gt;Agnostic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📂 &lt;a href="https://github.com/agnosticeng" rel="noopener noreferrer"&gt;GitHub – Agnostic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://twitter.com/agnosticeng" rel="noopener noreferrer"&gt;Twitter / X – @agnosticeng&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>startup</category>
      <category>ai</category>
      <category>blockchain</category>
      <category>data</category>
    </item>
  </channel>
</rss>
