Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Discover fresher jobs, tech jobs, internships and off-campus opportunities from companies hiring across India.
BusinessTypeScript · CSSGitHub @nkbiradarOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Fresher opportunities. One place.
FirstOffer is a job board built for one audience: students and freshers in India looking for internships and entry-level roles. No profile to fill in, no placement-cell queue — browse real openings, hand-checked and republished the same day they come in, and apply straight through the company's own link, Google Form, or HR contact.Read the full README ↗Fresher opportunities. One place.
FirstOffer is a job board built for one audience: students and freshers in India looking for internships and entry-level roles. No profile to fill in, no placement-cell queue — browse real openings, hand-checked and republished the same day they come in, and apply straight through the company's own link, Google Form, or HR contact.
🔗 Live: firstoffer.online
For job seekers
For the admin
---OPPORTUNITY--- ... ---END--- blocks) and publish them all in one go, or hand raw, unstructured text to an AI parser (Claude) that extracts the same fields.Monetization
| Layer | Choice |
|---|---|
| Framework | Next.js 16 (App Router, TypeScript) |
| Database & Auth | Supabase (Postgres, Row Level Security, Google OAuth) |
| Payments | Razorpay — UPI Autopay subscriptions + legacy one-time orders |
| Resend | |
| Push notifications | Web Push (VAPID) |
| AI parsing | Claude (@anthropic-ai/sdk), for the "Parse with AI" bulk-import path |
| Testing | Vitest |
| Hosting | Vercel |
| Mobile | Android app via Capacitor |
No Tailwind — styling is a hand-built design-token system in app/globals.css (CSS custom properties, light/dark mode, a shared component class set).
git clone https://github.com/nkbiradar/FirstOffer.git
cd FirstOffer
npm install
# create .env.local in the project root with the variables listed below
npm run dev
The app runs at http://localhost:3000.
| Variable | Used for |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Supabase anon/public key |
SUPABASE_SECRET_KEY | Supabase service-role key (server-only, admin writes) |
ADMIN_EMAILS | Comma-separated allowlist of admin sign-in emails |
RAZORPAY_KEY_ID / RAZORPAY_KEY_SECRET | Razorpay API credentials |
RAZORPAY_WEBHOOK_SECRET | Verifies incoming Razorpay webhook signatures |
RAZORPAY_MONTHLY_PLAN_ID / RAZORPAY_INTERNAL_PLAN_ID | Razorpay Plan IDs for the two subscription products |
RESEND_API_KEY / RESEND_FROM_EMAIL | Outbound "new opportunity" email alerts |
EMAIL_UNSUB_SECRET | Signs one-click email-unsubscribe links |
VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEY / VAPID_SUBJECT | Web Push keys (server) |
NEXT_PUBLIC_VAPID_PUBLIC_KEY | Web Push public key (client) |
ANTHROPIC_API_KEY | Powers the "Parse with AI" bulk-import option |
NEXT_PUBLIC_SITE_URL | Base URL used in sitemaps, RSS, canonical/OG tags, and email links |
npm run dev # start the dev server
npm run build # production build
npm run start # run the production build
npm run lint # eslint
npm test # vitest
app/ # routes (App Router) — public site, /admin, /api
admin/ # admin dashboard, opportunity CRUD, bulk import
api/ # route handlers (admin mutations, payments, webhooks, email/push)
opportunities/ # public listing + detail pages
components/ # shared UI + admin form components
lib/
data/ # server-side reads/writes per table (opportunities, subscriptions, companies, ...)
payments/ # Razorpay client + subscription helpers
email/ # Resend client + templates
push/ # Web Push sending
notify/ # "new opportunity" push + email alert orchestration
ai/ # Claude-powered bulk-import extraction
supabase/
schema.sql # database schema, RLS policies (source of truth — run manually in the SQL Editor)
The main branch auto-deploys to Vercel on every push. Schema changes in supabase/schema.sql are not applied automatically — new/changed SQL blocks need to be run by hand in the Supabase SQL Editor after a deploy that depends on them.
Private, all rights reserved. This is a commercial product — not open for reuse or redistribution.