<?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: Joan Ayissi Ndong</title>
    <description>The latest articles on DEV Community by Joan Ayissi Ndong (@sudojayn).</description>
    <link>https://dev.to/sudojayn</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%2F3612300%2F8a8edb0f-05a2-4228-9e32-a3b2efd1ef78.jpeg</url>
      <title>DEV Community: Joan Ayissi Ndong</title>
      <link>https://dev.to/sudojayn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sudojayn"/>
    <language>en</language>
    <item>
      <title>HealthNearby — Find Healthcare Facilities in Cameroon</title>
      <dc:creator>Joan Ayissi Ndong</dc:creator>
      <pubDate>Sun, 01 Mar 2026 19:54:33 +0000</pubDate>
      <link>https://dev.to/sudojayn/healthnearby-find-healthcare-facilities-in-cameroon-4kgd</link>
      <guid>https://dev.to/sudojayn/healthnearby-find-healthcare-facilities-in-cameroon-4kgd</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;It is 11 PM in Bépanda, a working-class neighborhood in Douala, Cameroon.&lt;br&gt;
A mother's 4-year-old son has a fever that won't break. She needs to find a pharmacy — one that is open right now, that has pediatric medication, and that accepts MTN Mobile Money, because she has no cash at home.&lt;br&gt;
She has no app to check. No website to search. She starts calling neighbors. Her first neighbor doesn't know. Her second neighbor gives her the name of a pharmacy two kilometers away. She walks there in the dark. It's closed. She walks to another one. Also closed. On her third attempt, 45 minutes later, she finds an open pharmacy — but it doesn't accept Mobile Money. She doesn't have cash. She walks home.&lt;br&gt;
This is not a hypothetical story. This is Tuesday night in Douala.&lt;br&gt;
HealthNearby was built to end that walk.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;The Problem It Solves&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Cameroon is a country of 28 million people. Here are the numbers that shaped every decision I made building this app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;7.9%&lt;/strong&gt; — the percentage of Cameroonians with health insurance, according to a nationally representative survey published in 2024 (Afrobarometer / University of Yaoundé 1). That means &lt;strong&gt;92.1% navigate the healthcare system entirely on their own&lt;/strong&gt;, paying out of pocket, every single time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;70%&lt;/strong&gt; of all healthcare spending in Cameroon comes directly from households — not the government, not insurance. When you get sick, you pay. Every time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;64%&lt;/strong&gt; of Cameroonian households cannot access healthcare at all because of cost, according to World Obesity Federation data citing national health system reports.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cameroon has &lt;strong&gt;19.5 million active mobile money accounts&lt;/strong&gt; and processes over &lt;strong&gt;2.2 billion transactions per year&lt;/strong&gt; (BEAC, 2023). MTN MoMo and Orange Money together account for &lt;strong&gt;more than 80% of all electronic transactions&lt;/strong&gt; in the country. Yet there is no way to filter healthcare facilities by which payment method they accept.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile money usage grew from &lt;strong&gt;29.9% in 2017 to 42.7% in 2022&lt;/strong&gt; among Cameroonians aged 15 and over (National Institute of Statistics, Ecam 5, 2024). It is the dominant financial tool — not banks, not cards.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The consequences of this information gap are not abstract:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;People delay seeking care because they don't know where to go, making conditions worse and more expensive to treat.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Families travel across the city to reach a facility, only to find it closed, doesn't accept their payment method, or doesn't offer the service they need.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Healthcare workers at smaller clinics and health centers are underutilized because people simply don't know they exist.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;People pay in cash even when they have Mobile Money, because they don't know which facilities accept it — leading to situations where they can't pay at all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pharmacies de garde&lt;/strong&gt; (on-duty pharmacies) rotate weekly in Cameroon, but this information is only published in local newspapers — inaccessible to most people at 11 PM.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a solvable problem. The facilities exist. The payment infrastructure exists. What's missing is the information layer connecting people to care.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HealthNearby is that information layer&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HealthNearby&lt;/strong&gt; is a mobile-first web directory that helps people in Cameroon instantly find nearby healthcare facilities with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;✅ Real-time open/closed status — computed from current local time, no manual updates needed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💛 MTN MoMo filter — find facilities that accept Mobile Money right now&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🟠 Orange Money filter — same for Orange Money users&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌙 On-duty filter — surface pharmacies open late at night&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📞 One-tap call button — native &lt;code&gt;tel:&lt;/code&gt; link, works on any Android phone&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📱 Fully responsive — designed for low-end Android phones first, because that is what most people in Douala use&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔍 Combined filters — search by city + type + payment + duty status simultaneously&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 Live demo: &lt;a href="https://healthnearby-8kw8.vercel.app" rel="noopener noreferrer"&gt;https://healthnearby-8kw8.vercel.app&lt;/a&gt; &lt;br&gt;
💻 GitHub: &lt;a href="https://github.com/joanayissindong/healthnearby" rel="noopener noreferrer"&gt;https://github.com/joanayissindong/healthnearby&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The short-term impact: someone in Douala at 11 PM can open this app, tap "Pharmacy" + "MTN MoMo" + "On duty", and find an open pharmacy that accepts their payment method in under 10 seconds. That walk in the dark becomes a phone call.&lt;/p&gt;

&lt;p&gt;The long-term vision: HealthNearby is the first building block of a healthcare infrastructure platform for Central and West Africa — a platform where facilities self-register, update their own data, and where patients leave reviews. A platform that makes the invisible visible.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Try it live: &lt;a href="https://healthnearby-8kw8.vercel.app" rel="noopener noreferrer"&gt;https://healthnearby-8kw8.vercel.app&lt;/a&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select Douala + Pharmacy → click Search&lt;/li&gt;
&lt;li&gt;Toggle the MTN MoMo filter&lt;/li&gt;
&lt;li&gt;See which pharmacies accept Mobile Money and are &lt;strong&gt;open right now&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click on a facility → see full details, opening hours, services, payment methods&lt;/li&gt;
&lt;li&gt;Tap Call now to call directly from your phone&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The app currently covers &lt;strong&gt;20 healthcare facilities&lt;/strong&gt; across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Douala (15)&lt;/strong&gt;: hospitals, clinics, pharmacies, laboratories, community health centers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Yaoundé (5)&lt;/strong&gt;: same categories, Cameroon's capital city&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/joanayissindong" rel="noopener noreferrer"&gt;
        joanayissindong
      &lt;/a&gt; / &lt;a href="https://github.com/joanayissindong/healthnearby" rel="noopener noreferrer"&gt;
        healthnearby
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Find healthcare facilities in Cameroon
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🏥 HealthNearby&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Find healthcare facilities in Cameroon — with real-time open/closed status and Mobile Money filters.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;It is 11 PM in Bépanda, Douala. A mother's child has a fever that won't break. She needs a pharmacy — open right now, that accepts MTN MoMo. She has no app to check. She starts calling neighbors.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;HealthNearby was built to end that walk.&lt;/p&gt;
&lt;p&gt;🔗 &lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://healthnearby-8kw8.vercel.app" rel="nofollow noopener noreferrer"&gt;https://healthnearby-8kw8.vercel.app&lt;/a&gt;
💻 &lt;strong&gt;API:&lt;/strong&gt; &lt;a href="https://healthnearby.vercel.app/api/v1/facilities" rel="nofollow noopener noreferrer"&gt;https://healthnearby.vercel.app/api/v1/facilities&lt;/a&gt;
📝 &lt;strong&gt;DEV.to article:&lt;/strong&gt; &lt;a href="https://dev.to/joanayissindong/healthnearby-find-healthcare-facilities-in-cameroon" rel="nofollow"&gt;https://dev.to/joanayissindong/healthnearby-find-healthcare-facilities-in-cameroon&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;7.9%&lt;/strong&gt; of Cameroonians have health insurance — 92.1% navigate the system entirely on their own&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;70%&lt;/strong&gt; of all healthcare spending comes directly from households&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;19.5 million&lt;/strong&gt; active Mobile Money accounts — yet no way to filter facilities by payment method&lt;/li&gt;
&lt;li&gt;On-duty pharmacy rotations are published only in local newspapers — inaccessible at 11 PM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The facilities exist. The payment infrastructure exists. &lt;strong&gt;What's missing is the information layer.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;HealthNearby is that information layer.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🔍 &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/joanayissindong/healthnearby" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




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

&lt;p&gt;&lt;strong&gt;Tech Stack&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Hosting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + TailwindCSS (Vite)&lt;/td&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Node.js + Express REST API&lt;/td&gt;
&lt;td&gt;Vercel (serverless)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;PostgreSQL (20 seeded facilities)&lt;/td&gt;
&lt;td&gt;Neon&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Architecture: Clean Architecture + DDD&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built this with &lt;strong&gt;Clean Architecture&lt;/strong&gt; combined with &lt;strong&gt;Domain-Driven Design&lt;/strong&gt; (DDD). Under competition pressure, it's tempting to write fast spaghetti code. I refused to. Here's why it mattered: when bugs appeared, I isolated them in minutes because each layer had a single responsibility.&lt;br&gt;
The 4 layers, with strict dependency rules:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Presentation  →  Controllers, Routes, Middleware&lt;/p&gt;

&lt;p&gt;Application   →  Use Cases, DTOs, Mappers, Filters&lt;/p&gt;

&lt;p&gt;Domain        →  Entities, Value Objects, Repository Interfaces&lt;/p&gt;

&lt;p&gt;Infrastructure → PostgreSQL, Repository Implementations, Seeders&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Golden rule:&lt;/strong&gt; the Domain layer has zero external dependencies. It does not know about PostgreSQL, Express, or React. It contains only pure business logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Design Patterns&lt;/strong&gt;&lt;br&gt;
Repository Pattern — &lt;code&gt;IFacilityRepository&lt;/code&gt;  is a pure interface in the Domain layer. &lt;code&gt;PostgresFacilityRepository&lt;/code&gt;  in Infrastructure implements it. The Domain never touches PostgreSQL directly. Swapping the database tomorrow requires changing exactly one file.&lt;br&gt;
&lt;em&gt;Use Case Pattern&lt;/em&gt; — one class = one business action, fully testable in isolation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class SearchFacilitiesUseCase {
  constructor(facilityRepository) {
    this.facilityRepository = facilityRepository;
  }
  async execute(searchQueryDTO) {
    const facilities = await this.facilityRepository.search(searchQueryDTO);
    return facilities.map(FacilityMapper.toResponseDTO);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Value Objects&lt;/em&gt; — &lt;code&gt;OpeningHours&lt;/code&gt; is an immutable Value Object that encapsulates the real-time open/closed logic. No cron job. No stale boolean in the database. Status is computed at request time from the current local time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class OpeningHours {
  constructor({ weekdays, saturday, sunday, is_24h, is_on_duty }) {
    Object.freeze(this); // immutable
  }
  isOpenNow() {
    if (this.is_24h || this.is_on_duty) return true;
    const now  = new Date();
    const day  = now.getDay();
    const time = now.getHours() * 60 + now.getMinutes();
    const range = day === 0 ? this.sunday
                : day === 6 ? this.saturday
                : this.weekdays;
    if (!range || range.toLowerCase().includes('emergency')) return false;
    const [open, close] = range.split('-').map(t =&amp;gt; {
      const [h, m] = t.trim().split(':').map(Number);
      return h * 60 + m;
    });
    return time &amp;gt;= open &amp;amp;&amp;amp; time &amp;lt; close;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Strategy Pattern&lt;/em&gt; — filters are composable strategies. Any combination works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FilterChain.buildFrom({ city, type, mtn_momo, orange_money, on_duty })
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mobile Money Was Not an Afterthought&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In most countries, you'd add "accepts Visa" as a minor detail. In Cameroon, Mobile Money is infrastructure. Cameroon has &lt;strong&gt;19.5 million active mobile money accounts&lt;/strong&gt; (BEAC, 2023) and processed &lt;strong&gt;2.2 billion transactions&lt;/strong&gt; in 2023 alone — a 3.6x increase since 2019. MTN MoMo and Orange Money together control over &lt;strong&gt;80% of all electronic transactions&lt;/strong&gt; in the country.&lt;/p&gt;

&lt;p&gt;Only &lt;strong&gt;7% of young Cameroonians have a bank account&lt;/strong&gt; (FinMark Trust). Mobile Money is not a payment option. It is the payment option.&lt;/p&gt;

&lt;p&gt;Designing the payment filter as a first-class feature — indexed in PostgreSQL, exposed as a primary UI filter, displayed prominently on every facility card — was not a product decision. It was a decision rooted in how this community actually lives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PostgreSQL on Neon, with indexes designed for the most common query patterns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE INDEX idx_facilities_city   ON facilities(city);
CREATE INDEX idx_facilities_momo   ON facilities(payment_mtn_momo);
CREATE INDEX idx_facilities_orange ON facilities(payment_orange_money);
CREATE INDEX idx_facilities_duty   ON facilities(is_on_duty);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every filter combination hits an index. Search is fast even on a slow mobile connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time Status Without a Cron Job&lt;/strong&gt;&lt;br&gt;
Instead of storing is_open in the database and updating it with a scheduled job, I compute the status at request time in the OpeningHours Value Object. No cron job, no stale data, no extra infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile Money First&lt;/strong&gt;&lt;br&gt;
MTN MoMo and Orange Money are the primary payment methods for most Cameroonians — not credit cards. Designing the data model and filters around this reality was a core architectural decision, not an afterthought.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's Next&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Short term:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📍 GPS-based geolocation — "show me what's closest to me right now"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🏙️ Expand to Bafoussam, Bamenda, Garoua and 5 more Cameroonian cities&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔔 On-duty pharmacy weekly notifications via WhatsApp or SMS&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Long term:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🏥 Facility self-registration portal — let clinics and pharmacies manage their own data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;⭐ Patient reviews and ratings&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌍 Expand to neighboring countries: Gabon, Congo, Côte d'Ivoire&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📊 Health access analytics dashboard for NGOs and government health agencies&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🤝 API for integration with national health information systems&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HealthNearby is not just a weekend project. It is the first building block of something much larger: a healthcare information infrastructure for Africa that has never existed. We're starting with 20 facilities in two cities. The vision is every facility, every city, every country in the region.&lt;/p&gt;

&lt;p&gt;The mother in Bépanda shouldn't have to walk in the dark. She shouldn't have to call five neighbors. She shouldn't arrive at a closed pharmacy at midnight with a sick child.&lt;br&gt;
She just needs to open an app.&lt;br&gt;
&lt;strong&gt;That's what HealthNearby is for.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built with ❤️ from Yaoundé, Cameroon.&lt;br&gt;
Joan Wilfried AYISSI NDONG — DEV Weekend Challenge, March 2026&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%2Fllk3rdj75ua2hjm49z59.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%2Fllk3rdj75ua2hjm49z59.png" alt=" "&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%2Fhtb22jl6h3v5m8dro56w.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%2Fhtb22jl6h3v5m8dro56w.png" alt=" "&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%2Fsqa4lw6k2nwkpyi6xog8.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%2Fsqa4lw6k2nwkpyi6xog8.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title># Week 1 — I started ALX ProDev Back-End. Here's why.</title>
      <dc:creator>Joan Ayissi Ndong</dc:creator>
      <pubDate>Fri, 27 Feb 2026 00:40:24 +0000</pubDate>
      <link>https://dev.to/sudojayn/-week-1-i-started-alx-prodev-back-end-heres-why-2p5f</link>
      <guid>https://dev.to/sudojayn/-week-1-i-started-alx-prodev-back-end-heres-why-2p5f</guid>
      <description>&lt;p&gt;I'll keep this short because honestly, week 1 doesn't have much to show yet.&lt;br&gt;
And I think that's fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  A bit about me
&lt;/h2&gt;

&lt;p&gt;My name is Joan Wilfried. I'm a Full-Stack developer based in Cameroon.&lt;br&gt;
React, Node.js, Angular, Spring Boot — I've shipped real projects over the past 5 years.&lt;br&gt;
But I kept feeling like I was skimming the surface of backend development.&lt;br&gt;
I wanted to go deeper. Understand what's actually happening under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why now
&lt;/h2&gt;

&lt;p&gt;I have a project in mind. Something that solves a real problem I see every day around me in Central Africa.&lt;br&gt;
I'm not ready to talk about it in detail yet — but building it properly requires a solid backend foundation.&lt;br&gt;
Python. Django. Microservices. Docker. CI/CD. Security.&lt;/p&gt;

&lt;p&gt;So I made a decision and enrolled in ALX ProDev Back-End.&lt;br&gt;
8 months. Full commitment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Week 1 — Where I'm at
&lt;/h2&gt;

&lt;p&gt;Currently in Professional Foundations (the first 3 months before the technical specialization).&lt;br&gt;
71% of week 1 tasks completed. 5 days left.&lt;br&gt;
Nothing technical to show yet — but the foundations matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'll do here
&lt;/h2&gt;

&lt;p&gt;Every week, one article. No tutorials. No "10 tips to become a senior dev" nonsense.&lt;br&gt;
Just an honest account of what I'm learning, what's hard, what clicks, what doesn't.&lt;/p&gt;

&lt;p&gt;If you're on a similar journey — learning, building, figuring things out — I'd love to hear from you.&lt;/p&gt;

&lt;p&gt;See you next week. 👋&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;strong&gt;Joan Wilfried — Cameroon&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;&lt;a href="https://dev.toMy%20portfolio"&gt;github.com/joanayissindong&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>backend</category>
      <category>career</category>
      <category>devjournal</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
