About this project
it-programming / web-development
Open
General Description:
We are looking for a freelance developer with strong experience in Python and web development to build a relationship and messaging platform. The system must allow user registration via WhatsApp, sending personalized and bulk messages, structured data storage, and visualization of the entire referral network on an interactive map of Colombia.
The solution should be designed in two versions:
1. With integration to the official WhatsApp Business API.
2. With integration to unofficial WhatsApp libraries.
Functional Requirements
Registration & Invitations
• Registration only with WhatsApp number.
• The invited person automatically receives a confirmation message.
• Once confirmed, they are registered in the network.
• The unique id code will be the user’s national id number provided during registration.
• A user cannot be invited again by another person.
Data Management
• After accepting the invitation, the user must complete a form with:
o Full name
o National ID number
o Phone number
o Place of residence
• GPS geolocation must be captured at the moment of registration.
• If GPS is off, the user must be asked to enable it or enter their location manually.
• All data must be stored in a structured database.
Integrated Messaging
• Confirmation and notification messages must be sent automatically when referring or accepting.
• The administrator must be able to customize all messages.
• The system must support both 1-to-1 and bulk messaging to network users.
Referral Network
• No limit on the number of referrals per user.
• Each person belongs to only one referral chain.
• The system must display the full hierarchical referral tree (level 1, 2, 3, …).
• The administrator must be able to filter which segments to display.
Map Visualization
• Each registered user will appear as a point on the map of Colombia, located in the municipality of residence provided during registration.
• Points must change size and color gradually depending on the number of referrals, scaled in multiples of ten (e.g., 0–10, 11–20, etc.).
• When clicking on a point, a popup must display the user’s full name and ID number.
• The administrator can filter visualization by department and municipality.
• The map is internal use only; no export of information or images.
Administration Panel
• Single general administrator role.
• Ability to view, deactivate, or delete users.
• Ability to filter network visualization.
• Ability to manage messages and internal reports.
Database & Security
• Database must be hosted on a local server.
• Secure login implementation (username and password, with optional token-based authentication).
• Compliance with Habeas Data regulations in Colombia: explicit user authorization for data usage must be requested.
Scalability & Future Growth
• The platform must be designed to handle up to 2 million users.
• The architecture must allow future scaling into a mobile app (Android/iOS).
Suggested Technical Requirements
• Backend: Python (Django or Flask).
• Frontend: Simple and intuitive (html, css, js or react).
• Database: PostgreSQL with PostGIS (for geolocation).
• Libraries:
o geopandas, folium (or similar) for map visualization.
O networkx for relationship graphs.
O WhatsApp Business API / Twilio / unofficial WhatsApp libraries for messaging.
• Modular, well-documented, and deployable source code.
Expected Deliverables
• Fully functional web platform with both WhatsApp integration versions.
• Structured database with users and relationships.
• Interactive map with points by municipality, scalable colors and sizes, and popups showing user data.
• Operational admin panel.
• Basic user manual.
• Complete and documented source code.
Spanish communication is also possible if you prefer.
Category IT & Programming
Subcategory Web development
What is the scope of the project? Create a new custom site
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Social media (Facebook, Twitter, etc.)
Roles needed Designer, Developer, Design a landing page
Delivery term: Not specified
Skills needed