Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗
🌐 Live: ungakoodal.vercel.app · 💻 Source: github.com/triozcompany/koodal · 🎬 Videos, demo & MVPs
Built by TEAM TRIOZ for Build with AI: Code for Communities
▶ Watch the 24-second product video · also in the repo: public/videos/koodal-product.mp4
One open loop for every community's issues. Koodal is a multi-tenant platform where any organization (a city corporation, an apartment community, a university or an institution) gets its own space to report, verify, fix and confirm local issues.
| 🗣 Members report and support | Report in your own language by photo, text or voice note through the Koodal app. Neighbours support and verify, so the most important issues rise to the top. |
| 🛠 The team decides and fixes | Staff use the Koodal Console to accept or reject cases, assign the right team, track deadlines and post proof of the fix. |
| ✅ The community confirms | A case closes only when the people who reported it agree it's fixed. Otherwise it reopens. |
What makes it different
Impact: people get a voice and see what happens to their reports. Organizations get fewer duplicates, clear priorities and data on which problems keep coming back.
Koodal started life as CivicPulse, a civic issue app for Tamil Nadu, and is growing into a platform for every kind of community. See Built vs roadmap for what is live today.
📖 View the pitch deck in the app, or download the PDF (also in the repo: public/docs/Koodal_Platform_Pitch_Deck.pdf).
| At a glance | |
|---|---|
| 🗣 12 | Indian languages |
| 🎁 14 days | free trial, no card needed |
| 💸 from ₹999 | per month, members never pay |
| 🎯 80% | community support opens an official case |
| Subject | What Koodal does | Remark |
|---|---|---|
| 📸 Reporting | Photo, text or voice note, in your own language | Takes a minute. Excuses not accepted. |
| 👥 Verification | Neighbours support and add evidence; enough support opens an official case | Plays well with others. |
| 🛠 Fixing | Staff accept, assign the right team, track deadlines and post proof | Always shows their work. |
| ✅ Trust | A public timeline; a case closes only when members confirm, and reopens if not | Never marks its own homework. |
| 🧩 Duplicates | The same problem filed ten times becomes one case with ten voices | Hates repeating itself. |
| 🔁 One account | Switch between your city, apartment and campus in a tap | Gets around. |
| 🤝 Fair pricing | Organizations subscribe, members never pay | Everyone's favourite. |
The full flow diagram is in Architecture below.
| 🖥 Apps | Next.js and TypeScript on Vercel: the installable PWA for members and the web Console for teams |
| 🔥 Firebase | Auth, Firestore (org-scoped data), Storage for photos and proof, push notifications |
| ✨ Gemini | Multilingual voice-to-report and case triage (category, severity, team), with staff making every decision |
| 🗺 Google Maps | Location, pins and nearby issues |
Diagrams from the pitch deck.
| Route | What it is |
|---|---|
/ | Landing page |
/get-started | Create an organization |
/pitch | Pitch deck viewer with PDF download (PDF) |
/nearby | Citizen app: nearby issues on a map |
/feeds | Citizen app: feed |
/search | Citizen app: search |
/cases | Citizen app: cases |
/profile | Citizen app: profile |
/settings | Citizen app: settings |
Plans and pricing are in Business model & growth below.
Organizations subscribe. Members never pay. Priced by community size, at about ₹2–10 per member a month. Every plan starts with a 14-day free trial.
| Plan | Price | Limits | Who it's for |
|---|---|---|---|
| Starter | ₹999 / month | 100 members · 2 staff | Small apartments, clubs |
| Community | ₹2,499 / month | 500 members · 5 staff | Gated communities, schools |
| Institution | ₹6,999 / month | 3,000 members · 15 staff | Colleges, hospitals, offices |
| Civic | Custom / year | Unlimited · SSO · open data | Cities and large campuses |
| Year 1 | Year 2 | Year 3 | |
|---|---|---|---|
| Annual recurring revenue | ₹30 L | ₹1 Cr | ₹2.7 Cr |
| Organizations | 73 | 271 | 735 |
| Footprint | 2 city pilots | 6 cities | 15 cities |
These are targets, not results.
How it grows
The platform-admin figures in the deck (8 paying organizations, ₹2.32 L MRR) come from demo/sample data, not real customers.
| ✅ Built in this repo | 🗺 Roadmap (shown in the deck) |
|---|---|
| Citizen app: nearby map and list, feed, search, cases, report flow, duplicate handling, profile, settings | Team/government workflow screens on live data |
| Firestore persistence, email/password auth | Multi-tenant organizations, billing, platform admin |
| Voice / WhatsApp intake, 12-language UI, policymaker hotspot analytics |
Koodal is a multi-tenant platform where any organization (city corporation, apartment, university or institution) gets its own space to report, verify, fix and confirm local issues.
Members report problems by photo, text or voice in 12 Indian languages via the Koodal app. Neighbours support and verify reports so urgent issues rise. Staff use the Koodal Console to accept, assign and track cases against deadlines, then post proof of the fix. A case closes only when the community confirms it; otherwise it reopens.
Gemini AI turns Tamil/Hindi voice notes into structured reports, merges duplicates and suggests category, severity and team; staff always make the final decision. One account works across many organizations, and the app adapts its wording, categories and teams to each.
Organizations subscribe monthly (from ₹999) after a 14-day free trial; members never pay.
Built with Next.js, Firebase, Gemini and Google Maps by Team TRIOZ.
Student: Koodal · Class: Communities of India · Class teacher: everyone who reports an issue
| Member | Role | Find them | |
|---|---|---|---|
| 🧭 | Santhosh S | Team Leader | GitHub · LinkedIn |
| 💻 | Aakash T | Team Member | GitHub · LinkedIn |
npm install
cp .env.example .env.local # then fill in real values, see below
You'll also need a Firebase Admin service account for local development — see Environment & secrets.
npm run dev
Open http://localhost:3000.
To (re)seed sample Firestore data:
npx tsx scripts/seed-koodal.ts
Nothing secret is committed to this repo. Copy .env.example to .env.local and fill in:
| Variable | Used for | Get it from |
|---|---|---|
GEMINI_API_KEY | AI report analysis (lib/domain/analyze.ts) | https://aistudio.google.com/apikey |
FIREBASE_SERVICE_ACCOUNT_JSON | Server-side Firestore writes (deploy-time alternative to a local key file) | Firebase Console → Project Settings → Service Accounts |
For local development, lib/firebase/admin.ts prefers a JSON key file over the env var:
secret/<project-id>-firebase-adminsdk-*.json
Download this from Firebase Console → Project Settings → Service Accounts → Generate new private key, and drop it in secret/. That whole folder is gitignored except secret/service-account.example.json, which documents the expected shape — copy the real file in beside it, don't overwrite it.
For deployment (Vercel or similar), you generally can't ship that file — set FIREBASE_SERVICE_ACCOUNT_JSON as a platform environment variable instead, pasting the entire service-account JSON as a single-line string. If neither the file nor the env var is present, admin.ts falls back to gcloud auth application-default login (ADC), which only works for local development.
The Firebase client (web) config in lib/firebase/client.ts is not secret — Firebase web API keys are safe to expose publicly; access is enforced by Firestore security rules, not by hiding that key. It's already committed as literal values; only change it if you're pointing this app at a different Firebase project.
app/(marketing)/ — the public site: landing /, /get-started and the pitch deck viewer /pitch with PDF download (public/docs/).app/(citizen)/ — the citizen-facing app (Next.js App Router), one route folder per screen (feeds/, search/, cases/, issues/[issueId]/, profile/, settings/, etc.), each typically split into a mobile *Screen.tsx and a desktop Desktop*.tsx.lib/domain/ — pure domain logic and types shared across screens (stages, filters, scoring, dedup, etc.), no framework or I/O dependencies.lib/firebase/ — Firestore client SDK (client.ts) and Admin SDK (admin.ts) setup.server/actions/ — Next.js Server Actions that perform the actual Firestore writes.app/tokens.css — design tokens (colors, type, spacing) imported by app/globals.css.scripts/seed-koodal.ts — seeds sample issues/cases into Firestore for local development and demos.| Command | Does |
|---|---|
npm run dev | Start the dev server (Turbopack) |
npm run build | Production build |
npm run start | Run a production build |
npm run test | Run the test suite (Vitest) |