<?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: Janis K</title>
    <description>The latest articles on DEV Community by Janis K (@janis-k).</description>
    <link>https://dev.to/janis-k</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%2F3127161%2F13b4833e-cea5-49eb-be1f-4cc54ed63282.jpg</url>
      <title>DEV Community: Janis K</title>
      <link>https://dev.to/janis-k</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/janis-k"/>
    <language>en</language>
    <item>
      <title>Free vs Paid Vector Map Tiles: When to Use OpenFreeMap, Self-Host, or Choose OGMAP</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Sat, 11 Jul 2026 20:05:19 +0000</pubDate>
      <link>https://dev.to/janis-k/free-vs-paid-vector-map-tiles-when-to-use-openfreemap-self-host-or-choose-ogmap-4hg5</link>
      <guid>https://dev.to/janis-k/free-vs-paid-vector-map-tiles-when-to-use-openfreemap-self-host-or-choose-ogmap-4hg5</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvincke84xpz7exsi9kyg.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvincke84xpz7exsi9kyg.png" alt=" " width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you only need basic &lt;strong&gt;PBF or MVT vector map tiles&lt;/strong&gt;, what is the cheapest practical option?&lt;/p&gt;

&lt;p&gt;The honest answer depends on what you are building.&lt;/p&gt;

&lt;p&gt;A completely free public service may be perfect for a prototype or hobby project. Self-hosting can provide maximum control. A low-cost paid API can be the simplest choice when you want a production map without maintaining map infrastructure yourself.&lt;/p&gt;

&lt;p&gt;These are three different categories, and they should not be compared as though they offer the same thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: Use a Free Public Vector Tile Service
&lt;/h2&gt;

&lt;p&gt;A public service such as &lt;a href="https://openfreemap.org/" rel="noopener noreferrer"&gt;OpenFreeMap&lt;/a&gt; can provide OpenStreetMap-based vector tiles without registration, API keys, or direct usage fees.&lt;/p&gt;

&lt;p&gt;For many projects, this may be all you need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose a free public service when:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You are building a prototype, demo, student project, or hobby app.&lt;/li&gt;
&lt;li&gt;The map is useful but not business-critical.&lt;/li&gt;
&lt;li&gt;You can replace the tile source later if necessary.&lt;/li&gt;
&lt;li&gt;You do not need API-key restrictions, prepaid credits, or account-level controls.&lt;/li&gt;
&lt;li&gt;Your main priority is paying nothing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free does not automatically mean bad or unreliable. A well-run public service can be an excellent choice, especially while validating a new idea.&lt;/p&gt;

&lt;p&gt;However, the direct price is not the only consideration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Possible disadvantages of a free public service
&lt;/h3&gt;

&lt;h4&gt;
  
  
  There is no paid service relationship
&lt;/h4&gt;

&lt;p&gt;You are using a shared public resource rather than purchasing a commercial service dedicated to customers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Policies may change
&lt;/h4&gt;

&lt;p&gt;A free service may later introduce fair-use limits, technical restrictions, or other changes as its traffic and infrastructure costs increase.&lt;/p&gt;

&lt;h4&gt;
  
  
  There are fewer account-level controls
&lt;/h4&gt;

&lt;p&gt;A service without accounts or API keys cannot provide the same per-key domain restrictions, credit balances, usage limits, or billing controls.&lt;/p&gt;

&lt;h4&gt;
  
  
  You are responsible for having a fallback
&lt;/h4&gt;

&lt;p&gt;If your map is important to your product, you should know how quickly you could switch to another provider.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If your product can tolerate changing the tile URL later, starting with a free public service is completely reasonable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Option 2: Self-Host PMTiles
&lt;/h2&gt;

&lt;p&gt;Self-hosting gives you maximum control over your map data and infrastructure.&lt;/p&gt;

&lt;p&gt;PMTiles stores an entire tile pyramid in a single archive. The file can be placed on object storage and accessed using HTTP range requests, often without running a traditional dynamic tile server.&lt;/p&gt;

&lt;p&gt;This can be a very efficient solution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose self-hosting when:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You want full control over the map data and hosting environment.&lt;/li&gt;
&lt;li&gt;You are comfortable managing object storage, CDN settings, caching, and CORS.&lt;/li&gt;
&lt;li&gt;You only need a specific country or region.&lt;/li&gt;
&lt;li&gt;You need custom map data or a specialized update process.&lt;/li&gt;
&lt;li&gt;Your traffic is large enough to justify managing your own infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Self-hosting can be inexpensive in direct hosting costs, but it is not the same as doing nothing.&lt;/p&gt;

&lt;p&gt;Someone still needs to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find, download, or generate the correct map dataset.&lt;/li&gt;
&lt;li&gt;Store and distribute large map archives.&lt;/li&gt;
&lt;li&gt;Configure caching, CORS, and access rules.&lt;/li&gt;
&lt;li&gt;Update OpenStreetMap data when newer maps are required.&lt;/li&gt;
&lt;li&gt;Monitor the setup and fix infrastructure problems.&lt;/li&gt;
&lt;li&gt;Maintain map styles, sprites, fonts, and frontend integration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a developer who enjoys infrastructure or needs complete control, this can be the best option.&lt;/p&gt;

&lt;p&gt;For a small team that simply needs a working basemap, the engineering time may cost more than the tiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 3: Use a Paid Hosted PBF API
&lt;/h2&gt;

&lt;p&gt;A paid hosted service sits between a free public instance and self-hosting.&lt;/p&gt;

&lt;p&gt;You still use an external provider, but the service is built around account-based usage, predictable billing, access controls, and continued commercial operation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose a paid hosted API when:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The map is part of a real production product.&lt;/li&gt;
&lt;li&gt;You do not want to maintain tile infrastructure yourself.&lt;/li&gt;
&lt;li&gt;You want API keys and domain or IP restrictions.&lt;/li&gt;
&lt;li&gt;You prefer predictable prepaid costs.&lt;/li&gt;
&lt;li&gt;You only need vector tiles and do not want to pay for a large location-services platform.&lt;/li&gt;
&lt;li&gt;Spending a few dollars is easier than managing a large map dataset.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where OGMAP fits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where OGMAP Fits
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ogmap.com/" rel="noopener noreferrer"&gt;OGMAP&lt;/a&gt; is intentionally a basic, tiles-only service.&lt;/p&gt;

&lt;p&gt;It provides hosted OpenStreetMap vector tiles through standard &lt;code&gt;.pbf&lt;/code&gt; endpoints, MapLibre-ready styles, and global delivery through Cloudflare.&lt;/p&gt;

&lt;p&gt;The product is designed for developers who need a basic vector basemap but do not need geocoding, routing, satellite imagery, or a large enterprise mapping platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Current OGMAP pricing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;250,000 free tile requests&lt;/strong&gt; after signup&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$5 for 500,000&lt;/strong&gt; additional tiles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$10 for 1,000,000&lt;/strong&gt; additional tiles&lt;/li&gt;
&lt;li&gt;No required monthly subscription&lt;/li&gt;
&lt;li&gt;Optional Stripe automatic top-ups&lt;/li&gt;
&lt;li&gt;Prepaid credits and account safety limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In our comparison with major paid map providers, OGMAP was the lowest-cost paid hosted option for basic PBF tile delivery.&lt;/p&gt;

&lt;p&gt;Read the full price comparison:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ogmap.com/index.php?nr=2&amp;amp;tab=blog&amp;amp;title=The-Cheapest-Map-Tiles-API-Why-OGMAP-Beats-Mapbox-Google-Maps-Others-2025-Price-Comparison" rel="noopener noreferrer"&gt;The Cheapest Map Tiles API — OGMAP vs Mapbox, Google Maps &amp;amp; Others&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What OGMAP Does Not Provide
&lt;/h2&gt;

&lt;p&gt;OGMAP is not intended to replace a complete location-services platform.&lt;/p&gt;

&lt;p&gt;Choose a larger provider if you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Address search or geocoding&lt;/li&gt;
&lt;li&gt;Routing and turn-by-turn directions&lt;/li&gt;
&lt;li&gt;Satellite imagery&lt;/li&gt;
&lt;li&gt;Advanced location analytics&lt;/li&gt;
&lt;li&gt;A complete enterprise location-services suite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The narrow focus is intentional.&lt;/p&gt;

&lt;p&gt;If you only need a basic vector basemap, you do not necessarily need to pay for a platform full of features you will never use.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Simple Decision Guide
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Use OpenFreeMap or another free public service if:
&lt;/h3&gt;

&lt;p&gt;You want the lowest possible price, your project can tolerate switching providers later, and you do not need account-level access or billing controls.&lt;/p&gt;

&lt;h3&gt;
  
  
  Self-host PMTiles if:
&lt;/h3&gt;

&lt;p&gt;You want maximum control, are comfortable managing the infrastructure, and the flexibility or scale justifies the engineering work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use OGMAP if:
&lt;/h3&gt;

&lt;p&gt;You want a low-cost paid production service, need only standard hosted PBF tiles, and would rather spend a few dollars than maintain map infrastructure yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free Is Cheapest. Paid Can Still Be Better Value
&lt;/h2&gt;

&lt;p&gt;A free public tile service wins on direct price.&lt;/p&gt;

&lt;p&gt;Self-hosting wins on control.&lt;/p&gt;

&lt;p&gt;A paid hosted service wins when operational simplicity, predictable usage controls, and your development time matter more than reducing the tile bill all the way to zero.&lt;/p&gt;

&lt;p&gt;OGMAP is designed for that third case: developers who want basic hosted PBF tiles without an expensive subscription, surprise invoices, or the work of hosting a large map dataset themselves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ogmap.com/index.php?tab=register" rel="noopener noreferrer"&gt;Try OGMAP free&lt;/a&gt; with &lt;strong&gt;250,000 PBF tile requests&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>map</category>
      <category>web</category>
      <category>mapapi</category>
    </item>
    <item>
      <title>I Built a Step-by-Step Creative Coding Course With 650+ Micro Challenges</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Wed, 08 Jul 2026 13:49:25 +0000</pubDate>
      <link>https://dev.to/janis-k/i-built-a-step-by-step-creative-coding-course-with-650-micro-challenges-4egk</link>
      <guid>https://dev.to/janis-k/i-built-a-step-by-step-creative-coding-course-with-650-micro-challenges-4egk</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4fg1qag609zqqokjiqlb.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4fg1qag609zqqokjiqlb.png" alt=" " width="800" height="532"&gt;&lt;/a&gt;&lt;br&gt;
Why I believe creative coding should be taught through small visual experiments, not giant code dumps.&lt;/p&gt;

&lt;p&gt;A few months ago, I wrote about an idea I was working on:&lt;/p&gt;

&lt;p&gt;A complete path into creative coding, built from tiny hands-on challenges.&lt;/p&gt;

&lt;p&gt;Not another collection of disconnected tutorials.&lt;/p&gt;

&lt;p&gt;Not a gallery of impressive effects that beginners can copy without understanding.&lt;/p&gt;

&lt;p&gt;A structured journey that starts from the very beginning and gradually leads toward generative art, simulations, artificial life, computer vision and 3D worlds.&lt;/p&gt;

&lt;p&gt;That idea has now become &lt;a href="https://artcodinglab.com" rel="noopener noreferrer"&gt;Art Coding Lab&lt;/a&gt;, and it is finally live.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with many coding tutorials
&lt;/h2&gt;

&lt;p&gt;Creative coding is often introduced through the final result.&lt;/p&gt;

&lt;p&gt;You see a beautiful generative artwork, an animated particle system or an interactive visual experiment.&lt;/p&gt;

&lt;p&gt;Then you open the tutorial.&lt;/p&gt;

&lt;p&gt;There is a large block of code.&lt;/p&gt;

&lt;p&gt;You copy it.&lt;/p&gt;

&lt;p&gt;Something appears on the screen.&lt;/p&gt;

&lt;p&gt;But you may still have no idea why it works.&lt;/p&gt;

&lt;p&gt;This is not because the learner is incapable of understanding it.&lt;/p&gt;

&lt;p&gt;Usually, too many steps were skipped.&lt;/p&gt;

&lt;p&gt;Someone who has been programming for years may see variables, loops, arrays and functions as obvious building blocks. A beginner sees several unfamiliar ideas introduced at the same time.&lt;/p&gt;

&lt;p&gt;Once those ideas become tangled together, it becomes difficult to know what to change, what caused the result or where an error came from.&lt;/p&gt;

&lt;p&gt;Long theory-first lessons can create the opposite problem.&lt;/p&gt;

&lt;p&gt;You spend a long time reading about syntax before creating anything interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  I wanted to find a middle ground:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Explain one small idea. Use it immediately. See the result. Then continue.&lt;/strong&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0yqys4cs188er0fmeueh.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0yqys4cs188er0fmeueh.png" alt=" " width="799" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning through micro challenges
&lt;/h2&gt;

&lt;p&gt;Art Coding Lab is built around micro challenges.&lt;/p&gt;

&lt;p&gt;Each challenge asks the learner to make one small change:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add a shape&lt;/li&gt;
&lt;li&gt;Change a coordinate&lt;/li&gt;
&lt;li&gt;Create a variable&lt;/li&gt;
&lt;li&gt;Modify a loop&lt;/li&gt;
&lt;li&gt;Animate a value&lt;/li&gt;
&lt;li&gt;Connect movement to the mouse&lt;/li&gt;
&lt;li&gt;Adjust the frequency of a wave&lt;/li&gt;
&lt;li&gt;Change the behavior of a particle system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You write or modify a small piece of code, press Play and immediately see what happened.&lt;/p&gt;

&lt;p&gt;Then the next challenge builds on what you just learned.&lt;/p&gt;

&lt;p&gt;The loop is simple:&lt;/p&gt;

&lt;h2&gt;
  
  
  Read. Change. Run. Observe. Continue.
&lt;/h2&gt;

&lt;p&gt;A single task may feel almost too small.&lt;/p&gt;

&lt;p&gt;But that is intentional.&lt;/p&gt;

&lt;p&gt;The goal is to avoid the moment where five new concepts appear at once and the learner no longer knows which part does what.&lt;/p&gt;

&lt;p&gt;One small challenge may not feel dramatic. Hundreds of connected challenges can take someone from their first line of code to surprisingly advanced visual systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  One connected path instead of random tutorials
&lt;/h2&gt;

&lt;p&gt;There are already thousands of excellent creative coding tutorials online.&lt;/p&gt;

&lt;p&gt;The problem is not a lack of content.&lt;/p&gt;

&lt;p&gt;The problem is often knowing what to learn next.&lt;/p&gt;

&lt;p&gt;A beginner might learn how to draw a circle, then find a tutorial about particle systems, then watch a video about Perlin noise, then encounter vectors, trigonometry or object-oriented programming without understanding the foundations connecting them.&lt;/p&gt;

&lt;p&gt;Each tutorial may be useful on its own.&lt;/p&gt;

&lt;p&gt;Together, they do not necessarily form a curriculum.&lt;/p&gt;

&lt;p&gt;I wanted Art Coding Lab to feel like one long guided journey.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgo6cke31912bfbaj597k.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgo6cke31912bfbaj597k.png" alt=" " width="692" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It begins with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coordinates&lt;/li&gt;
&lt;li&gt;Shapes&lt;/li&gt;
&lt;li&gt;Colors&lt;/li&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;li&gt;Basic animation&lt;/li&gt;
&lt;li&gt;Mouse and keyboard interaction&lt;/li&gt;
&lt;li&gt;Conditions&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It then gradually moves into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generative patterns&lt;/li&gt;
&lt;li&gt;Trigonometry and wave motion&lt;/li&gt;
&lt;li&gt;Particles and trails&lt;/li&gt;
&lt;li&gt;Vectors and forces&lt;/li&gt;
&lt;li&gt;Simulations&lt;/li&gt;
&lt;li&gt;Artificial life&lt;/li&gt;
&lt;li&gt;Emergent behavior&lt;/li&gt;
&lt;li&gt;Organic systems&lt;/li&gt;
&lt;li&gt;Camera interaction&lt;/li&gt;
&lt;li&gt;Computer vision&lt;/li&gt;
&lt;li&gt;Fake 3D and point clouds&lt;/li&gt;
&lt;li&gt;Morphing 3D objects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The advanced topics are not treated as isolated tricks.&lt;/p&gt;

&lt;p&gt;They grow from ideas introduced earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  The goal is not to memorize syntax
&lt;/h2&gt;

&lt;p&gt;Art Coding Lab uses JavaScript and p5.js, but the goal is not to memorize JavaScript syntax for its own sake.&lt;/p&gt;

&lt;p&gt;The goal is to understand programming by using it to build visual systems.&lt;/p&gt;

&lt;p&gt;A variable is easier to understand when changing it immediately changes the size of a circle.&lt;/p&gt;

&lt;p&gt;A loop becomes less abstract when it creates a visible row of shapes.&lt;/p&gt;

&lt;p&gt;Sine and cosine become more meaningful when they produce a wave, an orbit or an organic movement.&lt;/p&gt;

&lt;p&gt;An array becomes useful when it holds a group of particles moving across the screen.&lt;/p&gt;

&lt;p&gt;The code still matters.&lt;/p&gt;

&lt;p&gt;These are real programming concepts.&lt;/p&gt;

&lt;p&gt;But each concept has an immediate visual consequence.&lt;/p&gt;

&lt;p&gt;That feedback makes experimentation possible.&lt;/p&gt;

&lt;p&gt;You can ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens when I double this value?&lt;/li&gt;
&lt;li&gt;What happens when I reverse the direction?&lt;/li&gt;
&lt;li&gt;What happens when I replace a fixed number with mouse input?&lt;/li&gt;
&lt;li&gt;What happens when every object follows a slightly different rule?&lt;/li&gt;
&lt;li&gt;This is where learning starts to turn into creative work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creative coding can also make math visible
&lt;/h2&gt;

&lt;p&gt;One of the things that excites me most about creative coding is its relationship with mathematics.&lt;/p&gt;

&lt;p&gt;Many people leave school believing they are bad at math.&lt;/p&gt;

&lt;p&gt;Often, they were introduced to formulas before they had any intuitive picture of what those formulas represented.&lt;/p&gt;

&lt;p&gt;Creative coding can reverse that process.&lt;/p&gt;

&lt;p&gt;Instead of beginning with an abstract definition of sine and cosine, you can watch a point move around a circle.&lt;/p&gt;

&lt;p&gt;You can see the values become horizontal and vertical motion.&lt;/p&gt;

&lt;p&gt;You can turn that motion into an orbit, a wave, a spiral or a generative pattern.&lt;/p&gt;

&lt;p&gt;The formula stops being a collection of symbols.&lt;/p&gt;

&lt;p&gt;It becomes behavior.&lt;/p&gt;

&lt;p&gt;The same is true for vectors, angles, probability, interpolation, transformations and many other topics.&lt;/p&gt;

&lt;p&gt;Sometimes a concept becomes understandable only after you can see it move.&lt;/p&gt;

&lt;p&gt;That is why Art Coding Lab also connects guided lessons with visual math explorations, creative labs and complete demo projects.&lt;/p&gt;

&lt;p&gt;The same idea can appear in several contexts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learn it through a guided lesson.&lt;/li&gt;
&lt;li&gt;Experiment with it in a lab.&lt;/li&gt;
&lt;li&gt;See it inside a finished project.&lt;/li&gt;
&lt;li&gt;Explore the underlying math visually.&lt;/li&gt;
&lt;li&gt;Modify it and create something different.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Explaining the steps experts tend to skip
&lt;/h2&gt;

&lt;p&gt;While building the course, I kept returning to one principle:&lt;/p&gt;

&lt;p&gt;Never assume a step is obvious just because it is obvious to the teacher.&lt;/p&gt;

&lt;p&gt;Advanced learners often compress several mental steps into one.&lt;/p&gt;

&lt;p&gt;They can look at a line of code and instantly understand what values are changing, when the code runs and how it affects the final result.&lt;/p&gt;

&lt;p&gt;A beginner cannot yet make those connections automatically.&lt;/p&gt;

&lt;p&gt;That does not mean everything needs a long theoretical explanation.&lt;/p&gt;

&lt;p&gt;Often, a short explanation followed by a carefully designed task is enough.&lt;/p&gt;

&lt;p&gt;The difficult part is identifying the exact point where someone is likely to become confused.&lt;/p&gt;

&lt;p&gt;Why does this variable need to be outside the drawing loop?&lt;/p&gt;

&lt;p&gt;Why does this value reset every frame?&lt;/p&gt;

&lt;p&gt;Why does changing the order of these two lines affect the result?&lt;/p&gt;

&lt;p&gt;Why is the object moving faster than expected?&lt;/p&gt;

&lt;p&gt;Why does an array begin at index zero?&lt;/p&gt;

&lt;p&gt;These details may feel small, but they determine whether a learner feels that programming is understandable or mysterious.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have launched
&lt;/h2&gt;

&lt;p&gt;Art Coding Lab currently includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;65+ structured lessons&lt;/li&gt;
&lt;li&gt;650+ micro challenges&lt;/li&gt;
&lt;li&gt;A complete beginner-to-advanced path&lt;/li&gt;
&lt;li&gt;Creative coding with JavaScript and p5.js&lt;/li&gt;
&lt;li&gt;Creative Labs for open-ended experimentation&lt;/li&gt;
&lt;li&gt;Finished Demo Projects&lt;/li&gt;
&lt;li&gt;Annotated code and learning notes&lt;/li&gt;
&lt;li&gt;Visual Math Explorations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first lesson is free, so anyone can try the learning format before joining the full course.&lt;/p&gt;

&lt;p&gt;There are still many things I want to improve.&lt;/p&gt;

&lt;p&gt;I want to add more projects, more visual explanations, more experiments and more ways for learners to connect concepts across the platform.&lt;/p&gt;

&lt;p&gt;But the complete core path is now live.&lt;/p&gt;

&lt;p&gt;That feels very different from having a prototype or a prelaunch page.&lt;/p&gt;

&lt;p&gt;People can finally begin at the first challenge and follow the journey all the way through.&lt;/p&gt;

&lt;h2&gt;
  
  
  What building it taught me
&lt;/h2&gt;

&lt;p&gt;The biggest lesson was that creating a curriculum is not the same as creating content.&lt;/p&gt;

&lt;p&gt;A tutorial asks:&lt;/p&gt;

&lt;p&gt;Can I explain this project?&lt;/p&gt;

&lt;p&gt;A curriculum asks:&lt;/p&gt;

&lt;p&gt;What must the learner understand before reaching this project?&lt;/p&gt;

&lt;p&gt;And then:&lt;/p&gt;

&lt;p&gt;What must they understand before that?&lt;/p&gt;

&lt;p&gt;You keep moving backward until you reach the smallest possible starting point.&lt;/p&gt;

&lt;p&gt;After that, every lesson needs to prepare the learner for something that comes later.&lt;/p&gt;

&lt;p&gt;This makes the work much slower.&lt;/p&gt;

&lt;p&gt;But it also creates something that a collection of independent tutorials cannot provide: continuity.&lt;/p&gt;

&lt;p&gt;A learner should not constantly wonder whether they missed an important prerequisite.&lt;/p&gt;

&lt;p&gt;They should be able to trust the path.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens next
&lt;/h2&gt;

&lt;p&gt;Launching the course is not the end of the project.&lt;/p&gt;

&lt;p&gt;Now I want to observe where people get stuck.&lt;/p&gt;

&lt;p&gt;Which explanations are unclear?&lt;/p&gt;

&lt;p&gt;Which challenges feel too easy or too large?&lt;/p&gt;

&lt;p&gt;Where does the progression move too quickly?&lt;/p&gt;

&lt;p&gt;What kinds of projects make people want to keep experimenting after the lesson is finished?&lt;/p&gt;

&lt;p&gt;Those answers will shape the next version.&lt;/p&gt;

&lt;p&gt;My long-term goal is to make creative coding feel accessible to people who have never thought of themselves as programmers.&lt;/p&gt;

&lt;p&gt;An adult starting from zero.&lt;/p&gt;

&lt;p&gt;A designer who wants to create interactive work.&lt;/p&gt;

&lt;p&gt;An artist who wants to understand generative systems.&lt;/p&gt;

&lt;p&gt;A student who finds traditional programming lessons dry.&lt;/p&gt;

&lt;p&gt;Someone who was intimidated by mathematics at school.&lt;/p&gt;

&lt;p&gt;Someone who has watched many tutorials but still does not know how to build something independently.&lt;/p&gt;

&lt;p&gt;Creative coding sits in a powerful space between programming, mathematics, design and art.&lt;/p&gt;

&lt;p&gt;It deserves a learning path that makes those connections visible.&lt;/p&gt;

&lt;p&gt;That is what I have tried to build.&lt;/p&gt;

&lt;p&gt;Art Coding Lab is now live at &lt;a href="https://ArtCodingLab.com" rel="noopener noreferrer"&gt;ArtCodingLab.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can explore the curriculum and try the first lesson for free.&lt;/p&gt;

&lt;p&gt;I would especially appreciate feedback from beginners: where does the experience feel clear, and where do you still feel lost?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>learning</category>
      <category>p5js</category>
    </item>
    <item>
      <title>When Failed Startups Become Artworks</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Wed, 24 Jun 2026 19:03:55 +0000</pubDate>
      <link>https://dev.to/janis-k/when-failed-startups-become-artworks-2flk</link>
      <guid>https://dev.to/janis-k/when-failed-startups-become-artworks-2flk</guid>
      <description>&lt;p&gt;When I create my projects at &lt;a href="https://absurd.website/" rel="noopener noreferrer"&gt;Absurd.website&lt;/a&gt; , I do not approach them as jokes, parodies or utopian concepts. I try to build them as realistically as possible - right on the edge of absurdity.&lt;/p&gt;

&lt;p&gt;I want them to feel like they could genuinely become real. In fact, I often want them to become real.&lt;/p&gt;

&lt;p&gt;For me, the line between what is “real” and what is “absurd” is determined by participation. If people begin using an absurd product or service, if they pay for it, believe in it, normalize it - then it becomes real. If nobody participates, it remains an experiment. But even then, it still has value because it expands the boundaries of ideas. That is where art begins for me.&lt;/p&gt;

&lt;p&gt;I build startups, but inside &lt;a href="https://absurd.website/" rel="noopener noreferrer"&gt;Absurd.website&lt;/a&gt;  there are no real failures. Dead startups simply become artworks. Users themselves can reactivate and normalize projects by interacting with them, using them or paying for them.&lt;/p&gt;

&lt;p&gt;The internet is already full of businesses that would have sounded absurd decades ago. Whether something becomes “real” is often determined only by whether people collectively accept and use it.&lt;/p&gt;

&lt;p&gt;Human civilization itself is built this way. Countries, governments, religions, armies, money, fashion, sports industries, music industries, corporations - all of these systems are, in some sense, constructed realities that only function because enough people believe in them.&lt;/p&gt;

&lt;p&gt;I think I am doing the same thing on a smaller scale.&lt;/p&gt;

&lt;p&gt;I play with reality and enjoy participating in its construction.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;Interestingly, creating unrealistic, utopian or even seemingly pointless projects often feels far more meaningful to me than building practical businesses.&lt;/p&gt;

&lt;p&gt;Practical ideas are usually less interesting.&lt;/p&gt;

&lt;p&gt;I prefer exploring unknown conceptual territory, playing with ideas and possibilities rather than solving practical problems for profit.&lt;/p&gt;

&lt;p&gt;I would rather create and sell fantasies than ordinary products.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;Sometimes I even imagine Absurd.website slowly evolving into a strange multi-business holding company where some of these absurd concepts eventually become fully real startups.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;Alongside &lt;a href="https://absurd.website/" rel="noopener noreferrer"&gt;Absurd.website&lt;/a&gt;, I spend my everyday life building more practical internet startups and online businesses. My daily routine consists of generating ideas and trying to realize them.&lt;/p&gt;

&lt;p&gt;But my mind constantly filters many of those ideas through absurdity. Sometimes I invent genuinely practical businesses. Other times the ideas become too strange and drift toward Absurd.website.&lt;/p&gt;

&lt;p&gt;Interestingly, there are also moments when an absurd idea suddenly starts feeling too real to remain inside the Absurd.website ecosystem.&lt;/p&gt;

&lt;p&gt;One example is &lt;a href="https://booktoilet.com/" rel="noopener noreferrer"&gt;Booktoilet.com&lt;/a&gt;. It originally began as an absurd concept - an Airbnb-style platform where people could rent access to their toilets.&lt;/p&gt;

&lt;p&gt;But while developing the idea, I realized it was solving a real problem.&lt;/p&gt;

&lt;p&gt;At one point I seriously considered building it as a practical startup. My idea was to first normalize paid toilet access through cafes and small businesses. People could scan a QR code, pay a small fee and use the restroom without awkward social interaction.&lt;/p&gt;

&lt;p&gt;Later, after people became accustomed to the system, a second layer could be introduced where private apartment owners rented access to their toilets while tourists gained access to a decentralized bathroom network across cities.&lt;/p&gt;

&lt;p&gt;The project never fully worked as a practical startup (validation fail), which is why I am now considering bringing it back into Absurd.website.&lt;/p&gt;

&lt;p&gt;But once it returns there, I would remove the “normalization phase” entirely and present the absurd version immediately: strangers renting access to toilets inside private homes.&lt;br&gt;
I am working to bring this project back into Absurd.website.&lt;/p&gt;

&lt;p&gt;Both sides - the practical startup world and the absurd conceptual world - constantly feed each other and generate new ideas.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;I have never been particularly good at sales.&lt;/p&gt;

&lt;p&gt;I am much more interested in building things.&lt;/p&gt;

&lt;p&gt;I constantly fall into the classic startup trap: “if I build it, they will come.”&lt;/p&gt;

&lt;p&gt;In traditional startup culture, this is considered one of the biggest mistakes possible.&lt;/p&gt;

&lt;p&gt;With Absurd.website, I have intentionally decided to follow that exact strategy.&lt;/p&gt;

&lt;p&gt;I slowly keep building while quietly imagining that one day someone will eventually discover what I have been constructing.&lt;/p&gt;

&lt;p&gt;Sometimes it feels like I am building a cathedral in the desert that nobody has noticed for years. And strangely, part of me feels that the later it gets discovered, the better.&lt;/p&gt;

&lt;p&gt;Most startups want rapid validation. They want to quickly determine whether an idea will survive or fail.&lt;/p&gt;

&lt;p&gt;I move in the opposite direction.&lt;/p&gt;

&lt;p&gt;None of my projects are created with the expectation that they must succeed.&lt;/p&gt;

&lt;p&gt;They are already prepared to die and join my growing graveyard of absurd startups.&lt;/p&gt;

&lt;p&gt;And somehow, together, all those dead projects slowly become one larger thing.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;For me, Absurd.website functions almost like network-based art - a space where I can express myself through the language and medium I naturally use in everyday life: startups, products, systems and internet businesses.&lt;/p&gt;

&lt;p&gt;Because I personally define it as art, I also consciously play with some artistic structures in my own way. I write manifestos, create collector systems and imagine future physical exhibitions.&lt;/p&gt;

&lt;p&gt;At the same time, I rarely feel like a traditional artist because I come from outside the art world and have no formal art background.&lt;/p&gt;

&lt;p&gt;But maybe identity itself works similarly.&lt;/p&gt;

&lt;p&gt;People often become what they repeatedly perform, imitate or construct. First we imagine a version of ourselves. Then we start acting as if we are already that person. Eventually the performance slowly becomes reality.&lt;/p&gt;

&lt;p&gt;I see identities that way.&lt;/p&gt;

&lt;p&gt;But “artist” is still only one of my many parallel identities.&lt;/p&gt;

&lt;p&gt;The same thing happens inside my projects.&lt;/p&gt;

&lt;p&gt;I imagine an absurd business concept and mentally simulate its future existence as if it already lives somewhere in reality - even if it is obviously small, unrealistic or ridiculous.&lt;/p&gt;

&lt;p&gt;Then I build it.&lt;/p&gt;

&lt;p&gt;Most of the time the project dies immediately, just like most startups do.&lt;/p&gt;

&lt;p&gt;And while it is dying, I am already building the next idea.&lt;/p&gt;

&lt;p&gt;Project after project. Concept after concept.&lt;/p&gt;

&lt;p&gt;Eventually all of them begin forming one larger system.&lt;/p&gt;

&lt;p&gt;+++&lt;/p&gt;

&lt;p&gt;At the moment many of my projects are still relatively simple. They often function more like MVP prototypes or landing pages introducing an idea rather than fully developed systems.&lt;/p&gt;

&lt;p&gt;But over time I want the projects to become larger, deeper and more functional.&lt;/p&gt;

&lt;p&gt;I also increasingly want to create projects that begin as absurd conceptual works but slowly break into reality and become genuinely usable systems.&lt;/p&gt;

&lt;p&gt;That, to me, would be the most beautiful outcome possible: an artwork escaping fiction and becoming real.&lt;/p&gt;

&lt;p&gt;I hope projects like that eventually emerge.&lt;/p&gt;

&lt;p&gt;I also imagine a future where, if my world grows large enough and I gain more resources, I begin building absurd businesses inside physical reality as well - stores, hotels, factories or other spaces where absurdity quietly enters everyday life.&lt;/p&gt;

&lt;p&gt;I do not fully know why this fascinates me so much, but I think I enjoy slightly contaminating reality with absurdity.&lt;/p&gt;

&lt;p&gt;Almost like graffiti appearing in places where it technically should not exist.&lt;/p&gt;

&lt;p&gt;A small act of conceptual subversion.&lt;/p&gt;

&lt;p&gt;Originally published at:&lt;br&gt;
&lt;a href="https://absurd.website/index.php?tab=about&amp;amp;tab2=notes_2026_2" rel="noopener noreferrer"&gt;Absurd.website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Why I’m Building a Step-by-Step Path Into Creative Coding</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Wed, 29 Apr 2026 14:16:39 +0000</pubDate>
      <link>https://dev.to/janis-k/why-im-building-a-step-by-step-path-into-creative-coding-1n6c</link>
      <guid>https://dev.to/janis-k/why-im-building-a-step-by-step-path-into-creative-coding-1n6c</guid>
      <description>&lt;p&gt;Most people encounter creative coding through impressive sketches or tutorials.&lt;/p&gt;

&lt;p&gt;They copy code.&lt;/p&gt;

&lt;p&gt;Something works.&lt;/p&gt;

&lt;p&gt;But often they don’t really understand why.&lt;/p&gt;

&lt;p&gt;And many tutorials make this harder:&lt;br&gt;
first long theory, then a giant wall of code to dig through.&lt;/p&gt;

&lt;p&gt;I wanted the opposite.&lt;/p&gt;

&lt;p&gt;Tiny idea.&lt;br&gt;
Tiny piece of code.&lt;br&gt;
Try it immediately.&lt;/p&gt;

&lt;p&gt;See what happens.&lt;/p&gt;

&lt;p&gt;Then the next step.&lt;/p&gt;

&lt;p&gt;No giant code dumps.&lt;br&gt;
No wandering through syntax.&lt;/p&gt;

&lt;p&gt;Just one idea at a time.&lt;/p&gt;

&lt;p&gt;Almost like learning through visual experiments.&lt;/p&gt;

&lt;p&gt;That’s why I’m building ArtCodingLab as a path made from micro challenges.&lt;/p&gt;

&lt;p&gt;You learn by writing a small code fragment, pressing play, seeing something move, and building from there.&lt;/p&gt;

&lt;p&gt;Not preset effects.&lt;/p&gt;

&lt;p&gt;Not disconnected tutorials.&lt;/p&gt;

&lt;p&gt;A guided progression.&lt;/p&gt;

&lt;p&gt;Start with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;coordinates&lt;/li&gt;
&lt;li&gt;circles&lt;/li&gt;
&lt;li&gt;variables&lt;/li&gt;
&lt;li&gt;loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then gradually into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;geometry&lt;/li&gt;
&lt;li&gt;animation&lt;/li&gt;
&lt;li&gt;trigonometry&lt;/li&gt;
&lt;li&gt;generative systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And another thing matters a lot to me:&lt;/p&gt;

&lt;p&gt;I’m trying to explain difficult ideas in a way someone with no prior background can actually understand.&lt;/p&gt;

&lt;p&gt;Because many advanced topics get taught as if everyone already knows half of it.&lt;/p&gt;

&lt;p&gt;Teachers often skip the steps that feel "obvious" to them.&lt;/p&gt;

&lt;p&gt;Those skipped steps are where beginners get lost.&lt;/p&gt;

&lt;p&gt;I want to do the opposite.&lt;/p&gt;

&lt;p&gt;Explain complex things simply enough that:&lt;/p&gt;

&lt;p&gt;an adult beginner can follow&lt;br&gt;
a kid can follow&lt;br&gt;
even someone intimidated by math can follow.&lt;/p&gt;

&lt;p&gt;Especially with math.&lt;/p&gt;

&lt;p&gt;If someone never understood trigonometry in school…&lt;/p&gt;

&lt;p&gt;maybe they understand it here for the first time -&lt;/p&gt;

&lt;p&gt;because they can finally see what sine and cosine actually do.&lt;/p&gt;

&lt;p&gt;That idea excites me.&lt;/p&gt;

&lt;p&gt;Learning code through making art.&lt;/p&gt;

&lt;p&gt;And maybe learning math through making code.&lt;/p&gt;

&lt;p&gt;That’s what I’m trying to build.&lt;/p&gt;

&lt;p&gt;An early version is already live at &lt;a href="https://artcodinglab.com" rel="noopener noreferrer"&gt;ArtCodingLab.com&lt;/a&gt; - you can try 3 free lessons, explore the demo, and if it clicks for you, join the prelaunch for the next 50 lessons as I build them.&lt;/p&gt;

&lt;p&gt;I’d especially love feedback from beginners.&lt;br&gt;
What has made creative coding hard to get into for you?&lt;/p&gt;

</description>
      <category>creativecoding</category>
      <category>p5</category>
      <category>p5js</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Launch Story: Math Games Hero Is Live</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Thu, 13 Nov 2025 11:45:48 +0000</pubDate>
      <link>https://dev.to/janis-k/launch-story-math-games-hero-is-live-3n7o</link>
      <guid>https://dev.to/janis-k/launch-story-math-games-hero-is-live-3n7o</guid>
      <description>&lt;p&gt;Last year I tested a small idea story-first math practice that plays like CSI mysteries and Escape Rooms.&lt;/p&gt;

&lt;p&gt;Teachers loved it. Students were engaged. Reviews were surprisingly positive for something that started as a weekend project. That early response made something clear: the format worked — and deserved a proper home.&lt;/p&gt;

&lt;p&gt;So I made a full platform: &lt;a href="https://mathgameshero.com" rel="noopener noreferrer"&gt;mathgameshero.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;🎯 What It Is&lt;/p&gt;

&lt;p&gt;Grades: 1–8&lt;br&gt;
Topics: Addition → Fractions → Decimals → Geometry → Algebra basics&lt;br&gt;
Game modes:&lt;/p&gt;

&lt;p&gt;🕵️ CSI-style mystery missions&lt;/p&gt;

&lt;p&gt;🔐 Escape Room adventures&lt;/p&gt;

&lt;p&gt;No student accounts or passwords.&lt;br&gt;
Share a link → students type a name → the game starts.&lt;/p&gt;

&lt;p&gt;Teacher tools: simple assignment sharing + basic progress tracking.&lt;br&gt;
Parents can use it too — a dedicated parent view is coming soon.&lt;/p&gt;

&lt;p&gt;Pricing: Start free with 2 games on any topic.&lt;br&gt;
If you like it, unlock 37+ games (and growing) for $48/year.&lt;/p&gt;

&lt;p&gt;👉 Try it here: &lt;a href="https://mathgameshero.com" rel="noopener noreferrer"&gt;mathgameshero.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💡 Why I Built It&lt;/p&gt;

&lt;p&gt;I first tested the games with my own kids (ages 6 and 8).&lt;br&gt;
Every game starts with a one-minute story intro, then puzzle steps kick in.&lt;/p&gt;

&lt;p&gt;This summer it accidentally became our daily ritual:&lt;/p&gt;

&lt;p&gt;“Can we do another math mystery?”&lt;br&gt;
When kids ask for a math activity during vacation… that’s a pretty strong signal.&lt;/p&gt;

&lt;p&gt;⚙️ How It Works&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose a topic (G1–G8)&lt;/li&gt;
&lt;li&gt;Pick your style: CSI or Escape Room&lt;/li&gt;
&lt;li&gt;Share the link with your class&lt;/li&gt;
&lt;li&gt;Track basic progress as they solve puzzles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Browse the full library here → &lt;a href="https://mathgameshero.com" rel="noopener noreferrer"&gt;mathgameshero.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📈 From Pilot to Platform&lt;/p&gt;

&lt;p&gt;The TPT pilot helped me refine pacing, clarity, and the “story first, math second” rhythm.&lt;br&gt;
Feedback like “engaging, easy to use, boosted learning” gave me the confidence to turn this into its own platform — everything unified, consistent, and fast.&lt;/p&gt;

&lt;p&gt;🔮 What’s Next&lt;/p&gt;

&lt;p&gt;This is just the beginning.&lt;br&gt;
Coming soon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;more stories&lt;/li&gt;
&lt;li&gt;new puzzle mechanics&lt;/li&gt;
&lt;li&gt;seasonal specials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal: make math something students look forward to.&lt;/p&gt;

&lt;p&gt;If you try it, I’d genuinely love your feedback — ideas, requests, or bug reports.&lt;br&gt;
I’m building this with teachers, parents, and developers who care about learning experiences.&lt;/p&gt;

&lt;p&gt;— Janis, creator of Math Games Hero&lt;br&gt;
👉 Start free: &lt;a href="https://mathgameshero.com" rel="noopener noreferrer"&gt;mathgameshero.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>webdev</category>
      <category>edtech</category>
      <category>startup</category>
    </item>
    <item>
      <title>I Stepped in It — and Found a $1M Idea 💩</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Sun, 09 Nov 2025 11:55:22 +0000</pubDate>
      <link>https://dev.to/janis-k/i-stepped-in-it-and-found-a-100m-idea-4dh8</link>
      <guid>https://dev.to/janis-k/i-stepped-in-it-and-found-a-100m-idea-4dh8</guid>
      <description>&lt;p&gt;It all started when I accidentally stepped in it.&lt;br&gt;
Literally.&lt;/p&gt;

&lt;p&gt;At first, I was shocked. Confused. Paralyzed.&lt;br&gt;
I had victim guilt. I kept asking myself:&lt;/p&gt;

&lt;p&gt;“Why me? Why now? Why this shoe?”&lt;/p&gt;

&lt;p&gt;I tried to clean it up, but the more I tried, the worse it got.&lt;br&gt;
That’s when it hit me — this is what everyone’s been talking about.&lt;/p&gt;

&lt;p&gt;People say: &lt;strong&gt;“Don’t just search for startup ideas. Look for real problems.&lt;/strong&gt;”&lt;br&gt;
Well, here it was. A real, tangible, smelly problem.&lt;br&gt;
A $100M problem.&lt;/p&gt;

&lt;p&gt;So I built a solution.&lt;br&gt;
Introducing Oh Shit, No Shit — the world’s first premium service for… well, dealing with exactly this.&lt;/p&gt;

&lt;p&gt;The pricing? Simple.&lt;br&gt;
🥿 $1,000 per shoe.&lt;br&gt;
Because that’s exactly the amount of pain I’d need to go through to do it again.&lt;/p&gt;

&lt;p&gt;The business model is bulletproof:&lt;br&gt;
1,000 shitty shoes × $1,000 = $1M.&lt;br&gt;
Now that’s scalable stink.&lt;/p&gt;

&lt;p&gt;Experience the future of footwear recovery:&lt;br&gt;
&lt;a href="https://absurd.website/oh-shit-no-shit/" rel="noopener noreferrer"&gt;https://absurd.website/oh-shit-no-shit/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More absurd startups:&lt;br&gt;
&lt;a href="https://absurd.website/" rel="noopener noreferrer"&gt;https://absurd.website/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>shitpost</category>
      <category>startup</category>
      <category>problems</category>
      <category>absurdwebsite</category>
    </item>
    <item>
      <title>Candy Overdose — Trick or Treating on the Internet 👻🍬</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Mon, 27 Oct 2025 08:18:27 +0000</pubDate>
      <link>https://dev.to/janis-k/candy-overdose-trick-or-treating-on-the-internet-2bga</link>
      <guid>https://dev.to/janis-k/candy-overdose-trick-or-treating-on-the-internet-2bga</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2025-10-15"&gt;Frontend Challenge - Halloween Edition, Perfect Landing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🍬 What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;Candy Overdose&lt;/strong&gt;, a virtual Halloween experience where you can go &lt;strong&gt;trick-or-treating across the internet&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;Instead of walking from house to house, you visit other players’ profiles — each one dressed up in their real Halloween costume.&lt;br&gt;&lt;br&gt;
When you visit someone, they give you digital candy… and when others visit you, you give them candy back! 🎃  &lt;/p&gt;

&lt;p&gt;Every player gets a &lt;strong&gt;Basic Candy Income (+3 daily candies)&lt;/strong&gt;, and you can earn even more by being active and creative.&lt;br&gt;&lt;br&gt;
Only real costumes allowed. The goal is to make online Halloween feel &lt;em&gt;authentic&lt;/em&gt;.  &lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://absurd.website/candy-overdose/" rel="noopener noreferrer"&gt;absurd.website/candy-overdose&lt;/a&gt;  &lt;/p&gt;




&lt;h2&gt;
  
  
  🕹️ Demo
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://absurd.website/candy-overdose/" rel="noopener noreferrer"&gt;&lt;strong&gt;Visit Candy Overdose&lt;/strong&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Each profile becomes a tiny haunted house in a shared digital neighborhood.  &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%2F38p6bl4l6uuddrsa04su.webp" 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%2F38p6bl4l6uuddrsa04su.webp" alt="Candy Overdose preview" width="800" height="541"&gt;&lt;/a&gt;  &lt;/p&gt;




&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;This started as part of the &lt;strong&gt;ABSURD.website&lt;/strong&gt; experimental web universe — a network of playful, surreal online experiences.  &lt;/p&gt;

&lt;p&gt;The idea came from a simple question:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What if Halloween could exist entirely online — but still feel real?”  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I wanted to build something that celebrates &lt;em&gt;people’s real creativity&lt;/em&gt;.&lt;br&gt;&lt;br&gt;
That’s why every photo is human-made, every like gives you candy, and every profile feels alive. Game will be active only till Nov 3. &lt;/p&gt;

&lt;p&gt;Technically, it’s built with a custom lightweight front-end system + php  that powers multiple absurd.website projects under one shared account system.&lt;br&gt;&lt;br&gt;
The landing page focuses on atmosphere — minimal, strange, and immersive.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Created by:&lt;/strong&gt; JanisK @ &lt;a href="https://absurd.website" rel="noopener noreferrer"&gt;absurd.website&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Built for:&lt;/strong&gt; &lt;a href="https://dev.to/challenges/frontend-2025-10-15"&gt;Frontend Challenge - Halloween Edition, Perfect Landing&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Theme:&lt;/strong&gt; Authentic Internet Halloween  &lt;/p&gt;

</description>
      <category>halloween</category>
      <category>frontend</category>
      <category>webdev</category>
      <category>challenge</category>
    </item>
    <item>
      <title>The Cheapest Map Tiles API? Why OGMAP Beats Mapbox, Google Maps &amp; Others (2025 Price Comparison)</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Sun, 19 Oct 2025 17:02:07 +0000</pubDate>
      <link>https://dev.to/janis-k/the-cheapest-map-tiles-api-why-ogmap-beats-mapbox-google-maps-others-2025-price-comparison-nkk</link>
      <guid>https://dev.to/janis-k/the-cheapest-map-tiles-api-why-ogmap-beats-mapbox-google-maps-others-2025-price-comparison-nkk</guid>
      <description>&lt;p&gt;Looking for the cheapest vector map tiles API? Below is a clear, developer-focused comparison of cost per 1,000,000 tiles and what makes &lt;a href="https://ogmap.com/" rel="noopener noreferrer"&gt;OGMAP.com&lt;/a&gt; simple, fast and predictable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why OGMAP.com Exists
&lt;/h2&gt;

&lt;p&gt;Most mapping APIs look affordable at first—until your app gains traction and your invoice explodes. OGMAP is a tiles-only, prepaid vector maps API designed to stay fast, transparent and affordable at any scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing Comparison — Cost per 1 Million Map Tiles (PBF)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://ogmap.com" rel="noopener noreferrer"&gt;OGMAP.com&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
$10&lt;br&gt;
Prepaid credits (no hidden fees)&lt;br&gt;
Simple, predictable, zero surprise bills&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mapbox&lt;/strong&gt;&lt;br&gt;
~$120–250&lt;br&gt;
Pay-per-map-load / API call&lt;br&gt;
Complex tiers; unpredictable at scale&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Maps Platform&lt;/strong&gt;&lt;br&gt;
~$600&lt;br&gt;
Pay-as-you-go (per tile request)&lt;br&gt;
Expensive; many SKU traps (tiles, styles, etc.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MapTiler Cloud&lt;/strong&gt;&lt;br&gt;
~$200&lt;br&gt;
Subscription tier or per-request&lt;br&gt;
Tied to monthly plans/thresholds&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HERE Maps&lt;/strong&gt;&lt;br&gt;
~$300&lt;br&gt;
API usage pricing&lt;br&gt;
Higher tiers required for volume&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Location (Map Tiles)&lt;/strong&gt;&lt;br&gt;
~$160&lt;br&gt;
Per-1000 requests&lt;br&gt;
Requires AWS setup; not dev-friendly&lt;/p&gt;

&lt;p&gt;OGMAP is at least &lt;strong&gt;10× cheaper&lt;/strong&gt; than the big players while using the same OpenStreetMap data and serving globally via Cloudflare CDN.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why OGMAP Is More Affordable
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pay only for what you use. No subscriptions or “monthly minimums.”&lt;/li&gt;
&lt;li&gt;Transparent prepaid model. $10 = 1,000,000 tiles. $5 = 500,000 tiles. No overage billing — ever.&lt;/li&gt;
&lt;li&gt;Safety limits built in. Spend caps prevent runaway costs from loops or spikes.&lt;/li&gt;
&lt;li&gt;Faster global delivery. Cloudflare R2 storage + Cloudflare CDN.&lt;/li&gt;
&lt;li&gt;Tiles-only by design. No bloated extras inflating your bill.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real‑World Example
&lt;/h2&gt;

&lt;p&gt;Say your app serves ~2 million tiles per month:&lt;/p&gt;

&lt;p&gt;OGMAP.com - $20&lt;br&gt;
Google Maps - ~$1,200&lt;br&gt;
Mapbox - ~$300&lt;br&gt;
MapTiler - ~$200&lt;br&gt;
HERE / AWS - ~$150–300&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for Developers, Not Billing Teams
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;250,000 free tiles on signup&lt;/li&gt;
&lt;li&gt;Prepaid via Stripe with optional auto‑buy&lt;/li&gt;
&lt;li&gt;Spend caps and safety limits&lt;/li&gt;
&lt;li&gt;MapLibre‑ready styles and live demos&lt;/li&gt;
&lt;li&gt;Global Cloudflare CDN delivery&lt;/li&gt;
&lt;li&gt;Straightforward REST tile endpoints (.pbf)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary — Simple, Predictable, and 10× Cheaper
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;$10 = 1,000,000 tiles&lt;/li&gt;
&lt;li&gt;No hidden fees or quotas&lt;/li&gt;
&lt;li&gt;Cloudflare CDN = global speed&lt;/li&gt;
&lt;li&gt;Perfect for MVPs, indie apps &amp;amp; startups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Try it free&lt;/strong&gt; — get 250k tiles on sign‑up.&lt;br&gt;
&lt;a href="https://ogmap.com/" rel="noopener noreferrer"&gt;https://ogmap.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>map</category>
      <category>webdev</category>
      <category>googlemaps</category>
      <category>mapapi</category>
    </item>
    <item>
      <title>Candy Overdose: Trick-Or-Treating On The Internet 🎃🍬</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Mon, 29 Sep 2025 19:45:03 +0000</pubDate>
      <link>https://dev.to/janis-k/candy-overdose-trick-or-treating-on-the-internet-4g2k</link>
      <guid>https://dev.to/janis-k/candy-overdose-trick-or-treating-on-the-internet-4g2k</guid>
      <description>&lt;p&gt;Halloween has always been about wandering through neighborhoods, knocking on doors, and collecting way too much candy.&lt;br&gt;
But this year, I wanted to steal Halloween.&lt;/p&gt;

&lt;p&gt;Not the costumes. Not the decorations.&lt;br&gt;
The whole holiday.&lt;/p&gt;

&lt;p&gt;So I made a web game called Candy Overdose. &lt;a href="https://absurd.website/candy-overdose/" rel="noopener noreferrer"&gt;https://absurd.website/candy-overdose/&lt;/a&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%2Fw5u5p6wr7pycshecblfw.webp" 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%2Fw5u5p6wr7pycshecblfw.webp" alt=" " width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Instead of knocking on doors, you knock on profiles.&lt;/p&gt;

&lt;p&gt;You upload your real costume photo.&lt;br&gt;
You visit other players, one by one.&lt;br&gt;
Each visit gives you candy (1–3 pieces).&lt;br&gt;
But every time someone visits you, they automatically steal some candy from your stash.&lt;br&gt;
There’s also a basic candy income — +3 candy daily, so your house never looks completely empty.&lt;/p&gt;

&lt;p&gt;The whole point is simple: trick-or-treating… but happening online.&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%2Fl9tdj6p6b8b7q2d4q47z.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%2Fl9tdj6p6b8b7q2d4q47z.png" alt=" " width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;In recent years, Halloween has been swallowed by the internet anyway.&lt;br&gt;
People post costumes on Instagram, scroll TikTok for spooky memes, and buy candy in bulk online.&lt;/p&gt;

&lt;h2&gt;
  
  
  I thought: why not take it to the next step?
&lt;/h2&gt;

&lt;p&gt;Make a space where Halloween actually lives online, not just as decoration, but as a mechanic.&lt;/p&gt;

&lt;p&gt;That’s where Candy Overdose came from. It’s part game, part social experiment, part absurd joke.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes It Fun
&lt;/h2&gt;

&lt;p&gt;The fun comes from real costumes. No AI images, no stolen photos.&lt;br&gt;
You upload yourself — weird, silly, scary, whatever.&lt;/p&gt;

&lt;p&gt;And then you get to sneak around, see others’ costumes, collect their candy, and leave footprints in their profile.&lt;br&gt;
They’ll see you too, which makes it a little spooky.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join The Experiment
&lt;/h2&gt;

&lt;p&gt;I don’t know if this will save humanity from candy overdose…&lt;br&gt;
But at least it makes trick-or-treating possible without leaving your house.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it here:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://absurd.website/candy-overdose/" rel="noopener noreferrer"&gt;https://absurd.website/candy-overdose/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sincerly yours,&lt;br&gt;
Halloween Gringe HAHAHA&lt;/p&gt;

</description>
      <category>halloween</category>
      <category>webdev</category>
      <category>gamedev</category>
      <category>web</category>
    </item>
    <item>
      <title>Launching OGMAP — a vector map tiles API built for developers (and for myself)</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Mon, 22 Sep 2025 19:07:46 +0000</pubDate>
      <link>https://dev.to/janis-k/launching-ogmap-a-vector-map-tiles-api-built-for-developers-and-for-myself-9fj</link>
      <guid>https://dev.to/janis-k/launching-ogmap-a-vector-map-tiles-api-built-for-developers-and-for-myself-9fj</guid>
      <description>&lt;p&gt;I’ve finally launched &lt;a href="https://ogmap.com" rel="noopener noreferrer"&gt;OGMAP&lt;/a&gt; — a tiles-only vector map tiles API (PBF) with simple, predictable pricing. I built it first for my own projects, but I’m opening it up for anyone who needs fast, affordable maps without scary billing surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built OGMAP
&lt;/h2&gt;

&lt;p&gt;For years I kept a notebook full of ideas that needed maps. Every time I tried to start, I ran into the same problem: map APIs were too expensive to use at scale before monetization. Some providers end up 3–10× pricier for the usage I needed. I also considered open/self-hosted options, but I didn’t want the stress of running and scaling my own tile server if a project suddenly got traffic.&lt;/p&gt;

&lt;p&gt;So I built what I wanted to use: a tiles-only service with straightforward pricing and zero surprises.&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%2Fe8ta7vad6tt2mqwqym16.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%2Fe8ta7vad6tt2mqwqym16.png" alt=" " width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What OGMAP offers today
&lt;/h2&gt;

&lt;p&gt;Simple pricing. $10 = 1,000,000 tiles. $5 = 500,000 tiles (minimum top-up).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Predictable billing.&lt;/strong&gt;&lt;br&gt;
Prepaid credits only, with auto-buy via Stripe and safety limits so you can cap spend and avoid runaway costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try before you pay.&lt;/strong&gt; 250k free tiles on sign-up (one-time) — enough to test or even power a small hobby app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fast delivery.&lt;/strong&gt; Tiles are stored on Cloudflare R2 and served globally via Cloudflare CDN for reliability and speed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Easy integration.&lt;/strong&gt; MapLibre-ready style JSONs and a live demo help you get up and running in minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built with safety and simplicity in mind
&lt;/h2&gt;

&lt;p&gt;Safety limits. Set spend caps to protect your credits from spikes or accidental loops.&lt;/p&gt;

&lt;p&gt;Auto-buy rules. Attach your card once (Stripe), choose when to top up and by how much, and keep things hands-off.&lt;/p&gt;

&lt;p&gt;Tiles-only by design. No geocoding, no places search, no analytics — just fast vector tiles with basic styles. Focus brings lower cost and less complexity.&lt;/p&gt;

&lt;p&gt;What’s next&lt;br&gt;
At launch, OGMAP focuses on the basics — fast, affordable vector tiles. As the service grows, I plan to add carefully chosen features that keep the same philosophy of simplicity and predictability:&lt;/p&gt;

&lt;p&gt;• More starter styles and customization options.&lt;br&gt;
• Optional geolocation services.&lt;br&gt;
• Routing/directions and additional data layers (e.g., roads, POIs).&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing thoughts
&lt;/h2&gt;

&lt;p&gt;OGMAP started as a tool I needed for myself. If you’re building an MVP, a hobby app, or a startup and want to keep map costs under control, I hope it helps you ship faster.&lt;/p&gt;

&lt;p&gt;Project: &lt;a href="https://ogmap.com" rel="noopener noreferrer"&gt;https://ogmap.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have questions or want help integrating, contact me— I’m happy to help and I genuinely want your project to succeed.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>map</category>
      <category>showdev</category>
      <category>api</category>
    </item>
    <item>
      <title>CodeMap4AI: Give Your AI Assistant a Brain Map of Your Codebase</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Fri, 06 Jun 2025 17:15:16 +0000</pubDate>
      <link>https://dev.to/janis-k/codemap4ai-give-your-ai-assistant-a-brain-map-of-your-codebase-1hn7</link>
      <guid>https://dev.to/janis-k/codemap4ai-give-your-ai-assistant-a-brain-map-of-your-codebase-1hn7</guid>
      <description>&lt;p&gt;If you’ve ever asked ChatGPT to refactor, extend, or debug your code — and it gave you something that just doesn’t exist — you’re not alone. The problem? AI lacks context. It sees just a few files or snippets and starts guessing what the rest of your project looks like.&lt;/p&gt;

&lt;p&gt;CodeMap4AI fixes that.&lt;/p&gt;

&lt;p&gt;It generates a structured, machine-readable map of your entire project — helping AI assistants (and humans) actually understand the code they’re working with.&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%2Fe0pqx6c9d28bfeu5q9rm.jpg" 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%2Fe0pqx6c9d28bfeu5q9rm.jpg" alt=" " width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What Is CodeMap4AI?
&lt;/h2&gt;

&lt;p&gt;CodeMap4AI is a lightweight command-line tool that scans your web project (PHP, JS, HTML, SQL, etc.) and outputs a clean code_map.json file. This file describes your app’s structure: files, functions, classes, routes, database interactions, and more.&lt;/p&gt;

&lt;p&gt;You can feed this JSON to ChatGPT or Claude as initial context — and suddenly, AI gets smarter. It knows what’s where, what things are named, and how your system fits together.&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%2F96v3uvbj5xduv0fo7crt.jpg" 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%2F96v3uvbj5xduv0fo7crt.jpg" alt=" " width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 Why It Matters
&lt;/h2&gt;

&lt;p&gt;AI coding tools are powerful, but they hallucinate. They invent class names, make up parameters, and miss important logic — especially in large, unfamiliar, or legacy projects.&lt;/p&gt;

&lt;p&gt;CodeMap4AI solves this by giving your AI assistant a complete map of the terrain. It’s like a developer onboarding doc — but made for AI.&lt;/p&gt;

&lt;p&gt;And guess what? It’s also extremely helpful for real humans. Especially when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You’re joining a new project&lt;/li&gt;
&lt;li&gt;Revisiting old code&lt;/li&gt;
&lt;li&gt;Sharing structure with a teammate&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✨ Key Features
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🧭 Code Map Generation&lt;/strong&gt;&lt;br&gt;
Generates a code_map.json representing your full project structure — files, classes, DB logic, routes, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 AI Context Injection&lt;/strong&gt;&lt;br&gt;
Provides ChatGPT, Claude, or other assistants with the full structure — reducing hallucinations and improving accuracy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👀 Human-Friendly Overview&lt;/strong&gt;&lt;br&gt;
Useful for developers who want to quickly understand unfamiliar or legacy codebases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📦 CLI Tool&lt;/strong&gt;&lt;br&gt;
Simple command-line usage: codemap generate. Done in seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ IDE-Independent&lt;/strong&gt;&lt;br&gt;
Works outside of VS Code or JetBrains. Use it anywhere you interact with AI — including browser-based tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛡️ Privacy-First&lt;/strong&gt;&lt;br&gt;
Runs locally. No code ever sent to external servers. You control what the AI sees.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔄 Easy to Automate&lt;/strong&gt;&lt;br&gt;
Perfect for CI/CD, code reviews, or AI workflows. Regenerate the map on every deploy or code change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💬 Shareable JSON Format&lt;/strong&gt;&lt;br&gt;
The output is structured, copy-paste friendly, and ready to include in any AI prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  👥 Who’s It For?
&lt;/h2&gt;

&lt;p&gt;Developers using ChatGPT / Claude to write or review code&lt;br&gt;
Teams working on legacy or unfamiliar projects&lt;br&gt;
Freelancers needing quick insight into client codebases&lt;br&gt;
Devs who want smarter AI, not guesswork&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 The Origin Story
&lt;/h2&gt;

&lt;p&gt;CodeMap4AI started out of frustration. The creator — working on a real-world PHP/JS project — noticed ChatGPT kept hallucinating classes and parameters. After some testing, he realized that giving the AI a high-level map of the project drastically improved its output.&lt;/p&gt;

&lt;p&gt;He turned that hack into a proper tool — and made it public so others could benefit.&lt;/p&gt;

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

&lt;p&gt;You can try CodeMap4AI free for 7 days. After that, it’s just $5/month — cancel anytime.&lt;/p&gt;

&lt;p&gt;Get started here 👉 &lt;a href="https://codemap4ai.com" rel="noopener noreferrer"&gt;https://codemap4ai.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔚 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;If you use AI to code, context is everything. CodeMap4AI is a simple but powerful way to bridge the gap between AI and real-world codebases.&lt;/p&gt;

&lt;p&gt;No more guessing. No more hallucinations. Just smarter AI — and smarter devs.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>vibecoding</category>
      <category>coding</category>
    </item>
    <item>
      <title>I build one absurd web project every month. Here’s the collection.</title>
      <dc:creator>Janis K</dc:creator>
      <pubDate>Tue, 03 Jun 2025 15:38:50 +0000</pubDate>
      <link>https://dev.to/janis-k/i-build-one-absurd-web-project-every-month-heres-the-collection-576h</link>
      <guid>https://dev.to/janis-k/i-build-one-absurd-web-project-every-month-heres-the-collection-576h</guid>
      <description>&lt;p&gt;I love making weird web projects that nobody asked for - but people still end up loving.&lt;br&gt;
Every month I launch something completely absurd at &lt;a href="https://absurd.website" rel="noopener noreferrer"&gt;https://absurd.website&lt;/a&gt;&lt;br&gt;
Some projects are real, some are MVPs, and some are pure fake-it-'til-you-make-it. You never know - that's how the internet works these days.&amp;nbsp;:)&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's what I've built so far - and why it's fun:
&lt;/h2&gt;

&lt;p&gt;🧧 &lt;strong&gt;Add Luck to Your e-Store&lt;/strong&gt;&lt;br&gt;
Place a waving cat on your website to "boost" sales through sheer superstition. It's marketing magic!&lt;/p&gt;

&lt;p&gt;🧠 &lt;strong&gt;Microtasks for Meatbags&lt;/strong&gt;&lt;br&gt;
In the future, AI will write prompts for humans. Rent your soul to AI and become a biological API.&lt;/p&gt;

&lt;p&gt;🎮 &lt;strong&gt;OPERATION D-DAY: ONE SECOND OF WAR&lt;/strong&gt;&lt;br&gt;
A 3D shooter where survival lasts mere seconds. Blink, and you're dead.&lt;/p&gt;

&lt;p&gt;🗣️ &lt;strong&gt;LingoPrio&lt;/strong&gt;&lt;br&gt;
Learn five languages simultaneously by unlocking 350+ words in just 5 minutes. Fluency not guaranteed.&lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;Artist's Death Effect Database&lt;/strong&gt;&lt;br&gt;
When artists die, their work becomes valuable. Morbid? Yes. So who's next?&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Sexy Math&lt;/strong&gt;&lt;br&gt;
Learn math with motivation. Each correct answer undresses a model. Education meets seduction.&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;ChillyParent&lt;/strong&gt;&lt;br&gt;
Control your child with your smartphone. Modern parenting made easy.&lt;/p&gt;

&lt;p&gt;🐾 &lt;strong&gt;Easy Pet Drop Box&lt;/strong&gt;&lt;br&gt;
Too busy to rehome your pet? Just drop it in our box. The future of irresponsible responsibility.&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;Spot The Differences&lt;/strong&gt;&lt;br&gt;
A game that challenges your perception - or does it?&lt;/p&gt;

&lt;p&gt;🌟 &lt;strong&gt;Influencer Overnight&lt;/strong&gt;&lt;br&gt;
Join our social experiment to become an influencer with 100,000 followers - no effort required.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;Stealing From Dreams&lt;/strong&gt;&lt;br&gt;
Choose any artwork from our images, and we'll create it for you. Let's steal art from dreams!&lt;/p&gt;

&lt;p&gt;👽 &lt;strong&gt;A Guide For Aliens To Live On Earth&lt;/strong&gt;&lt;br&gt;
An essential guidebook for extraterrestrial visitors navigating our planet.&lt;/p&gt;

&lt;p&gt;🧩 &lt;strong&gt;Puzzle Solvers Agency&lt;/strong&gt;&lt;br&gt;
Send us your unsolved puzzles or Lego, and we'll solve them for you - because why not?&lt;/p&gt;

&lt;p&gt;💦 &lt;strong&gt;Absurd Toilet Water&lt;/strong&gt;&lt;br&gt;
A luxury fragrance allegedly made from toilet water. Eau de W.C.&lt;/p&gt;

&lt;p&gt;🎤 &lt;strong&gt;OPEN Celebrity&lt;/strong&gt;&lt;br&gt;
One face, shared by everyone. The whole internet uses the same open-source celebrity - and she becomes famous. Everyone wins.&lt;/p&gt;

&lt;p&gt;👻 &lt;strong&gt;Invisible Lingerie&lt;/strong&gt;&lt;br&gt;
The sexiest lingerie you can imagine - because it's invisible.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;White Label Art Agency&lt;/strong&gt;&lt;br&gt;
Creating art for wannabe artists. Join us!&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Trip to Mars&lt;/strong&gt;&lt;br&gt;
A real-time spaceflight simulator game that takes seven months to complete - patience is key.&lt;/p&gt;

&lt;p&gt;🐌 &lt;strong&gt;Slow Delivery Service&lt;/strong&gt;&lt;br&gt;
Embrace the slow life with our sloooooooooooow delivery service.&lt;/p&gt;

&lt;p&gt;🌍 &lt;strong&gt;Offset your CO2 emissions by buying me a Tesla&lt;/strong&gt;&lt;br&gt;
Offset your carbon footprint by buying me a Tesla - it's that simple.&lt;/p&gt;

&lt;p&gt;🚁 &lt;strong&gt;Helicopter Jobs&lt;/strong&gt;&lt;br&gt;
Earn money with pointless jobs - because not all work needs purpose.&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Synchronic Video Battle&lt;/strong&gt;&lt;br&gt;
Watch synchronized videos of opposing themes and cast your vote.&lt;/p&gt;

&lt;p&gt;👁️ &lt;strong&gt;Eyes Dating Site&lt;/strong&gt;&lt;br&gt;
A dating platform focused solely on the eyes - no faces, no profiles, just gazes.&lt;/p&gt;

&lt;p&gt;🧲 &lt;strong&gt;Magnetic Buy Now Button&lt;/strong&gt;&lt;br&gt;
A button so compelling, visitors can't resist clicking - marketing genius.&lt;/p&gt;

&lt;p&gt;💾 &lt;strong&gt;'90 Web Design Art Studio - Y2K&lt;/strong&gt;&lt;br&gt;
Reviving the aesthetics of '90s web design - nostalgia at its finest.&lt;/p&gt;

&lt;p&gt;🖤 &lt;strong&gt;Dark Mandala&lt;/strong&gt;&lt;br&gt;
A color-by-number book with only one color - black.&lt;/p&gt;

&lt;p&gt;🛍️ &lt;strong&gt;Buy Nothing Store&lt;/strong&gt;&lt;br&gt;
A store where you can buy nothing - literally.&lt;/p&gt;

&lt;p&gt;If you're intrigued by the absurd and enjoy web experiments, check out &lt;a href="https://absurd.website" rel="noopener noreferrer"&gt;https://absurd.website&lt;/a&gt;.&lt;br&gt;
New project every month! Feedback are always welcome!&lt;br&gt;
&lt;a href="http://eepurl.com/hft-U9" rel="noopener noreferrer"&gt;Subscribe here&lt;/a&gt; to get monthly updates with new absurd projects!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>netart</category>
      <category>artproject</category>
      <category>absurd</category>
    </item>
  </channel>
</rss>
