Skip to content
Edson Francisco
  • GovTech & grievance mechanisms

JURIS

Mozambican law in plain language, with anonymous reporting and, since 30 September 2026, the Juris Bot on WhatsApp — I built much of the API and admin panel and now supervise the technical team.

Period
2020–2026
Status
In production
Role
Supervisor of the technical department that maintains the project; earlier, backend developer (REST API and admin panel) and first version of the website
Client
EQUIP Moçambique
Partners
AMAC, Woord en Daad, Mozilla IRL Fund, African Union Civic Tech Fund 2.0

Problem

Much of the population does not know the laws that protect them, and legal texts are hard to read. People facing injustice need a way to report it without exposing themselves.

Solution

I was the first developer after the repository bootstrap: API authentication, CRUD for laws, categories and Q&A with illustrations and audio, trivia, quizzes, and the reporting module with tracking codes. I added email and in-panel notifications, and endpoints for the WhatsApp bot. On the website I built the newsletter, contact form and, in 2024, automated deployment. Today I supervise the technical department that keeps JURIS in production. The project took on new proportions with Juris Bot, a new chat system on WhatsApp launched on 30 September 2026: save the number and ask, and the bot answers in plain language citing the law and the articles it relies on, with a notice that it is legal information, not legal advice.

Technical decisions

  1. 01

    Incremental sync for the app

    `GET /api/data` returns the latest change date across laws, categories, questions, icons and trivia — the app only downloads when something changed.

  2. 02

    Anonymous reports with a tracking code

    Public, unauthenticated routes to submit and check a report by its `Ymd_XXXXX` code, without tying the report to an account.

  3. 03

    Two-channel notifications

    A notifications table with an in-panel bell and email to those involved, with email as fallback when SMS fails.

  4. 04

    Per-contact state for the WhatsApp bot

    The API stores each contact's current step so the bot can resume the conversation where it left off.

  5. 05

    Idempotent quiz seeders

    The insertion script checks whether a question already exists, so it can run repeatedly without duplicating content.

Images

01 / 10 — Juris home page: "Law made simple", with buttons to download the app and view campaigns

Technologies

  • Laravel
  • PHP
  • MySQL
  • JavaScript
  • Bootstrap
  • HTML/CSS
  • GitHub Actions

Verifiable results

launch of Juris Bot, the new chat system on WhatsApp
30 Set 2026
Android app downloads
10 mil+
play.google.com (opens in a new tab)
migrations in the API
43

What I learned

Moving from plain CRUD to a system with notifications, access control and sync for an offline app; and my first CI/CD pipeline.

SDGs

  • SDG 16 · Peace, Justice and Strong Institutionsprimary

    Mozambican law in plain language, anonymous reports with a tracking code and, since 2026, a WhatsApp bot that answers citing the articles of the law.

  • SDG 5 · Gender Equalitycomplementary

    Free content on family law, domestic violence and early marriage, on the app, website and WhatsApp, with illustrated questions and audio.