I'm Salah Eddine Medkour. I teach Python and ICT at Badji Mokhtar University in Annaba, Algeria, and I build things on the web when my brain won't let me sleep. Before Nadeef, I made AirQuiz, an offline quiz platform that saved me 95% of my grading time when the university's internet couldn't handle 289 students taking exams simultaneously. I graduated with a master's in Network Engineering, but most of what I actually build comes from being annoyed at problems that shouldn't exist.
The trash pile that started everything
There's a spot near my apartment. Trash bags piled against a crumbling concrete pillar under a highway overpass. It's been there for three weeks. Every morning I walk past it. Every morning I think someone should clean it. Every morning I realize I'm "someone" and I keep walking.
This is the problem with civic responsibility. Everyone sees it. Nobody owns it. The municipality won't come unless you call, and calling means navigating a phone tree that goes nowhere. Posting in a Facebook group gets 30 "inshallah someone fixes this" comments and zero action.
I wasn't planning to build an app about this. I was scrolling through my Notes app looking for a grocery list when I found an entry from 2 AM three months ago. Just a title: "Trash reporting app but make it not annoying." Below it, a messy diagram of pins on a map, some arrows, the word "gamification" circled twice.
I don't remember writing this. But drunk-brain or sleep-deprived-brain or whatever version of me wrote it was right. The idea wouldn't leave.
What Nadeef actually is
Nadeef means "clean" in Arabic. It's a PWA, a progressive web app, which means it works on your phone without downloading anything from an app store. No 50MB install. No permissions popups. Just a link.
The concept is stupid simple. You see trash. You open Nadeef. You take a photo with your live camera (no uploading old photos from your gallery because people will absolutely try to cheat). GPS tags your exact location. You pick a severity level: minor litter, accumulated waste, or environmental hazard. You add a title. Done. A red pin drops on the map.
Someone else nearby sees the pin. They tap it. They see your photo, the location, how much XP they'll earn for cleaning it. They accept the mission. They clean it. They take an after photo. You get a notification asking you to confirm the cleanup is real. You swipe through a before/after slider. If it looks good, you approve. They get XP. The pin turns green. Everyone moves on.
That's the whole loop. Report, clean, verify, reward.
Why I built it in 24 hours
I gave myself one day. Not because I'm fast but because if I spend more than a weekend on something, I'll overthink it into complexity and never ship.
I used what I knew would work: React for the UI, Supabase for the database and auth, Leaflet for maps, Netlify to host it. All free tiers. Zero dollars spent. I'm not trying to raise money or pitch investors. This is a tool, not a startup.
The tech stack matters less than the decisions I made while building:
Camera-only uploads. No gallery access. This prevents someone from uploading a photo they took six months ago and claiming they just cleaned a spot. The camera forces fresh photos with GPS metadata I can validate.
Before/after slider. This is the part I'm most proud of. It's just two images with a draggable divider, but the emotional impact of sliding from dirty to clean is absurd. People spend 20 seconds just dragging the slider back and forth. It makes the transformation undeniable.
Gamification without manipulation. You earn XP for reporting and cleaning. You rank up from Scout to Pioneer to Guardian. You unlock badges for cleaning at dawn, cleaning in teams, being the first to clean in a new neighborhood. But there are no daily login streaks that punish you for missing a day. No dark patterns. No engineered addiction. Just visible progress for actual work.
Bilingual by default. The app is Arabic and English, toggled with one tap. Most civic tech ignores Arabic or treats it as an afterthought. I built the UI in both languages from day one, with proper right-to-left layout for Arabic, because half of Algeria prefers Arabic interfaces and they shouldn't have to settle.
The philosophy underneath
Nadeef is not about altruism. It's about ownership.
When trash sits on your street for weeks, you feel powerless. The system failed. The municipality didn't come. Nobody cares. So you stop caring too. Learned helplessness.
Nadeef flips that. You see trash. You report it. Someone cleans it. You verify it. Suddenly you're not powerless. You identified a problem. Someone else solved it. The system worked because you both made it work.
This is civic infrastructure built by civilians. No budget. No bureaucracy. Just people who live somewhere deciding that somewhere should be cleaner.
The gamification exists because humans are competitive and we respond to visible progress. The leaderboard shows you the top cleaners this week. The badges show you milestones. The XP number goes up. These are extrinsic motivators, sure, but they get people through the door. Once you've cleaned three spots and seen the before/after photos, you don't need the XP anymore. You're hooked on the transformation itself.
What people actually do with it
I didn't have a marketing budget or a grand launch plan. I just took some screenshots, wrote a brutally honest post about why I built it, and dropped it into a few Algerian Facebook groups and Reddit.
I fully expected it to get ignored or buried. Instead, the community loved it.
Because it’s strictly non-profit—no ads, no subscription fees, no data selling—people immediately dropped their defenses. They realized they weren't being sold a product; they were being handed a tool.
Within hours, real users were logging in. They were dropping pins on the map over Annaba, testing the mechanics, engaging with the RTL Arabic layout, and validating the core loop. People in the comments started suggesting features like a "Wall of Shame" to hold local municipalities accountable based on the map data.
Seeing strangers across the internet instantly grasp the value of the platform—and actually care enough to test the mechanics—gave me a feeling I wasn't expecting. Validation. I just built the engine, but the community proved they were ready to drive it.
That's when I knew this might actually work.
The problems I didn't anticipate
Spam. Within 48 hours someone uploaded a photo of a cat and marked it as a level 3 environmental hazard. I added a flagging system.
Fake cleanups. Someone uploaded an after photo that was clearly just a different angle of the same trash pile. I tightened the EXIF validation and added community voting for suspicious submissions.
Territorial behavior. Two users started competing for the same spots. They'd both rush to claim a pin the second it appeared. I added a claim-locking system. Once someone hits "start cleaning," they get a 30-minute exclusive window.
These are good problems. They mean people care enough to try to break the system.
What's missing and what's next
Nadeef has no business model. I'm not monetizing this. I'm not putting ads in it. I'm not selling data to waste management companies.
I do want partnerships, but only under specific terms. If a company wants to sponsor a cleanup campaign or fund supplies, fine. Any profit from those collaborations goes to registered charities or gets reinvested into cleanup campaigns. No one gets rich off people picking up trash.
I'm also terrible at promotion. The app exists. It works. I posted it on social media once. That's the extent of my marketing. I'm open to volunteers who want to help spread it, moderate content, translate it to other languages, or build on top of it.
If an NGO in Tunisia or Morocco wants to adapt it for their city, the code will eventually be open source. Take it. Fork it. Make it better.
Right now I'm focused on making it work well in Annaba. Ten users cleaning three spots each per week is more valuable than 1,000 users who sign up, look around, and leave.
Why I'm writing this
I'm writing this because I want the app to show up when someone Googles "civic engagement Algeria" or "community cleanup tool" or "how to report trash in my city."
I'm also writing this because building in public is uncomfortable and I need to get better at it. I don't naturally share half-finished work. I don't naturally ask for help. But Nadeef won't scale if I'm the only one who knows it exists.
If you're in Annaba and you've walked past the same trash pile for three weeks, try Nadeef. If you're in another city and you want to adapt the idea, contact me. If you're a graphic designer or developer or community organizer and you want to help, I'll figure out how to coordinate volunteers.
The app is at nadeef.netlify.app. It's a website. Open it on your phone. No download. No signup required to browse the map. You only need an account if you want to report or clean.
The source code isn't public yet but it will be. React, Supabase, Leaflet, Tailwind. Standard modern web stack. Nothing fancy. It works.
The thing I keep thinking about
There's a concept in Islam called sadaqah jariyah. Continuous charity. The idea is that some good deeds keep generating reward even after you die. Planting a tree. Digging a well. Teaching someone to read.
I'm not religious, but the concept resonates. If Nadeef helps someone clean one spot, and that inspires someone else to clean another, and that creates a norm where neighborhoods take care of themselves, then the initial effort compounds.
I didn't set out to build something altruistic. I set out to scratch an itch. I was annoyed that trash sat in public spaces for weeks because the coordination problem was unsolved. So I solved the coordination problem.
If that happens to make the world slightly cleaner, I'll take it. But mostly I just wanted to stop walking past that trash pile every morning and feeling helpless.
Now I don't.
Salah Eddine Medkour is a web developer, network engineering graduate, and university instructor from Annaba, Algeria. He builds tools that solve problems he's personally annoyed by. You can find him on LinkedIn or contact him at medkoursalaheddine@gmail.com.
My Website : salaheddinemedkour.me
Nadeef is live at NADEEF APP.
Top comments (0)