PageSourceSearch

https://whatareyoubuilding.ai/product/kImkv9NdlMH21fnwmwYY

html whatareyoubuilding.ai collected 2026-10-05 13:41:39 UTC 25,096 bytes, 301 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="UTF-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1" />
6    <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
7    <meta name="theme-color" content="#fbfaf7" />
8
9    <!--
10      THE SITE-WIDE HALF OF THE HEAD. Everything here is true of every URL.
11
12      THIS IS A TEMPLATE, NOT A FILE THAT SHIPS AS-IS. `vite build` writes it
13      to dist/index.html and then scripts/prerender.ts reads it and writes two
14      kinds of file from it:
15
16        - dist/app.html — this, byte for byte. It is what the `**` rewrite in
17          firebase.json serves, so every route without a file of its own gets
18          exactly what it always got.
19        - dist/index.html, dist/product/<id>/index.html, dist/mcp/index.html,
20          dist/for-builders/index.html — this, with the title, the description,
21          the card tags, a canonical, an og:url and a readable body filled in.
22          Hosting serves a matching static file before it applies a rewrite,
23          so those URLs never reach app.html.
24
25      THE FRONT PAGE IS ONE OF THEM NOW, and that is why the split exists. Until
26      it was, dist/index.html was both the home page and the fallback for every
27      other route, so nothing could be written into it that was true of only one
28      URL — and the home page shipped to crawlers as an empty `<div id="root">`.
29      Splitting the fallback out is what lets `/` carry its own canonical, its
30      own ItemList and its own list of the catalogue.
31
32      What is deliberately NOT here: `<link rel="canonical">`. app.html is still
33      served at many routes, so a canonical baked in here would tell Google that
34      /communities is the home page — not a missing optimisation, a request to
35      drop those pages from search results. The canonical, and the per-page
36      description, are set per route by src/lib/meta.ts, which Google reads
37      because it renders the page before indexing it.
38
39      What is here and cannot move: the `og:` and `twitter:` tags. Slack, X,
40      LinkedIn and WhatsApp read those and none of them runs JavaScript, so
41      setting them from the bundle would change nothing about a shared link.
42      The HTML has to differ before the bundle exists, which is why listing
43      pages are not served from this file at all.
44
45      SO THE VALUES BELOW ARE THE FALLBACK, NOT THE WHOLE STORY — what the
46      routes with no file of their own get, plus any listing approved since the
47      last deploy, which falls through to the SPA and renders client-side
48      exactly as it always did.
49
50      There is no `<meta name="keywords">`. Google has ignored it since 2009 and
51      Bing treats it as a spam signal; the words that matter are in the title,
52      the description and the page.
53    -->
54    <meta name="description" content="Free Image Compressor, Resizer &amp; Converter Built by Jaydip Patel. On WhatAreYouBuilding.AI." />
55
56    <!-- Pre-launch. Remove both of these at launch, along with public/robots.txt. -->
57
58    <!--
59      The sharing card. `summary_large_image` is the wide one; the small square
60      card is what you get by omitting it, and it reads as a link somebody did
61      not bother with.
62
63      No `og:url` in this file. It would have to name one URL, and the only
64      honest value for a file served at many paths is none — a shared listing
65      whose card claimed to be the home page would send everyone who clicked it
66      to the home page. Left out, the consumer uses the URL that was actually
67      shared. The prerendered pages do set it, the front page included, because
68      each of those is served at exactly one URL and can say which.
69    -->
70    <meta property="og:type" content="website" />
71    <meta property="og:site_name" content="WhatAreYouBuilding.AI" />
72    <meta property="og:title" content="ImgKit: Free Image Compressor, Resizer &amp; Converter — WhatAreYouBuilding.AI" />
73    <meta property="og:description" content="Free Image Compressor, Resizer &amp; Converter Built by Jaydip Patel. On WhatAreYouBuilding.AI." />
74    <meta property="og:image" content="https://whatareyoubuilding.ai/og/product/kImkv9NdlMH21fnwmwYY.png" />
75    <meta property="og:image:width" content="1200" />
76    <meta property="og:image:height" content="630" />
77    <meta property="og:image:alt" content="ImgKit: Free Image Compressor, Resizer &amp; Converter on WhatAreYouBuilding.AI" />
78    <meta property="og:locale" content="en_US" />
79
80    <meta name="twitter:card" content="summary_large_image" />
81    <meta name="twitter:title" content="ImgKit: Free Image Compressor, Resizer &amp; Converter — WhatAreYouBuilding.AI" />
82    <meta name="twitter:description" content="Free Image Compressor, Resizer &amp; Converter Built by Jaydip Patel. On WhatAreYouBuilding.AI." />
83    <meta name="twitter:image" content="https://whatareyoubuilding.ai/og/product/kImkv9NdlMH21fnwmwYY.png" />
84    <!-- The person behind it, not a brand account: there is no brand account,
85         and inventing a handle in a meta tag is a broken link with a byline. -->
86    <!--
87      `twitter:site` is the account the CARD is attributed to, and `creator` is
88      the byline. They are different accounts here on purpose: the directory
89      posts as @whatrubuilding and is built by @netadror.
90    -->
91    <meta name="twitter:site" content="@whatrubuilding" />
92    <meta name="twitter:creator" content="@netadror" />
93    <!--
94      TWO FAMILIES, AND A THIRD WAS TRIED AND SENT BACK.
95
96      Instrument Sans is the interface. Instrument Serif is the editorial voice:
97      the wordmark, every page title, every section head. It ships ONE WEIGHT —
98      `ital@0;1` is all Google has of it, there is no weight axis — which is why
99      `font-weight: 600` anywhere near it produces a synthesised smear rather
100      than a bolder face.
101
102      Newsreader was loaded here for one afternoon on 2026-09-13, because the
103      SEO template's headings wanted real weight and the serif could not give
104      it. She looked at it and preferred the sans, which has a true 700 already
105      in this request and is the more readable of the two at heading size. So
106      those headings are sans and there is no third family to fetch.
107    -->
108    <!--
109      SELF-HOSTED SINCE 2026-09-16, from public/fonts/. The Google Fonts
110      stylesheet was a render-blocking request to a second origin (780ms in a
111      PageSpeed run), and then a third origin for the files. These are the
112      same files Google served for that exact request (latin and latin-ext
113      subsets, the sans's full 400-700 axis), under the SIL Open Font License,
114      so the rendering is unchanged. The @font-face rules are inline so the
115      browser knows about them without waiting for any stylesheet, and the two
116      faces the first screen uses are preloaded. File names carry Google's
117      version, and /fonts/** is cached as immutable, so a new version is a new
118      file name.
119    -->
120    <link rel="preload" href="/fonts/instrument-sans-normal-latin-v4.woff2" as="font" type="font/woff2" crossorigin />
121    <link rel="preload" href="/fonts/instrument-serif-normal-latin-v5.woff2" as="font" type="font/woff2" crossorigin />
122    <style>
123      @font-face {
124        font-family: 'Instrument Sans';
125        font-style: italic;
126        font-weight: 400 700;
127        font-display: swap;
128        src: url(/fonts/instrument-sans-italic-latin-ext-v4.woff2) format('woff2');
129        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
130      }
131      @font-face {
132        font-family: 'Instrument Sans';
133        font-style: italic;
134        font-weight: 400 700;
135        font-display: swap;
136        src: url(/fonts/instrument-sans-italic-latin-v4.woff2) format('woff2');
137        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
138      }
139      @font-face {
140        font-family: 'Instrument Sans';
141        font-style: normal;
142        font-weight: 400 700;
143        font-display: swap;
144        src: url(/fonts/instrument-sans-normal-latin-ext-v4.woff2) format('woff2');
145        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
145BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
146      }
147      @font-face {
148        font-family: 'Instrument Sans';
149        font-style: normal;
150        font-weight: 400 700;
151        font-display: swap;
152        src: url(/fonts/instrument-sans-normal-latin-v4.woff2) format('woff2');
153        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
154      }
155      @font-face {
156        font-family: 'Instrument Serif';
157        font-style: italic;
158        font-weight: 400;
159        font-display: swap;
160        src: url(/fonts/instrument-serif-italic-latin-ext-v5.woff2) format('woff2');
161        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
162      }
163      @font-face {
164        font-family: 'Instrument Serif';
165        font-style: italic;
166        font-weight: 400;
167        font-display: swap;
168        src: url(/fonts/instrument-serif-italic-latin-v5.woff2) format('woff2');
169        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
170      }
171      @font-face {
172        font-family: 'Instrument Serif';
173        font-style: normal;
174        font-weight: 400;
175        font-display: swap;
176        src: url(/fonts/instrument-serif-normal-latin-ext-v5.woff2) format('woff2');
177        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
178      }
179      @font-face {
180        font-family: 'Instrument Serif';
181        font-style: normal;
182        font-weight: 400;
183        font-display: swap;
184        src: url(/fonts/instrument-serif-normal-latin-v5.woff2) format('woff2');
185        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
186      }
187    </style>
188    <title>ImgKit: Free Image Compressor, Resizer &amp; Converter — WhatAreYouBuilding.AI</title>
189
190    <!--
191      Who and what the site is, for the knowledge panel and for anything that
192      reads structured data without running the bundle. Per-page structured
193      data — the listing, the directory as an ItemList — is added per route by
194      src/lib/meta.ts.
195
196      `SearchAction` names a real, working URL: `/?q=` is the query the filter
197      bar itself produces, so the search box a result can show is the search
198      the site actually has. A made-up one renders a box that returns nothing.
199    -->
200    
200<script type="application/ld+json">
201      {
202        "@context": "https://schema.org",
203        "@type": "WebSite",
204        "@id": "https://whatareyoubuilding.ai/#website",
205        "name": "WhatAreYouBuilding.AI",
206        "alternateName": "wayb",
207        "url": "https://whatareyoubuilding.ai/",
208        "description": "WhatAreYouBuilding.AI is a free, worldwide directory of what independent builders are shipping — AI, SaaS and dev tools, by country, category and funding stage.",
209        "inLanguage": "en",
210        "potentialAction": {
211          "@type": "SearchAction",
212          "target": {
213            "@type": "EntryPoint",
214            "urlTemplate": "https://whatareyoubuilding.ai/?q={search_term_string}"
215          },
216          "query-input": "required name=search_term_string"
217        }
218      }
219    </script>
219
220    
220<script>
221      // Apply the stored theme before first paint, so someone who chose dark
222      // does not get a light flash on reload.
223      //
224      // `prefers-color-scheme` is deliberately NOT consulted. Light is the
225      // product's default and dark is an opt-in flip, so only an explicit
226      // stored choice produces dark. This must agree with resolveTheme() in
227      // src/lib/theme.ts: if one reads the OS and the other does not, every
228      // dark-preference visitor watches the page flip after first paint.
229      (function () {
230        try {
231          var t = localStorage.getItem('bi:theme');
232          document.documentElement.dataset.theme = t === 'dark' ? 'dark' : 'light';
233        } catch (e) {
234          document.documentElement.dataset.theme = 'light';
235        }
236      })();
237    </script>
237
238    
238<script>
239      // SAY THAT JAVASCRIPT IS RUNNING, BEFORE THE FIRST PAINT.
240      //
241      // `#root` ships with two children on a prerendered page: the crawler's
242      // copy of the content, and a placeholder shaped like the real header and
243      // hero. Exactly one is ever seen — see `.boot-seo` / `.boot-splash` in
244      // app.css, and `bootSplash()` in src/lib/prerender.ts.
245      //
246      // Without this the prerendered body — a heading and a list of every
247      // listing in the directory — painted unstyled for the half second before
248      // React mounted and wiped it, which read as a broken page and cost a
249      // large layout shift on every load.
250      //
251      // IT MUST STAY A SYNCHRONOUS SCRIPT IN THE HEAD. Deferred, async, or
252      // moved into the bundle, it runs after the first paint and the flash it
253      // exists to prevent happens anyway.
254      document.documentElement.dataset.boot = 'js';
255    </script>
255
256    
256<script>
257      // Google Consent Mode v2, denied by default, declared before anything
258      // that could load gtag.js. Firebase Analytics reuses an existing
259      // window.gtag / window.dataLayer rather than replacing them, so this
260      // default is still in force when it configures the measurement ID.
261      //
262      // It is the second lock, not the first: src/lib/analytics does not call
263      // getAnalytics() at all until consent is granted, so on an undecided or
264      // declined visit gtag.js is never fetched. This is what catches anything
265      // that ever loads it by another route.
266      (function () {
267        window.dataLayer = window.dataLayer || [];
268        window.gtag =
269          window.gtag ||
270          function () {
271            window.dataLayer.push(arguments);
272          };
273        window.gtag('consent', 'default', {
274          analytics_storage: 'denied',
275          ad_storage: 'denied',
276          ad_user_data: 'denied',
277          ad_personalization: 'denied'
278        });
279      })();
280    </script>
280
281    
281<script type="module" crossorigin src="/assets/index-C4E0xGvw.js"></script>
281
282    <link rel="stylesheet" crossorigin href="/assets/index-CN5-0dbE.css">
283      <link rel="canonical" href="https://whatareyoubuilding.ai/product/kImkv9NdlMH21fnwmwYY" />
284    <meta property="og:url" content="https://whatareyoubuilding.ai/product/kImkv9NdlMH21fnwmwYY" />
285    
285<script type="application/ld+json" id="route-jsonld">[{"@context":"https://schema.org","@type":"SoftwareApplication","name":"ImgKit","description":"ImgKit is a static website with no backend. Every tool reads the file you choose with the browser's own File API, does the work on the page using Canvas, WebAssembly and WebGPU, and hands you the result. There is no upload endpoint, no storage bucket, no account and no watermark.","applicationCategory":"Design","url":"https://whatareyoubuilding.ai/product/kImkv9NdlMH21fnwmwYY","sameAs":["https://imgkit.xyz"],"author":{"@type":"Person","name":"Jaydip Patel"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://whatareyoubuilding.ai/","position":1},{"@type":"ListItem","name":"Design","item":"https://whatareyoubuilding.ai/design-products","position":2},{"@type":"ListItem","name":"ImgKit","item":"https://whatareyoubuilding.ai/product/kImkv9NdlMH21fnwmwYY","position":3}]}]</script>
285
286  </head>
287  <body>
288    <div id="root"><div class="boot-seo"><main><div class="shell"><article><h1 dir="auto">ImgKit</h1><p dir="auto">Free Image Compressor, Resizer &amp; Converter</p><p dir="auto">ImgKit is a static website with no backend. Every tool reads the file you choose with the browser&#39;s own File API, does the work on the page using Canvas, WebAssembly and WebGPU, and hands you the result. There is no upload endpoint, no storage bucket, no account and no watermark.</p><p>Built by Jaydip Patel.</p><dl><dt>Category</dt><dd>Design</dd><dt>Location</dt><dd>India</dd><dt>Funding stage</dt><dd>Not disclosed</dd></dl><p><a href="https://imgkit.xyz/?utm_source=whatareyoubuilding.ai&amp;utm_medium=listing&amp;utm_campaign=directory&amp;utm_content=kImkv9NdlMH21fnwmwYY" target="_blank" rel="noopener">imgkit.xyz</a></p><h2>More Design products from India</h2><ul><li><a href="/product/LgyGdOSzjL8DBKMktq4l">cuedesign</a></li><li><a href="/product/4NEvAGO8veA1vQtrj7l8">Design Index</a></li><li><a href="/product/9fUFo7pwFSjZ8XXiCxQM">Aether Gallery</a></li><li><a href="/product/pFQqFbpMSQxfg96uJe0o">ArchBuilder Blender Addon</a></li><li><a href="/product/ROWT7ftNWy0NChjlYj89">Designer&#39;s Little Helper</a></li></ul><p><a href="/">More builders on WhatAreYouBuilding.AI</a></p></article></div></main>
289      <footer><nav aria-label="Directory">
290        <a href="/">Browse the directory</a>
291        <a href="/builders">The builders behind the products</a>
292        <a href="/for-builders">Why list your product</a>
293        <a href="/submit">Submit a product</a>
294        <a href="/communities">Builder communities</a>
295        <a href="/investors">For investors</a>
296        <a href="/mcp">API and MCP for agents</a>
297        <a href="/guides">Guides for builders</a>
298        <a href="/llms-txt-checker">Check if AI can read your site</a>
299      </nav></footer></div><div class="boot-splash" aria-hidden="true"><header class="topbar"><div class="topbar__inner"><span class="wordmark">wayb</span></div></header><div class="main"><div class="shell"><div></div><div class="shell__content"><section class="hero hero--index"><p class="voice hero__mark">WhatAreYouBuilding.AI</p><p class="hero__line">a worldwide directory of what independent builders are shipping.</p></section></div><div></div></div></div></div></div>
299<script type="application/json" id="boot-product-context">{"id":"kImkv9NdlMH21fnwmwYY","builderSlug":"jaydip-patel-kimkv9","categoryHub":"/design-products","related":[{"id":"A4nL97CV6j8RgsBKxJ6r","name":"Portfolio Frame","oneLiner":"Screenshot & code mockup editor for Chrome","websiteUrl":"https://portfolioframe.com/","logoUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/listings%2F7J0pyr9bmMVvpcA9ai7DbYShMJp1%2Flogo-e68ad8d7740e4b80b2f00170.webp?alt=media&token=8785e688-33c0-40d1-bd26-82e20c2b36da","markUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/marks%2FA4nL97CV6j8RgsBKxJ6r.webp?alt=media&token=ae05cff9-7ec2-4822-8273-0de516995c1f","markLogo":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/listings%2F7J0pyr9bmMVvpcA9ai7DbYShMJp1%2Flogo-e68ad8d7740e4b80b2f00170.webp?alt=media&token=8785e688-33c0-40d1-bd26-82e20c2b36da","category":"Design","region":"Global","city":null,"fundingStage":"undisclosed","activelyRaising":null,"openTo":["beta-users"],"mrr":null,"verified":false,"claimedByUid":null,"approved":true,"stats":{"impressions":1,"clicks":0,"shares":1,"referrals":0,"upvotes":1},"leaderboard":{"weekKey":"2026-W39","rank":null,"rankChange":null,"velocity":null,"streakWeeks":0,"streakDays":0,"topMoverWeeks":[],"gains":{"day":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"week":{"impressions":null,"clicks":null,"shares":null,"referrals":null,"upvotes":null},"month":{"impressions":null,"clicks":null,"shares":null,"referrals":null,"upvotes":null}}},"builder":{"name":"buildwithsud","avatarUrl":null,"region":"Global","socials":{"x":{"handle":"buildwithsud"}},"photoUrl":"https://unavatar.io/x/buildwithsud?fallback=false","photoCopyUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/photos%2Fx%2Fbuildwithsud.jpg?alt=media"},"createdAt":"2026-09-22T07:32:06.908Z","updatedAt":"2026-09-22T07:32:17.227Z"},{"id":"oeSugvpoAiMNzIh7TbLJ","name":"Matrix Desktop","oneLiner":"Live Matrix digital rain wallpaper and screensaver for Mac.","websiteUrl":"https://matrix.watch/","logoUrl":null,"markUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/marks%2FoeSugvpoAiMNzIh7TbLJ.webp?alt=media&token=09602b93-2270-4047-b264-2c68466b4393","markLogo":null,"category":"Design","region":"United States","city":null,"fundingStage":"bootstrapped","activelyRaising":null,"openTo":[],"mrr":null,"verified":false,"claimedByUid":null,"approved":true,"stats":{"impressions":1,"clicks":0,"shares":0,"referrals":0,"upvotes":1},"leaderboard":{"weekKey":"2026-W39","rank":null,"rankChange":null,"velocity":0,"streakWeeks":0,"streakDays":0,"topMoverWeeks":[],"gains":{"day":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"week":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"month":{"impressions":null,"clicks":null,"shares":null,"referrals":null,"upvotes":null}}},"builder":{"name":"Chris Doyle","avatarUrl":null,"region":"United States","socials":{"x":{"handle":"djfunboy"}},"photoUrl":"https://unavatar.io/x/djfunboy?fallback=false","photoCopyUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/photos%2Fx%2Fdjfunboy.jpg?alt=media"},"createdAt":"2026-09-19T17:37:43.259Z","updatedAt":"2026-09-19T17:40:11.677Z"},{"id":"yrPv8kprvXXD05LVmLqs","name":"Vagalumes","oneLiner":"A night sky of 413 fireflies, one for each Nova victim, kept glowing by memory.","websiteUrl":"https://vagalumes.co.il/","logoUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/listings%2FVqJLaO4nI4eCylgwp5CoeWLqRcZ2%2Flogo-25690c23621a4ee088fc10e0.webp?alt=media&token=8de6a795-e8e2-4c3e-9fb5-ed7ee4c7b716","markUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/marks%2FyrPv8kprvXXD05LVmLqs.webp?alt=media&token=8e38d27c-88da-4921-9cf7-5a0652ab7f9d","markLogo":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/listings%2FVqJLaO4nI4eCylgwp5CoeWLqRcZ2%2Flogo-25690c23621a4ee088fc10e0.webp?alt=media&token=8de6a795-e8e2-4c3e-9fb5-ed7ee4c7b716","category":"Design","region":"Germany","city":null,"fundingStage":"bootstrapped","activelyRaising":null,"openTo":[],"mrr":null,"verified":false,"claimedByUid":null,"approved":true,"stats":{"impressions":8,"clicks":2,"shares":0,"referrals":0,"upvotes":2},"leaderboard":{"weekKey":"2026-W39","rank":163,"rankChange":-7,"velocity":0,"streakWeeks":0,"streakDays":0,"topMoverWeeks":[],"gains":{"day":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"week":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"month":{"impressions":null,"clicks":null,"shares":null,"referrals":null,"upvotes":null}}},"builder":{"name":"Hagara Ben","avatarUrl":null,"region":"Germany","socials":{},"photoUrl":null,"photoCopyUrl":null},"createdAt":"2026-09-15T15:54:56.283Z","updatedAt":"2026-09-18T18:14:19.892Z"},{"id":"P1P4x0hs3rAuXq0Xbamv","name":"The Robot and Me","oneLiner":"What happens in the room when a de
299signer and a machine actually work together.","websiteUrl":"https://therobotand.me","logoUrl":null,"markUrl":"https://firebasestorage.googleapis.com/v0/b/builders-directory-app.firebasestorage.app/o/marks%2FP1P4x0hs3rAuXq0Xbamv.webp?alt=media&token=f4b8e9de-8f27-4293-9b8b-39b19a321eae","markLogo":null,"category":"Design","region":"Germany","city":null,"fundingStage":"bootstrapped","activelyRaising":null,"openTo":["investment","hiring","partnerships"],"mrr":null,"verified":false,"claimedByUid":null,"approved":true,"stats":{"impressions":3,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"leaderboard":{"weekKey":"2026-W39","rank":null,"rankChange":null,"velocity":0,"streakWeeks":0,"streakDays":0,"topMoverWeeks":[],"gains":{"day":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"week":{"impressions":0,"clicks":0,"shares":0,"referrals":0,"upvotes":0},"month":{"impressions":null,"clicks":null,"shares":null,"referrals":null,"upvotes":null}}},"builder":{"name":"Hagara Ben","avatarUrl":null,"region":"Germany","socials":{},"photoUrl":null,"photoCopyUrl":null},"createdAt":"2026-09-15T15:46:08.348Z","updatedAt":"2026-09-15T15:46:13.251Z"}],"byBuilder":[]}</script>
299
300  </body>
301</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.