<?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>Forem: Kaustubh Kushwaha</title>
    <description>The latest articles on Forem by Kaustubh Kushwaha (@kaustubh-420).</description>
    <link>https://forem.com/kaustubh-420</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%2F1683770%2F50ba123d-14b9-4947-961d-869bd556a042.png</url>
      <title>Forem: Kaustubh Kushwaha</title>
      <link>https://forem.com/kaustubh-420</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kaustubh-420"/>
    <language>en</language>
    <item>
      <title>Maps are easy. Map UIs are not.</title>
      <dc:creator>Kaustubh Kushwaha</dc:creator>
      <pubDate>Tue, 06 Jan 2026 19:04:28 +0000</pubDate>
      <link>https://forem.com/kaustubh-420/maps-are-easy-map-uis-are-not-2of1</link>
      <guid>https://forem.com/kaustubh-420/maps-are-easy-map-uis-are-not-2of1</guid>
      <description>&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%2Ftp0lrriabv5rqkuu7392.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%2Ftp0lrriabv5rqkuu7392.png" alt="EasyMaps world map dark mode" width="800" height="383"&gt;&lt;/a&gt;&lt;br&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%2F3yv3bixdmjg2rlao74jg.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%2F3yv3bixdmjg2rlao74jg.png" alt="EasyMaps satellite route UI" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most map libraries solve rendering.&lt;br&gt;&lt;br&gt;
Very few solve product UI.&lt;/p&gt;

&lt;p&gt;I’ve used maps in dashboards, tools, and internal products —&lt;br&gt;&lt;br&gt;
and every time, the pain wasn’t the map itself.&lt;/p&gt;

&lt;p&gt;It was everything around it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;markers that don’t match the design system
&lt;/li&gt;
&lt;li&gt;side panels that feel hacked together
&lt;/li&gt;
&lt;li&gt;filters, overlays, legends, states — all custom every time
&lt;/li&gt;
&lt;li&gt;styling conflicts between the map and UI components
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result?&lt;br&gt;&lt;br&gt;
You rebuild the same map UI patterns again and again.&lt;/p&gt;

&lt;p&gt;The problem isn’t Leaflet, Mapbox, or Google Maps.&lt;br&gt;&lt;br&gt;
They do their job well.&lt;/p&gt;

&lt;p&gt;The problem is that they stop at “map primitives”,&lt;br&gt;&lt;br&gt;
while real products need opinionated UI composition.&lt;/p&gt;

&lt;p&gt;After repeating this cycle a few times, I decided to stop rewriting the same code.&lt;/p&gt;

&lt;p&gt;I started building a small, composable UI kit for maps —&lt;br&gt;&lt;br&gt;
in the same spirit as shadcn/ui, but focused on map-heavy products.&lt;/p&gt;

&lt;p&gt;The goal wasn’t to replace map libraries.&lt;br&gt;&lt;br&gt;
It was to make map UIs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;predictable
&lt;/li&gt;
&lt;li&gt;design-system friendly
&lt;/li&gt;
&lt;li&gt;fast to assemble
&lt;/li&gt;
&lt;li&gt;less painful to maintain
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s still early, but the experience already feels different —&lt;br&gt;&lt;br&gt;
more like assembling a product, less like fighting CSS and state.&lt;/p&gt;

&lt;p&gt;If you’ve built dashboards, logistics tools, real-estate apps,&lt;br&gt;&lt;br&gt;
or anything where maps are core —&lt;br&gt;&lt;br&gt;
you probably know this pain.&lt;/p&gt;

&lt;p&gt;I’m calling it EasyMaps.&lt;/p&gt;

&lt;p&gt;Link (for those curious):&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://easymaps.vercel.app/" rel="noopener noreferrer"&gt;https://easymaps.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear how others are handling map UI complexity today.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>frontend</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
