Inspiration
Estate life already has the circle. Parents split a bulk buy. Someone covers a pickup. A leader speaks for an elder who has no phone. When someone is sick or in danger, that same circle is who people actually call.
The record of who paid, who gave hours, and who needs help still lives in a chat and in one person's memory. Pamoja Circles keeps the basket, the hours, and a community SOS in one place. The SOS goes to the parents, elders, and leader in that circle. It does not go out to strangers.
What it does
A circle is people who already know each other. There is no sign-in in the demo. You view it as one neighbor.
- Pool. Neighbors reserve shares of one buy, such as cooking oil. At the deadline the pool locks if it reached the minimum, and fails if it did not. Money is whole shillings. A leader fee rounds up. Savings are estimated against the shop price the leader entered.
- Time. Neighbors trade hours, including a care cover. The record is the adults and the hours, never a child's name.
- Things. A neighbor can lend an item with a return date.
- Community SOS. Someone who is sick or in danger, or the leader speaking for an elder with no phone, sends one plain alert. Parents, elders, and the leader in that circle receive it, on the door and by text. The circle can see that it is still open, and the same people can close it when someone is with them. A medical emergency still goes to local emergency services. Pamoja tells the neighbors.
- Any phone. A feature-phone page shows the texts a basic handset would send: see the deals, reserve a share, offer hours, and raise or close an SOS, in English and Swahili.
How we built it
Next.js, TypeScript, Tailwind, and PostgreSQL. Pool rules, shilling math, who may act for an elder, and who receives an SOS live in tested library code, not in the pages. Every input is checked. Every screen string is written in English and Swahili. SMS is simulated in the demo and can go out through Africa's Talking. The demo clock can speed time up so a deadline, or an open SOS, can move during a pitch.
Challenges we ran into
Whole shillings. A fee that falls between shillings has to round up or the circle collects too little.
Elders who cannot press the buttons themselves. The leader may act only for the people who named them, including raising an SOS, and the screen says who arranged it.
An SOS that helps without becoming surveillance. It reaches the parents and elders already in the circle. It is not a city-wide panic button, it does not store anything about children, and it does not pretend to dispatch an ambulance.
A basic phone has to carry the same actions. If a parent cannot send the SOS as one text, the door is too complicated as well.
Accomplishments that we're proud of
The pool can open, fill, lock, fail, and complete without a float and without a second click sending a second text.
A leader can act for an elder, on a share or on an SOS, and the door shows who arranged it.
The SOS stays with the people who know the person: parents, elders, and the leader. Strangers are not added to the alert.
The copy is bilingual, the demo can be reset to the same story, and a basic phone is a real path through the circle.
What we learned
The useful unit is the circle that already exists. People will share money, time, and a danger alert with a named neighbor. They will not hand a child's details, or a crisis, to a stranger-matching app.
A basic phone sets the product. The SOS, the share, and the hours all have to fit in one short text.
Built With
- next.js
- node.js
- postgresql
- prisma
- react
- sms
- tailwind-css
- typescript
- ussd
- zod
Log in or sign up for Devpost to join the conversation.