ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Your AI assistant for smarter learning — academics, campus life, and beyond.
EducationTypeScript · HTMLGitHub @Donne120OnlineOwner 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.
One AI companion, every university's own knowledge.
Student Companion AI is a multi-tenant Progressive Web App that gives each
university its own AI assistant — grounded in that university's handbook,
policies, and records, not a generic answer from the open web. A student's
university is resolved automatically from their verified email domain; no
manual "pick your school" step, no cross-tenant data leakage, one login for
every campus on the platform.Read the full README ↗One AI companion, every university's own knowledge.
Student Companion AI is a multi-tenant Progressive Web App that gives each university its own AI assistant — grounded in that university's handbook, policies, and records, not a generic answer from the open web. A student's university is resolved automatically from their verified email domain; no manual "pick your school" step, no cross-tenant data leakage, one login for every campus on the platform.
Every university has the same problem: policies, deadlines, and department contacts live scattered across PDFs, portals, and word-of-mouth. Students either dig for answers or wait for office hours. Student Companion AI closes that gap — instant, sourced answers from the institution's own materials, available at 2pm or 2am.
What makes it a platform rather than a single chatbot:
@youruni.edu → the right tenant, automatically).| Area | What it does |
|---|---|
| Grounded AI chat | Retrieval-augmented answers, cited from the student's own university's knowledge base — streamed, with automatic non-streaming fallback. |
| Multi-tenant identity | Firebase authentication with server-verified email-domain routing; each organization's data is isolated at the retrieval and database layer. |
| Admin dashboard | Organization admins manage their own staff, curators, and office-hours listings; platform admins manage the roster of onboarded universities and plan tiers. |
| Office hours | Real, bookable curator office-hours listings per organization — replacing what used to be a hidden, hardcoded widget. |
| Opportunities & News | Scholarships, internships, programs, and campus updates surfaced per organization. |
| Document tools | Upload and manage source documents that feed each organization's knowledge base. |
| Analytics & feedback | Admin-facing dashboards for usage, student feedback, and suggestions. |
| Installable PWA | Works like a native app on a phone — offline-friendly shell, home-screen install, push-ready. |
Student asks a question
│
▼
Frontend (this repo) — resolves the student's organization from their
│ verified email domain, sends the question with auth
▼
Backend (FastAPI, Hugging Face Space) — embeds the question and runs a
│ vector search against that organization's own
│ ChromaDB collection (never another tenant's)
▼
Relevant, sourced context is retrieved and stitched into a grounded prompt
│
▼
The model answers from that context — and says "I don't know, here's
│ where to look" rather than inventing an answer
▼
Answer streams back to the student, cited
| Layer | Technology |
|---|---|
| Framework | React 18 + TypeScript |
| Build tool | Vite 5 |
| UI | Tailwind CSS + shadcn/ui (Radix primitives) |
| Auth | Firebase Authentication (client) + Firebase Admin (server-verified) |
| Backend | FastAPI on a Hugging Face Space (separate repository) |
| Retrieval | ChromaDB — one isolated collection per organization |
| Relational data | Aurora PostgreSQL (AWS RDS Serverless v2) |
| Hosting | Vercel |
npm install
cp .env.example .env
| Variable | Description |
|---|---|
VITE_API_URL | Backend base URL (Hugging Face Space or localhost) |
VITE_FIREBASE_API_KEY | Firebase web API key (restrict by HTTP referrer) |
VITE_FIREBASE_AUTH_DOMAIN | Firebase auth domain |
VITE_FIREBASE_PROJECT_ID | Firebase project ID |
VITE_FIREBASE_STORAGE_BUCKET | Firebase storage bucket |
VITE_FIREBASE_MESSAGING_SENDER_ID | Firebase messaging sender ID |
VITE_FIREBASE_APP_ID | Firebase app ID |
Note:
.envis gitignored and must never be committed. Admin identity is decided server-side by the backend, never in the client bundle — there is intentionally no admin email list here.
npm run dev # start the dev server on http://localhost:3000
npm run build # production build to dist/
npm run preview # preview the production build
npm run lint # lint the codebase
src/
├── components/ UI components (chat, admin, layout, shadcn/ui primitives)
├── config/ API base URL, auth headers, fetch helpers
├── contexts/ React context providers (auth, etc.)
├── hooks/ Custom React hooks
├── lib/ Firebase init and shared utilities
├── pages/ Route pages — landing, auth, chat, admin, office hours, …
├── services/ Backend API clients (aiService, opportunitiesService, …)
├── types/ Shared TypeScript types
└── utils/ Helpers
mobile/ React Native (Expo) companion app
The app is deployed on Vercel from this repository's main branch.
mainnpm run builddistSet VITE_API_URL and the VITE_FIREBASE_* variables in the Vercel
project's Environment Variables (Production scope). A push to main
triggers a production build automatically.
Proprietary. All rights reserved unless stated otherwise.