Learn JavaScript in Rwanda: A 90-Day Plan That Actually Works
To learn JavaScript in Rwanda in 90 days, split your time into three phases: Days 1-30 cover fundamentals (variables, functions, arrays, DOM manipulation), Days 31-60 cover intermediate topics (async/await, APIs, local storage, basic React), and Days 61-90 focus on building two portfolio projects relevant to the Rwandan market (such as a MoMo payment page or a mobile-first business directory). Use freeCodeCamp for structured lessons (downloadable for offline use), MDN Web Docs as a reference, and kLab or university libraries for reliable internet access when needed.
Why JavaScript Is the Right First Language for Rwanda
JavaScript is not the only language you could learn. But for the Rwandan market in 2026, it is the most practical starting point. Here is why.
First, employer demand. Browse BrighterMonday Rwanda, Kigali job boards, or LinkedIn listings for Rwandan tech companies. JavaScript (and its frameworks: React, Node.js, Next.js) appears in more job descriptions than any other language. If you want a job in Kigali's tech scene, JavaScript gives you the widest set of options.
Second, versatility. JavaScript runs in the browser (frontend), on the server (Node.js), in mobile apps (React Native), and in desktop apps (Electron). Learning one language lets you build across multiple platforms. Python is great for data science. Java is great for enterprise. But neither gives you the full-stack flexibility that JavaScript does.
Third, the ecosystem is massive. When you hit a problem, someone has already asked about it on Stack Overflow. When you need a library, npm has it. When you want a tutorial, YouTube has hundreds. This density of resources matters when you are learning on your own, which most Rwandan developers are.
Fourth, mobile money integration. The MoMo API and Airtel Money API both accept HTTP requests from any language, but the majority of integration tutorials and examples are written in Node.js. If you want to build payment flows for the Rwandan market, JavaScript gets you there with the most community support.
Days 1 to 30: The Fundamentals
The goal for the first month: understand how JavaScript works well enough to build a simple interactive webpage. Not a React app. Not a Node.js server. A plain HTML page with JavaScript that responds to user actions.
What to learn (in order):
- Variables and data types. let, const, strings, numbers, booleans, arrays, objects. Spend 3 to 4 days here.
- Control flow. if/else, for loops, while loops, switch statements. Spend 3 to 4 days.
- Functions. Function declarations, arrow functions, parameters, return values. This is where programming starts to feel real. Spend 5 days.
- Arrays and objects in depth. .map(), .filter(), .find(), .reduce(), object destructuring. Spend 5 days. These methods are used everywhere in modern JavaScript.
- The DOM. document.querySelector, addEventListener, innerHTML, classList. How JavaScript talks to HTML. Spend 5 to 7 days.
- First project. Build a simple calculator or a unit converter (RWF to USD, for example). Spend the remaining days.
Resources that work in Rwanda:
- freeCodeCamp JavaScript Algorithms and Data Structures course. Free, browser-based, works on low bandwidth. The exercises are small and self-contained.
- MDN Web Docs. The reference you will use for years. Bookmark it.
- The Odin Project (Foundations path). Free, project-based, slightly more challenging than freeCodeCamp. Good if you want to be pushed.
At the end of month one, you should be able to open a blank HTML file, add a script tag, and build something interactive without copying code from a tutorial. If you cannot do that yet, spend more time here before moving on. The fundamentals are the foundation for everything that follows.
Days 31 to 60: Intermediate JavaScript and Your First Framework
Month two is where most self-taught developers stall. The fundamentals feel repetitive, frameworks feel overwhelming, and the gap between "I can write a for loop" and "I can build an app" feels enormous. The fix: bridge that gap with intermediate concepts before touching a framework.
Week 5 to 6: Async JavaScript and APIs
- Promises, async/await, fetch(). These are how JavaScript talks to servers and APIs.
- Practice by fetching data from free public APIs (weather data, currency exchange rates, news APIs) and displaying it on a page.
- Build a small project: a currency converter that fetches live RWF exchange rates from an API.
Week 7: Local storage and form handling
- localStorage for saving data in the browser. Useful for apps that need to work offline (a real concern in parts of Rwanda with intermittent connectivity).
- Form validation, reading form inputs, preventing default behavior.
- Build a contact list or expense tracker that saves to localStorage.
Week 8: Introduction to React
- Why React exists (component-based UI, state management, reusable pieces).
- Components, props, useState, useEffect. Do not try to learn everything. These four concepts cover 80% of what you need to build basic React apps.
- Build a simple React app: a task manager or a list of Rwandan tech companies with search and filter.
React is the most in-demand frontend framework in Rwanda and across East Africa. Vue.js has a following, but React dominates the job listings. Start here. You can always learn Vue later if a specific job requires it.
If you want structured instruction for this phase instead of piecing together free tutorials, McTaba's Tech Foundations course (KES 2,999, approximately RWF 30,000) covers the mental models and decision-making that free tutorials skip: how to think about code architecture, how to debug systematically, and how to read documentation instead of depending on video walkthroughs.
Days 61 to 90: Build Two Portfolio Projects That Matter
The final month is about building. Not tutorials. Not exercises. Two complete projects that you can show to an employer or a client.
Project 1: A mobile-first business tool (Week 9 to 10)
Pick something relevant to Rwanda:
- A restaurant menu with MoMo payment integration (even a simulated flow using the sandbox).
- A small business inventory tracker.
- An event listing page for Kigali events with RSVP functionality.
The key: make it mobile-first. Over 80% of Rwandan internet users access the web on phones. An employer who sees a desktop-only portfolio will question whether you understand the market you are building for.
Project 2: Something that uses an API (Week 11 to 12)
- A weather dashboard for Rwandan cities using a weather API.
- A currency converter with live RWF rates.
- A WhatsApp-integrated notification system (using the WhatsApp Business API).
Deploy both projects. A project that only runs on your laptop is invisible. Vercel and Netlify both offer free hosting that works well for React apps. See our guide on deploying your first app for free from Rwanda.
Put both projects on GitHub with clear README files. Push to GitHub Pages or Vercel. Add them to your portfolio. You now have proof that you can build real things, not just complete tutorials.
For guidance on which projects Rwandan employers actually care about, read our detailed guide on portfolio projects that impress Rwandan employers.
How to Stay on Track When You Are Learning Alone
The 90-day plan is straightforward on paper. The hard part is not quitting on day 23 when objects stop making sense, or day 47 when async/await feels impossible, or day 68 when your React project has a bug you cannot find.
Practical strategies that work in Rwanda:
- Study at the same time every day. Whether it is 6 AM before work, lunch break, or 8 PM after dinner. Consistency matters more than duration.
- Join a local developer community. kLab in Kigali has open hours and events. The Rwanda Developer Community on Twitter/X and WhatsApp groups give you people to ask. You are not the first person to be confused by closures. Someone has an explanation that will click for you.
- Use phone-friendly resources for review. When you do not have a laptop available, review concepts on your phone using MDN, freeCodeCamp articles, or YouTube (downloaded for offline).
- Track your progress visibly. A simple checklist on paper or a GitHub contribution graph. Seeing the streak builds momentum.
- Accept that confusion is normal. Every professional developer was confused by the same concepts you are confused by. The difference is they pushed through it. If a concept does not make sense after an hour, take a break, try a different resource, or ask someone. Do not sit and stare.
If self-study is not working and you want structured accountability, McTaba's bootcamp model exists specifically for this. Twenty-six weeks of structured curriculum with mentorship. But it is not the only path. Plenty of Rwandan developers have learned entirely through free resources and community support. The 90-day plan above is designed for that path.
After 90 Days: What Comes Next
At the end of 90 days, you are not a senior developer. You are a beginner who can build things. That is a significant milestone, and it is enough to start applying for junior roles, freelance projects, or internships.
Paths forward:
- Job applications. Start applying to junior JavaScript/React roles in Kigali even if you feel "not ready." You will learn more in three months of real work than in another three months of tutorials.
- Backend development. Add Node.js and Express to your skills. Build a REST API. Connect to a database (PostgreSQL or MongoDB). This makes you a full-stack developer, which is the most employable profile in Rwanda's market.
- Mobile money integration. Learn the MoMo API. This is the skill that separates Rwandan developers from generic JavaScript developers. See our MoMo API integration guide.
- Freelancing. Small businesses in Kigali need websites, landing pages, and simple web apps. Your 90-day skills are enough to start taking these projects.
The 90-day plan gets you to the starting line. The career is a marathon from there. But the hardest part, going from zero to "I can build something," is behind you.
Key Takeaways
- ✓JavaScript is the single most versatile language for the Rwandan job market. It runs in the browser, on the server (Node.js), and in mobile apps (React Native). One language, multiple career paths.
- ✓A 90-day plan works if you commit to 1.5 to 2 hours per day. Less than that, and the concepts do not stick between sessions. More than 3 hours, and most people burn out before month two.
- ✓Build for Rwanda from day one. Generic todo apps teach syntax, but a MoMo checkout page or a Kinyarwanda-English dictionary teaches you how to solve local problems. Employers notice the difference.
- ✓Bandwidth is a real constraint. Download freeCodeCamp lessons, use MDN offline docs, and save YouTube tutorials for offline viewing when you have WiFi access at kLab, a campus library, or a coworking space.
- ✓Join a local community early. The Kigali JavaScript meetup, kLab open hours, and WhatsApp developer groups give you people to ask questions when you are stuck. Isolation kills more coding journeys than difficulty does.
Frequently Asked Questions
- Can I learn JavaScript on a phone in Rwanda?
- You can learn concepts and review syntax on a phone using apps like Grasshopper, SoloLearn, or freeCodeCamp articles. But to actually write and run JavaScript code, you need a laptop or desktop with a browser and a text editor. A used laptop running Chrome and VS Code is sufficient. You do not need a powerful machine.
- How much internet bandwidth does learning JavaScript require?
- Surprisingly little for text-based resources. MDN Web Docs, freeCodeCamp exercises, and documentation all load on slow connections. Video tutorials are the bandwidth problem. Download them during off-peak hours at kLab, a university library, or wherever you have stable WiFi, then watch offline.
- Is JavaScript enough to get a job in Kigali, or do I need to learn more?
- JavaScript plus React is enough for junior frontend roles. For the widest set of opportunities, add Node.js (backend) so you can apply for full-stack positions. Most Kigali tech companies hiring juniors want someone who can work across the stack, even if they specialize later.
- Should I learn JavaScript or Python first in Rwanda?
- For web development and the broadest job market: JavaScript. For data science, automation, or academic research (especially if connected to CMU-Africa): Python. If unsure, start with JavaScript. It lets you build visible things (websites, apps) faster, which keeps motivation high. You can always add Python later.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon