Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
AI job application assistant — truthful, personalized answers from your own profile.
PluginsPython · TypeScriptGitHub @AbrarAhmed111OnlineOwner 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
AI job application assistant: a Chrome extension that drafts truthful, personalized answers to application questions from your structured profile. Built with WXT, Next.js, FastAPI and Supabase.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
AI job application assistant for filling application forms faster without inventing experience.
Built by DevAbby.
Ansly is a web app, FastAPI answer engine, Supabase database, and Chromium browser extension. You build a structured profile once, then the extension detects application questions, drafts grounded answers from your profile, lets you review/edit, and fills the field only when you approve.
Status: V1 is implemented, with V1.1 fill-all / ask-and-learn work in progress. See documents/ansly-product-plan.md, documents/ansly-phases.md, and documents/product-audit.md.Read the full README ↗AI job application assistant for filling application forms faster without inventing experience.
Built by DevAbby.
Ansly is a web app, FastAPI answer engine, Supabase database, and Chromium browser extension. You build a structured profile once, then the extension detects application questions, drafts grounded answers from your profile, lets you review/edit, and fills the field only when you approve.
Status: V1 is implemented, with V1.1 fill-all / ask-and-learn work in progress. See documents/ansly-product-plan.md, documents/ansly-phases.md, and documents/product-audit.md.
Build profile
-> open application form
-> enable Ansly on the site
-> click Ansly beside a question
-> generate or use saved answer
-> review / edit
-> fill
-> you submit manually
Ansly never auto-submits applications. It only fills after user approval.
Browser extension
- WXT + React
- field detection
- saved-answer matching
- answer popover
- fill / fill-all UI
- own Supabase session
Web app
- Next.js
- auth
- dashboard
- profile editor
- saved answers
- settings
- extension connection
LLM API
- FastAPI
- question classification
- structured profile retrieval
- grounded answer generation
- provider fallback gateway
- usage/rate limits
Supabase
- Auth
- PostgreSQL
- RLS
- profile sections
- saved answers
- usage events
The API reads profile data using the user's own JWT, so Supabase row-level security still applies. The extension receives a separate Supabase session from the web app because sharing the web session would conflict with refresh-token rotation.
ansly/
web/ Next.js web app
extension/ WXT browser extension for Chrome and Edge
llm/ FastAPI answer service and LLM gateway
packages/types/ Shared TypeScript contracts
packages/design/ Shared design tokens
supabase/ Migrations, tests, seed profile
documents/ Product plans and audits
Install dependencies:
pnpm install
uv --directory llm sync --group dev
Create env files:
cp web/.env.example web/.env
cp llm/.env.example llm/.env
cp extension/.env.example extension/.env
Set these values:
| File | Variables |
|---|---|
web/.env | NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, NEXT_PUBLIC_BASE_URL |
llm/.env | SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, provider keys such as GOOGLE_API_KEY1, GROQ_API_KEY1, OPENAI_API_KEY1 |
extension/.env | WXT_SUPABASE_URL, WXT_SUPABASE_PUBLISHABLE_KEY, WXT_API_URL, WXT_WEB_URL |
Only use the Supabase publishable key in app env files. Do not put the Supabase secret/service-role key in the web app, extension, or client bundle.
Apply migrations:
pnpm supabase login
pnpm supabase link --project-ref <your-project-ref>
pnpm supabase db push
Or paste the SQL files from supabase/migrations/ into the Supabase SQL editor.
In Supabase Auth URL configuration, add:
http://localhost:3000/auth/callback
https://YOUR-WEB-DOMAIN/auth/callback
pnpm dev
Or run each app:
pnpm --filter @ansly/web dev # http://localhost:3000
pnpm --filter @ansly/llm dev # http://localhost:8000
pnpm --filter @ansly/extension dev # Chrome dev browser
pnpm --filter @ansly/extension dev:edge
Then:
/extension in the web app.You do not need to publish the extension to use it yourself.
Chrome:
pnpm --filter @ansly/extension build
Open chrome://extensions, enable Developer mode, choose Load unpacked, and select:
extension/.output/chrome-mv3
Microsoft Edge:
pnpm --filter @ansly/extension dev:edge
Open edge://extensions, enable Developer mode, choose Load unpacked, and select:
extension/.output/edge-mv3
For deployed personal use, make sure extension/.env points to deployed URLs before building:
WXT_API_URL=https://YOUR-LLM-API-DOMAIN
WXT_WEB_URL=https://YOUR-WEB-DOMAIN
pnpm check
pnpm test
Useful targeted checks:
pnpm --filter @ansly/web typecheck
pnpm --filter @ansly/web test
pnpm --filter @ansly/extension typecheck
pnpm --filter @ansly/extension test
pnpm --filter @ansly/llm test
pnpm --filter @ansly/supabase test
Web:
web/ to Vercel.NEXT_PUBLIC_SUPABASE_URL.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY.NEXT_PUBLIC_BASE_URL to the deployed LLM/API origin.LLM API:
llm/ to your Python host.GET /health works.Extension:
WXT_API_URL and WXT_WEB_URL.See LICENSE.