Note: general recommendations only, not professional advice. You are responsible for checking before use. A system you build is a system you're responsible for: security, backups and maintenance. The full text is at the end.
Who this is for
Nonprofits, offices and businesses of 5 to 50 people who manage work today in WhatsApp, in Excel, or in an off-the-shelf tool that doesn't really fit. Especially if:
- You have many volunteers, temporary staff or outside partners, and per-user pricing gets expensive fast.
- You work with sensitive information about beneficiaries, clients or investors, and want to know exactly where it sits and who sees it.
- Your process doesn't fit a ready template: approval steps, fields of your own, or a report the board wants exactly so.
You don't need to code. You need to be able to explain how your work flows, and to copy prompts.
Before you build: maybe you don't need to
Well-known work management tools, such as Monday, Asana, ClickUp or Trello, are good and well maintained, and some offer discounted plans for nonprofits. Check them first. If one fits you as it is, at a price that works, use it. Building your own is worth it when one of the three reasons above is true for you, and when there's one person who will "own" the system after it goes live.
What you'll have at the end of the hour
- A web system that works in the browser and on phones.
- Projects and tasks: owner, status, priority, due date, comments and files.
- Four views: table, a drag-and-drop kanban board, "My tasks" and a calendar by due date.
- Users and permissions: admin, team member and viewer. Each person sees only their projects.
- Reminders: an email to the owner when a task is assigned to them, and a reminder the day before it's due.
- Import from Excel: to bring over what you already have.
What you need
- An account with an AI app builder, such as Lovable, Bolt or Replit. Most have a limited free tier, and for a full build you'll probably need a monthly plan. Check the current price.
- A database with user login. In most of these tools it's built in, or connects in one click (for example Supabase).
- An email-sending service, for reminders (for example Resend). You can add it at the end.
- A list of your projects and tasks today, even in Excel.
One rule you don't bend: build and test only with fictional data. Real data goes in only after the check in Step 7, once you know each user sees only what they're allowed to.
The kit, step by step (60 minutes)
Step 1 (10 minutes): Map your work on one page
What to do: Before the first prompt, write down how your work looks. This is the page you'll paste in Step 2, and it decides whether the system will fit you.
Organization: [name], [what you do], [how many people will use it].
Project types: [for example: clients, events, grants, hiring].
Task stages (the statuses, in order): [for example: To do, In progress, Awaiting approval, Done].
Fields on each task: owner, due date, priority (high / normal / low), [your own fields: for example client, budget, source of funds].
Who uses it: [admins: ...], [team members: ...], [outside viewers: ...].
Who sees what: [for example: a team member sees only projects they're assigned to; a viewer can only read].
Reminders: [for example: an email when a task is assigned to me, and the day before it's due].
Common mistake: copying another tool with 40 field types. Start with four statuses and five fields. Add the rest after two weeks of real use.
Step 2 (10 minutes): The base: projects and tasks
What to do: Start a new project in the builder and paste the first prompt together with your work map.
Build me a projects and tasks management system for an organization, with a clean and simple design.
Our work map:
[paste the work map]
What's needed at this stage:
1. Projects: name, description, owner, start and end date, status.
2. Tasks inside a project: title, description, owner, status following the stages in the map, priority, due date, and the special fields from the map.
3. Comments on a task, with the author's name and date, and file attachments.
4. A project page showing all its tasks in a table, with sorting and filtering by owner, status and due date.
5. Fill the system with fictional data only: 3 projects and 15 tasks, with fictional names.
No login or permissions yet. We'll add them later.
How: When the builder finishes, click everything: create a task, change a status, write a comment. If something doesn't work, tell the builder exactly what you saw: "I clicked X, expected Y, and Z happened".
Step 3 (10 minutes): Four views
What to do: Add the views that make people love tools like this.
Add three task views, and keep the existing table:
1. A kanban board per project: a column for each status, a card for each task (title, owner, due date, priority), and dragging between columns updates the status.
2. "My tasks": all of the user's tasks across projects, grouped into "Overdue", "Today", "This week" and "Later". Overdue tasks are marked in red.
3. A monthly calendar by due date, where clicking opens the task.
In every view: text search, and filters by owner and status. Works well on phones too.
Step 4 (10 minutes): Users and permissions
What to do: Add login, and set who sees what. This is the most important step in the whole kit.
Add user login and permissions:
1. Email and password login, and password reset. No open sign-up: only an admin invites users by email.
2. Three roles: admin (sees and edits everything, manages users), team member (sees and edits only projects they're assigned to), viewer (read only, only in projects they're assigned to).
3. A user management screen for admins: invite, change role, deactivate, and assign to projects.
4. Permissions must be enforced on the server and in the database (Row Level Security or the equivalent), not just by hiding buttons in the interface.
5. An activity log: who changed what and when, on every task and project. Only admins can see it.
After the change, briefly explain exactly how each permission is enforced.
Why this way: the most common mistake in systems built fast is permissions that only "hide" a button while the data itself is open to anyone logged in. Item 4 in the prompt, and the request to explain at the end, are there exactly for this.
Step 5 (5 minutes): Reminders
What to do: Connect an email service and add three reminders.
Add email reminders through an email-sending service (if a key is needed, tell me where to put it, and don't write it in the code):
1. When a task is assigned to a user: an email with the task name, the project, the due date and a link to it.
2. Every morning: an email to each user with their tasks due today or tomorrow, and anything overdue. If there are none, send nothing.
3. Every Monday: an email to admins with a summary of each project: how many tasks closed last week, how many are overdue, and who owns them.
In user settings: an option to turn off each reminder.
Step 6 (10 minutes): Import from Excel
What to do: Add an import screen, so you can bring over what you already have without retyping.
Add an "Import tasks" screen for admins, from an Excel or CSV file:
1. Upload a file and preview the first 10 rows.
2. Column mapping: for each column in the file, choose which field it goes into, or "ignore".
3. Value mapping: statuses and owner names in the file that don't exist in the system are listed, and you choose what each one matches.
4. Before importing, a summary: how many rows will go in, how many will be skipped and why.
5. Every import is recorded in the activity log, and can be undone in one click.
How: Export a file from your current tool or spreadsheet. For testing, first fill a small file with fictional rows, and only then import the real one.
Step 7 (5 minutes): Check permissions before real data
What to do: Make sure yourself that each user sees only what they're allowed to. Without this step, no real data goes in.
How:
- Create three test users, one per role, with email addresses you own.
- Assign the team member to one project only.
- Log in as the team member, in a private window. Check they can't see the other two projects: not in the views, not in search and not in the calendar.
- Log in as the viewer and try to change a status. It shouldn't work.
- Run this prompt and go through the answer:
Before I put in real data, go through the system and check:
1. Is there any database table without per-user access rules? List each table and the rule that applies to it.
2. Can a logged-in user read or change a task in a project they're not assigned to, by calling the server directly rather than through the interface?
3. Are there any keys or passwords in the code?
4. How do I export a full backup of the data, and how do I restore it?
Fix every problem you find, then give me a list of what you fixed.
What it really costs
Three things: a plan for the builder (usually for one builder, not for every user), hosting and a database (for a small organization, usually the free tier or a low monthly fee), and an email service (free up to a certain volume). Prices change, so check them before you start. And there's a fourth cost you won't see on an invoice: someone in the organization has to own the system, fix it and improve it.
Full example: Bridge Forward (a fictional organization)
Everything in this example is fictional: the nonprofit, the people, the projects and the numbers.
The organization: a nonprofit of 12 staff and 80 volunteers that helps young adults into work. Until now: a WhatsApp group per program, and a shared spreadsheet nobody updates.
Project types: mentoring program, event, grant application.
Task stages: To do, In progress, Awaiting director approval, Done.
Fields: owner, due date, priority, program, source of funds.
Who uses it: 3 directors, 9 coordinators, 80 volunteers (viewers, only in their program).
Reminders: an email when a task is assigned, and the day before it's due.
What came out after an hour: three fictional projects, a kanban board per program, and "My tasks" for each coordinator. A volunteer who logs in sees only their own program, read only.
What the Step 7 check found: the first time, a test volunteer saw tasks from another program in search. The Step 7 prompt found that the comments table wasn't restricted by project. The builder fixed it and the repeat check passed. That's exactly why no real data goes in before this step.
Checklist before real data
- Each test user saw only what they're allowed to, in search too
- A viewer can't change anything
- No open sign-up: invitation by an admin only
- No keys or passwords in the code
- You tried exporting a full backup, and it opens
- There's one named person who owns the system
- Users know which information they may put in, and which not
Disclaimer
This content is general recommendations only, not professional, legal, accounting or tax advice. Every business and organization is different. You are responsible for checking that it fits your situation, and for checking the data, prompts and code before you use them. Outside tools, prices and terms of service change, so check them at the source. A system you build yourself is your responsibility, including information security, backups and compliance with privacy law. Before you put in personal information about beneficiaries, clients or employees, get professional advice.
The content, prompts, templates and code are provided as is, with no warranty that they fit a particular purpose or are free of errors. Gindi Innovation and Aviad Gindi are not liable for any damage, direct or indirect, arising from using them or relying on them, including output from AI tools. Use is subject to the site terms.
What's next
This kit builds the base. From here you can go further: approval steps, reports for the board and donors, WhatsApp integration, volunteer and shift management, or an AI agent that prepares your priorities every morning. We can also build and maintain it for you, with responsibility for security.
Want this running automatically in your business? aviad@gindiinnovation.com · gindiinnovation.com