ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Create and study flashcards in less time using AI-Powered Spaced Repetition that adapts to your learning.
EducationTypeScript · JavaScriptGitHub @lkyne7OnlineOwner 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
DeepHaus turns notes/PDFs into Anki flashcards with an FSRS-based study scheduler
Taken from the repository README
Loading the full README.
Read the full README ↗DeepHaus turns study material (notes, PDFs) into Anki flashcards and exports .apkg files for desktop Anki and AnkiMobile.
Repository: github.com/lkyne7/deephaus
MCP plugins: installation and package · distribution checklist
apps/web Next.js UI + API routes
apps/mobile Expo mobile app
packages/shared Schemas, chunking, deduplication
packages/apkg .apkg builder + sample CLI
packages/llm Card generation prompts + OpenAI client
packages/api-client Typed API client for web + mobile
supabase/ Database migrations
Start with the environment and release plan. Normal pnpm dev:web and mobile commands now use the isolated staging backend through .env.launch-staging.local. The older manual dotenv setup below describes individual integrations; do not copy production credentials into development.
pnpm install
supabase/migrations/20250524000000_init.sqlpdfs.env.example to apps/web/.env.local and fill in keysDeepHaus uses Supabase Auth on web and mobile. Email/password and mobile magic links work without another identity service.
Supabase Dashboard → Authentication → Providers → Email
Supabase Dashboard → Authentication → URL Configuration
http://localhost:3000http://localhost:3000/auth/callbackhttps://www.deephaus.ai/auth/callbackdeephaus://auth/callback for Expo buildsTo enable Google sign-in, create a Google OAuth web client whose redirect URI
is https://<your-project-ref>.supabase.co/auth/v1/callback, then enable and
configure Google in Supabase Authentication → Providers.
To enable Apple sign-in, create an Apple Services ID and Sign in with Apple key. Add the Supabase callback URL to the Services ID, then enter the Services ID, Team ID, Key ID, and private key in Supabase Authentication → Providers.
Google sign-in credentials are separate from the Google Drive credentials below. Supabase automatically links identities when providers return the same verified email address.
Profile affiliations use a six-digit code sent through Resend. Verify a sending domain in Resend, then configure these server-only variables:
RESEND_API_KEY=re_...
UNIVERSITY_VERIFICATION_FROM_EMAIL=DeepHaus <[email protected]>
Recognized institutions come from the bundled JetBrains swot domain registry.
Alumni, abused, and unknown domains are rejected.
Create a Google Cloud project and enable both Google Drive API and Google Picker API. Configure an OAuth 2.0 Web application with:
http://localhost:3000 and the production app originhttp://localhost:3000/api/google-drive/callbackhttps://www.deephaus.ai/api/google-drive/callbackCreate a browser API key restricted to those origins and to Google Picker API.
The app requests the least-privilege drive.file scope, so it can only read
files users explicitly select in Picker.
Set these variables in apps/web/.env.local and in the Vercel web project:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:3000/api/google-drive/callback
NEXT_PUBLIC_GOOGLE_API_KEY=
# Numeric Google Cloud project number (used by PickerBuilder.setAppId)
NEXT_PUBLIC_GOOGLE_APP_ID=
Use the production callback URL for GOOGLE_REDIRECT_URI in production.
Drive imports support Google Docs, Slides, and Sheets, plus PDF, DOCX, PPTX,
and XLSX files. Native Google files are exported as Office documents before
text extraction. Website URL imports require no additional configuration.
cp .env.example apps/web/.env.local
# Set DEEPHAUS_USE_MOCK_LLM=true to test without OpenAI
pnpm --filter @deephaus/web dev
cp apps/mobile/.env.example apps/mobile/.env
# Set EXPO_PUBLIC_SUPABASE_URL, EXPO_PUBLIC_SUPABASE_ANON_KEY,
# EXPO_PUBLIC_API_BASE_URL (your machine LAN IP for physical device testing)
pnpm dev:mobile
# or: pnpm mobile:ios / pnpm mobile:android
Supabase Auth for mobile: In Supabase Dashboard → Authentication → URL Configuration, add redirect URL deephaus://auth/callback. The app supports email/password and magic links.
Physical device testing: Run the web API (pnpm dev:web) and set EXPO_PUBLIC_API_BASE_URL to your machine's LAN IP (e.g. http://192.168.1.10:3000), not localhost.
pnpm --filter @deephaus/apkg build
pnpm --filter @deephaus/apkg export-sample
One-shot (recommended):
POST /api/generate/text
Content-Type: application/json
Cookie: <supabase session cookie>
{
"project_id": "uuid",
"text": "Your study notes here…",
"settings": {
"cardMix": "both",
"density": 5,
"focusPrompt": "exam prep"
}
}
Response (201):
{
"source": { "id": "…", "type": "text", "raw_text": "…" },
"job": { "id": "…", "status": "ready", "progress": 100 },
"cards": [ { "type": "basic", "front": "…", "back": "…" } ],
"mock": false
}
Multi-step (also used for PDFs):
POST /api/sources/text — store textPOST /api/generate — generate cards from source_idGET /api/cards?job_id=… — fetch cardsIn apps/web/.env.local:
OPENAI_API_KEY=sk-your-key
DEEPHAUS_USE_MOCK_LLM=false
Without an OpenAI key, the API returns sample mock cards for testing.
.apkg for Anki importMIT