{"id":30367149,"url":"https://github.com/3forges/kairos","last_synced_at":"2026-05-09T03:38:14.279Z","repository":{"id":295430471,"uuid":"990069435","full_name":"3forges/kairos","owner":"3forges","description":"Grab the kairos, it is time to take action. TODO: https://github.com/rdev/liquid-glass-react","archived":false,"fork":false,"pushed_at":"2025-08-12T13:05:57.000Z","size":838,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-08-19T23:18:06.728Z","etag":null,"topics":["fastapi","react","whisper-ai"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3forges.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-25T12:46:24.000Z","updated_at":"2025-06-14T09:16:31.000Z","dependencies_parsed_at":"2025-05-26T13:48:32.138Z","dependency_job_id":null,"html_url":"https://github.com/3forges/kairos","commit_stats":null,"previous_names":["3forges/kairos"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/3forges/kairos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3forges%2Fkairos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3forges%2Fkairos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3forges%2Fkairos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3forges%2Fkairos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3forges","download_url":"https://codeload.github.com/3forges/kairos/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3forges%2Fkairos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32806451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","react","whisper-ai"],"created_at":"2025-08-19T23:13:46.086Z","updated_at":"2026-05-09T03:38:14.261Z","avatar_url":"https://github.com/3forges.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kairos\n\nTo deploy Kairos you will need at least one machine with:\n* 4 CPUs\n* 10 GB of RAM,\n* also 100GB hard disk\n* a GNU/Linux, a debian 12 is recommended\n* Docker, and docker compose installed\n\nOnce the deployment of kairos is done, you do not need any connection to the internet for it to work, and you will have:\n\n* A React frontend, \n* A FastAPI REST API\n* A Postgres Database\n* A Whisper AI Speech-to-text service\n\nAnd in the React frontend, you an press a microphone button, speak, and the private Whisper AI will trasncribe to text what you say.\n\nIt WILL work with only 4 CPU, no GPU, and 10 GB of RAM, but the whisper AI will be slow, very slow.\n\nSo for a production deployment, you will need more CPU, and especially you will need GPUs. We will provide technical details for that, in future releases.\n\nNever the less, the point of this first release, is to give you a fully private Whisper Speech-to-text Service ACTUALLY working, with a decent react frontend, and a decent REST API.\n\nEnjoy.\n\n## Deploy first\n\n\n```bash\n\nexport DESIRED_RELEASE='0.0.2'\nexport KAIROS_HOME=~/kairos_home\n\nif [ -d ${KAIROS_HOME} ]; then\n rm -fr ${KAIROS_HOME}\nfi;\n\nmkdir -p ${KAIROS_HOME}\n\ngit clone git@github.com:3forges/kairos.git ${KAIROS_HOME}\n\ncd ${KAIROS_HOME}\n\ngit checkout ${DESIRED_RELEASE}\n\n\ncd ./speaches/\nchmod +x ./start.sh\n./start.sh\n\ncd ../\n\n# -\n# In the ${KAIROS_HOME}/.env be careful to\n# set the BACKEND_CORS_ORIGINS en var. to\n# which origins you need, at least for \n# HTTP localhost:\n# -\n# BACKEND_CORS_ORIGINS=\"http://localhost:5173,http://localhost:8001,http://localhost:8002,http://localhost:8000\"\n# -\n# \ndocker-compose up -d\n```\n\nAnd now on the machine where you deployed, you can use the app at http://localhost:5173/\n\n### Configure more\n\nYou can update configs in the `.env` files to customize your configurations.\n\nBefore deploying it, make sure you change at least the values for:\n\n- `SECRET_KEY`\n- `FIRST_SUPERUSER_PASSWORD`\n- `POSTGRES_PASSWORD`\n\nYou can (and should) pass these as environment variables from secrets.\n\nRead the [deployment.md](./deployment.md) docs for more details.\n\n## Special Thanks\n\nThis first release was created starting from the `0.8.0` release of the awesome \u003chttps://github.com/fastapi/full-stack-fastapi-template\u003e\n\n\u003c!--\n## Why Kairos\n\n### Kairos use cases\n\nKairos is a platform anyone can use to gather contributions to a global project.\n\nIn a company or organization, where a team wants to gather contributions, ideas, suggestions from an audience.\n\nFor example, an NGO could use Kairos to gather ideas, suggestions, from its members:\n\n* about how a project should be implemented,\n* or what organizations changes should be realized. Maye for example preparing a change to the NGO legal status.\n\nKairos is typically useful for such gathering, over limited periods in time:\n\n* During 6 months, ideas are gathered to prepare 2 or 3 proposals of change in the legal status of an NGO, and after 6 months, the members of the organizations vote to choose one among the 2 or 3  proposals.\n* Other examples will be given in the near future.\n\n### How Kairos makes a difference ?\n\nSo, what's the difference with other solutions enabling organizations to gather ideas/proposals/contributions ?\n\nThe difference is that the data belongs to those who gie their ideas, proposals, contributions.\n\nHow does Kairos achieves that?\n\nTo begin with, Kairos brings actual full sovereignity: You can run kairos on your own servers, fully. But that is not enough.\n\nIndeed, say 10 000 people decide to work together and gather ideas, to reach a goal (a project, a change of legal status, etc..):\n\nWhen you provision kairos for the first time:\n\n* You invite all of the people of your organizations in a meeting, like a general assembly. If your organizations has 10 000 people, it might be too hard to organize a meeting for 10 000 people, so you will:\n  * group the people of your organizations in groups of 50 people,\n  * ask each group to choose one or 2 person(s) to represent them in the general assembly.\n* You will end up in an assembly of less than 400 people.\n* Each person in the gathered assembly, will be given one piece of paper, and will write his/her name on the paper.\n* All of the papers will be put in a box. The box is shooked, to mix all of the papers, and one person will draw 13 papers from the box, in front of the eyes of all.\n* The 13 people will receive 13 keys, that they have the responsibility to hold secret to theirs only.\n\nWhen the 13 people have been randomly chosen, the KAiros provisioning process last step, will be performed in front of the eyes of every one, ending in printing the 13 keys, on 13 papers, each given to one of the 13 randomly chosen people.\n\nNow, in Kairos, it is impossible to delete, or modify any data int he database, unless at least 11 persons among the 13, bring their keys in person.\n\nKairos cn be configured so that it is up to 256 keys, and and at least N keys (N\u003c255) are required to modify or delete any data.\n\nUsual super admin can quey the data, and work with it, to the service of the people of their organization, in any way they like, but they cannot modify, of delete any data, without the global consent of the organization.\n\nThey process of choosing those \"13 key holders\", must be based on random drawing from a box in an assembly, this is essential for you people, to be able to make sure you keep control over the data.\n\nNote that the number of key holders (above 13 in example), must be both:\n* random\n* and \"high enough\", \n\nSuch that it would make really hard, for anyone to try and corrupt the data without your consent, to get contorl over enough key holders, to be able to gain control over  your data.\n\nLet's give an example:\n\n* If you are 10 000, then we would advise you have at least 64 secret key holders, and at least 48 are required to be allowed to delete , or modify, any data.\n* Then imagine how hard it would be, for anyone, to corrupt 48 people randomly chosen among the 10 000 of you.\n* This is why we would strongly advise that the people going to the assembly, ae also randomly picked in each smmal group of 50 people: this makes it impossible for anyone, to predict or influence **_who_** are going to be the key holders.\n\n--\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3forges%2Fkairos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3forges%2Fkairos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3forges%2Fkairos/lists"}