Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A concept prototype for a Referral Status System — a way for a job seeker to
request a referral through their network and follow its status transparently,
without repeatedly nudging the referrer.
Concept prototype — not affiliated with or endorsed by LinkedIn.
Built for a portfolio demo only. It uses the LinkedIn logo, colours and system
font, with mobile patterns matched to the LinkedIn iOS app (via Mobbin), so the
concept can be judged in context. The in-app footer keeps the disclaimer visible.README 전문 보기 ↗A concept prototype for a Referral Status System — a way for a job seeker to request a referral through their network and follow its status transparently, without repeatedly nudging the referrer.
Concept prototype — not affiliated with or endorsed by LinkedIn. Built for a portfolio demo only. It uses the LinkedIn logo, colours and system font, with mobile patterns matched to the LinkedIn iOS app (via Mobbin), so the concept can be judged in context. The in-app footer keeps the disclaimer visible.
lucide-react iconslocalStorage (survives refresh)npm install
npm run dev # http://localhost:5173
npm run build # type-check + production build
npm run preview # preview the production build
There is no auth. A role switcher in the top bar (a demo-only control) flips
between the two perspectives that share the same localStorage data:
| Route | Role | Purpose |
|---|---|---|
/messaging | Both | Inbox + 1:1 threads with the inline Referral Request card |
/jobs | Requester | Job Tracker: ask a connection at the company for a referral |
/compose | Requester | Create a Referral Request (job + resume required → review → send) |
/status/:id | Both | Current status, what it means, full history; Withdraw (requester) / update (referrer) |
/notifications | Both | Status updates land here for the requester, with an unread badge on the bell |
/my-jobs | Requester | List of all the requester's referral requests |
/feedback | Facilitator | Test responses saved in this browser, with CSV export (not linked in the UI) |
The stored values follow the PRD object model; people see plain labels.
| Stored | Shown as | Who sets it | Meaning |
|---|---|---|---|
| Pending | Sent | System, on creation | Waiting on the referrer |
| Considering | Looking into it | Referrer | Seen and being worked on; still open |
| No Update Received | No reply yet | System only | The referrer has not answered a Sent request for seven days (a design assumption; the timer is not built, the state is staged). It never replaces Looking into it; reversible by any later update |
| Referred | Referred | Referrer | Done: the referral was made (final) |
| Unable to Refer | Can’t refer | Referrer | Done: the referrer can’t refer this time (final) |
| Withdrawn | Withdrawn | Requester | The requester no longer needs it |
First-time visitors get a 4-screen intro, then a dark guide bar under the header names their next step through the whole journey (ask as Albin → switch to Alex → respond → switch back → see the update). When they reach the final status, a short survey opens: experience rating, whether the feature is useful and why, and what could be better.
Each browser tab counts as one visit. If a new visit finds a finished journey, or one idle for 30+ minutes, it starts fresh automatically; if someone stopped mid-way recently, it asks whether to continue or start fresh. A refresh never resets progress, and collected feedback is never cleared.
Responses are always saved in the tester's browser (see /feedback). To collect
them from remote testers, create a free Formspree form
and set its URL as an environment variable (locally in .env.local, and in
Vercel under Project → Settings → Environment Variables):
VITE_FEEDBACK_ENDPOINT=https://formspree.io/f/yourFormId
?fail=1 makes the next send fail.StatusUpdate (single source of truth — avoids the two-sources-of-truth bug).ALLOWED_TRANSITIONS is the single source of truth for which status-change
actions render anywhere in the app. Terminal states offer no actions.No Update Received can move back to
Considering, Referred, or Unable to Refer — a later human action always wins.Withdrawn is treated as terminal here, but no UI asserts permanence — that
product decision is deliberately left open.These decisions trace to the source PRD (kept alongside the project handoff).