<?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: Abdeldjaouad Farid </title>
    <description>The latest articles on DEV Community by Abdeldjaouad Farid  (@abdeldjaouadfarid).</description>
    <link>https://dev.to/abdeldjaouadfarid</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%2F4064634%2Fe61c4ed2-72c6-4c94-993d-f91a49588620.jpg</url>
      <title>DEV Community: Abdeldjaouad Farid </title>
      <link>https://dev.to/abdeldjaouadfarid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abdeldjaouadfarid"/>
    <language>en</language>
    <item>
      <title>Amazon Just Crossed $3 Trillion — and AWS Still Can't Build Fast Enough</title>
      <dc:creator>Abdeldjaouad Farid </dc:creator>
      <pubDate>Wed, 05 Aug 2026 19:53:14 +0000</pubDate>
      <link>https://dev.to/abdeldjaouadfarid/amazon-just-crossed-3-trillion-and-aws-still-cant-build-fast-enough-1ak5</link>
      <guid>https://dev.to/abdeldjaouadfarid/amazon-just-crossed-3-trillion-and-aws-still-cant-build-fast-enough-1ak5</guid>
      <description>&lt;p&gt;Amazon just became one of only a handful of companies ever to cross a $3 trillion valuation.&lt;/p&gt;

&lt;p&gt;But the number that stopped me wasn't the market cap.&lt;/p&gt;

&lt;p&gt;It was &lt;strong&gt;AWS growing 37% year over year to $42.2 billion in a single quarter&lt;/strong&gt; — its fastest pace in more than four years — and it still isn't enough.&lt;/p&gt;

&lt;p&gt;Andy Jassy's own words: even after lifting 2026 capital spending to roughly $220 billion, AWS "will still not have enough capacity to meet all the demand" this year, or next. He called 2028 demand "striking."&lt;/p&gt;

&lt;p&gt;Sit with that. The largest cloud provider on earth, spending close to a fifth of a trillion dollars, says it cannot build fast enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottleneck moved
&lt;/h2&gt;

&lt;p&gt;For years we framed the AI race as a contest of models and talent. This quarter reframes it as something more physical: chips, power, and data-center capacity. The bottleneck has moved from software to infrastructure.&lt;/p&gt;

&lt;p&gt;That shift matters for everyone building in the cloud. When capacity is scarce, efficiency stops being optional. Cost per token, workload placement, and architectural discipline become real competitive advantages.&lt;/p&gt;

&lt;p&gt;The winners of the next phase may not be those with the cleverest models, but those who can actually secure compute — and use it well.&lt;/p&gt;

&lt;p&gt;So here's my question: &lt;strong&gt;is the real constraint on AI now energy and infrastructure rather than algorithms?&lt;/strong&gt; And if so, who's best positioned to solve it?&lt;/p&gt;

&lt;p&gt;Suggested tags: aws, ai, cloud, devops&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Building LOKA: From ESP32 Firmware to a Live Map That Tracks Animals in Real Time</title>
      <dc:creator>Abdeldjaouad Farid </dc:creator>
      <pubDate>Wed, 05 Aug 2026 17:07:37 +0000</pubDate>
      <link>https://dev.to/abdeldjaouadfarid/building-loka-from-esp32-firmware-to-a-live-map-that-tracks-animals-in-real-time-j4c</link>
      <guid>https://dev.to/abdeldjaouadfarid/building-loka-from-esp32-firmware-to-a-live-map-that-tracks-animals-in-real-time-j4c</guid>
      <description>&lt;p&gt;A few months ago I set out to solve a very physical problem with software: &lt;strong&gt;how do you know where your animals are, right now?&lt;/strong&gt; Herders and small farmers lose animals that wander past a safe boundary, and by the time anyone notices, the animal — and the money it represents — is long gone.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;LOKA&lt;/strong&gt;: a full-stack IoT platform that puts a low-cost GPS tracker on an animal and turns it into a live dot on a map, with an alert the moment it strays outside a safe zone. It runs end to end — custom firmware on a microcontroller, a Node.js API, and a real-time web dashboard.&lt;/p&gt;

&lt;p&gt;This is the story of how it works and, more usefully, the parts that broke and how I fixed them.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🌍 Live demo: &lt;a href="https://loka-livetrack.vercel.app" rel="noopener noreferrer"&gt;https://loka-livetrack.vercel.app&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The architecture
&lt;/h2&gt;

&lt;p&gt;The whole system is three moving pieces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ ESP32-S3 tracker ]  --HTTP--&amp;gt;  [ Node.js / Express API ]  --&amp;gt;  [ React + Leaflet dashboard ]
  GPS + LoRa + WiFi              position history, alerts         live map, trail, battery
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;A &lt;strong&gt;Heltec ESP32-S3&lt;/strong&gt; on the animal reads GPS coordinates and POSTs them to a server every ~10 seconds.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Node.js / Express&lt;/strong&gt; API stores position history and works out whether a tracker is online or offline.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;React dashboard&lt;/strong&gt; (Leaflet + OpenStreetMap) draws the live trail, battery, satellite count and accuracy, and fires geofence alerts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let me walk through each layer, then the debugging that actually took the most time.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The firmware
&lt;/h2&gt;

&lt;p&gt;The tracker is an ESP32-S3 with an onboard GPS module. The firmware (C++, using &lt;code&gt;TinyGPS++&lt;/code&gt; and &lt;code&gt;HTTPClient&lt;/code&gt;) does something conceptually simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;read a GPS fix,&lt;/li&gt;
&lt;li&gt;package lat/lng, battery, satellite count and HDOP as JSON,&lt;/li&gt;
&lt;li&gt;POST it to the backend over a phone hotspot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conceptually simple. In practice, "read a GPS fix" is where I spent most of my time — I'll come back to exactly why in the war-stories section, because that's the interesting part.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The backend
&lt;/h2&gt;

&lt;p&gt;The API is deliberately boring, and that's the point. Express endpoints receive telemetry, validate the JSON shape, and append it to a per-device history. A small heartbeat check flips a device to "offline" if it hasn't reported in a while — that "last seen 3 minutes ago" is what actually matters to a herder.&lt;/p&gt;

&lt;p&gt;I also built a separate &lt;strong&gt;geofencing simulator&lt;/strong&gt; with PostgreSQL/PostGIS and Socket.IO so I could model many animals moving at once and test enter/exit-zone logic without a field full of hardware.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The dashboard
&lt;/h2&gt;

&lt;p&gt;The front end is React with Leaflet over OpenStreetMap. It shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the animal's live position and its recent trail,&lt;/li&gt;
&lt;li&gt;battery level, satellite count, and HDOP (a GPS accuracy metric),&lt;/li&gt;
&lt;li&gt;online / offline status,&lt;/li&gt;
&lt;li&gt;geofence alerts when an animal crosses a boundary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's multilingual too — English, French, and Arabic with proper RTL — because the people who'd actually use it don't all read English.&lt;/p&gt;

&lt;h2&gt;
  
  
  The debugging war stories (what this post is really about)
&lt;/h2&gt;

&lt;p&gt;Anyone can wire up an HTTP POST. The real engineering was getting a &lt;em&gt;reliable&lt;/em&gt; fix out of cheap hardware in an open field:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The GNSS module wouldn't power on.&lt;/strong&gt; The UC6580 GNSS chip needs a specific power-enable sequence through a VEXT GPIO. Until I got that right, I had a "GPS" that returned nothing but zeros.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wrong GPIO pin mapping.&lt;/strong&gt; The ESP32-S3's pins aren't the same as older ESP32 boards, so a mismatched serial pin meant the microcontroller and the GPS were quietly talking past each other.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ADC attenuation.&lt;/strong&gt; Battery readings were nonsense until I set the correct ADC attenuation for the voltage range.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WiFi instability on mobile hotspots.&lt;/strong&gt; In the field there's no clean WiFi — just a phone. Hotspot connections drop, so the firmware needed retry logic that reconnects without losing data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After all of that, I was getting a stable fix with &lt;strong&gt;15–18 satellites and under 2 m accuracy outdoors&lt;/strong&gt; — good enough to tell one animal from another in a field.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hardware makes you honest.&lt;/strong&gt; On the web you can retry a request. In a field, a dropped connection or a bad power sequence is just... silence. It forced me to design for failure instead of assuming the happy path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The boring backend is the reliable backend.&lt;/strong&gt; Every time I made the API "clever," it got harder to trust. Simple validation + history + a heartbeat did the job.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ship the smallest thing that proves it.&lt;/strong&gt; A single dot moving on a map convinced people faster than any pitch deck.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LOKA is now competing in the Qabilah Hackathon, and I'm still building on it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌍 Live demo: &lt;a href="https://loka-livetrack.vercel.app" rel="noopener noreferrer"&gt;https://loka-livetrack.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 Code: &lt;a href="https://github.com/abdeldjaouadfarid" rel="noopener noreferrer"&gt;https://github.com/abdeldjaouadfarid&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you've built anything with an ESP32 and a flaky field connection, I'd love to hear how you handled the reconnection problem — that one nearly beat me.&lt;/p&gt;

</description>
      <category>iot</category>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
