Translate knitting and crochet patterns into 14 languages with craft-aware terminology and side-by-side review.
LifestyleTypeScript · CSSGitHub @KingHaimOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗StitchSpeak translates knitting pattern PDFs using localized terminology and includes a Gemini-powered assistant.
npm install.env.example to .env and set VITE_GOOGLE_CLIENT_ID for Google sign-in.npm run devcd server && npm installGEMINI_API_KEY, OPENAI_API_KEY, and GOOGLE_CLIENT_ID (same value as VITE_GOOGLE_CLIENT_ID).npm run devAll assisted features run through the Express server. Translation, chat, glossary lookup, and grading use Gemini; tech editing uses OpenAI. No API keys are exposed to the browser.
Frontend hosting (Vercel or GitHub Pages) needs:
VITE_GOOGLE_CLIENT_IDVITE_API_URL pointing at the public Express server, for example https://your-api.up.railway.appServer hosting needs:
NODE_ENV=productionGEMINI_API_KEYOPENAI_API_KEYGOOGLE_CLIENT_ID matching the frontend client IDAUTH_SESSION_SECRET with a long random value for email-account sessionsAPP_URL with the canonical frontend origin used in verification/reset linksRESEND_API_KEY and AUTH_EMAIL_FROM for verification and password-reset deliveryFRONTEND_URL with every public frontend origin, comma-separatedDATA_DIR on a persistent volumeADMIN_EMAILS with the comma-separated Google accounts allowed to open /adminLEMON_SQUEEZY_API_KEY, LEMON_SQUEEZY_STORE_ID, LEMON_SQUEEZY_VARIANT_ID, and LEMON_SQUEEZY_WEBHOOK_SECRET when payments are liveBefore switching real users on:
order_created to /api/lemon-squeezy/webhook.npm run check in the repo root and npm run build in server/./data and set DATA_DIR=/data./health/deep; it verifies Gemini, OpenAI, OAuth,
payments, webhook configuration, and both persistent stores.credits.db and the pattern store into a non-production environment.Production health GitHub Actions workflow checks /health/deep every 15
minutes. Keep GitHub Actions failure notifications enabled for the repository./health/payments; verified webhook reconciliation
failures trigger alerts for one hour without taking the API offline.CI GitHub Actions workflow must pass before merging to main.StitchSpeak Credits.LEMON_SQUEEZY_STORE_ID and LEMON_SQUEEZY_VARIANT_ID.LEMON_SQUEEZY_API_KEY.https://your-api.example.com/api/lemon-squeezy/webhook.order_created and order_refunded.LEMON_SQUEEZY_WEBHOOK_SECRET.The server creates checkout links on demand using Lemon Squeezy's Checkouts API. It overrides the product price per credit pack and sends the signed-in user ID as checkout custom data. Credits are granted only when the verified order_created webhook arrives.
React 19, TypeScript, Vite, Tailwind CSS v4, Express, Google Gemini, OpenAI, Google Sign-In.