Sell globally. Grow your revenue.
Sell globally. Grow your revenue. Card and monthly payments for freelancers, agencies and SaaS from 190+ countries, with tax and invoices handled. No company needed.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证DogArmor 的代码库是一个狗狗装备推荐软件,能够为您的狗狗找到完美的背带、牵引绳和项圈。
AI 翻译
Repository for DogArmor, a dog gear recommender that can find your dog the perfect harness, leash, and collar.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
The right harness, collar and leash for your dog, picked from one photo and a few questions.
• Recognizes your dog from a single photo (118 breeds, blended for mixes) and checks there is a dog in the photo at all.
• Estimates the measurements that decide fit: weight, neck, chest girth, belly and back length. You can replace any of them with a real measurement.
• Picks a harness, collar and leash that fit those measurements, your dog's behavior, where you walk and your budget, and explains every pick.
No account needed. Photos are analyzed in memory and never stored.查看完整 README ↗The right harness, collar and leash for your dog, picked from one photo and a few questions.
Try it live: dogarmor.up.railway.app
A 1:19 walkthrough of the live demo: choosing gear, uploading a photo, adjusting measurements, answering the questions and opening the recommended harness on Amazon.
The video file lives in this repo at docs/dogarmor-demo.mp4; the thumbnail streams it through jsDelivr so it plays in the browser.
No account needed. Photos are analyzed in memory and never stored.
Pick a harness, collar, leash or any mix. DogArmor only recommends, and budgets for, what you choose.
Take it from the side at your dog's eye level, with your dog standing and its face visible. Front-on shots and head close-ups hide the body and make the breed harder to read. DogArmor shows its top three breed matches. Click a different one if it got it wrong.
Measurements are estimated from the breed and its build, not measured from the photo. Fields marked Estimated can be overwritten. Enter a real weight and the girths recalculate around it.
Thirteen quick questions about behavior (pulling, reactivity, training, energy), activities (hiking, hunting, water, sports), climate and gear upkeep. Then pick a budget; the price ranges add up only the gear you chose (a harness alone is under $30, $30 to $60, or no limit).
Each item you asked for comes with the reasons it was chosen, the size to order, two alternatives and links to Amazon and Chewy, plus material and safety notes for your dog.
| Stage | What happens |
|---|---|
| Breed recognition | EfficientNetV2-S (ImageNet weights) exported to ONNX and run with ONNX Runtime, about 20 ms per photo on CPU. Its non-dog classes double as a "no dog found" check. |
| Measurements | Each breed has a typical adult weight range and build (standard, sighthound, stocky, long-backed). Girths and back length scale with the cube root of weight, adjusted for build. Mixed breeds blend the top matches by confidence. |
| Recommendation | A curated catalog of 36 products, each tagged with features, material, price and fit range. Answers add weight to the tags that matter for your dog. Products that don't fit or exceed the budget are filtered out, and the highest scoring harness, collar and leash win. |
| Safety rules | No head halters for flat-faced or toy breeds, harness-first advice for small dogs, martingales for sighthounds. |
Accuracy: on everyday dog photos the model names the exact breed 81% of the time, and the right breed is in its top three 97% of the time.
Limits: a single photo has no scale, so measurements are breed-based estimates. For the most precise sizing, measure your dog and enter the numbers. Prices are typical and change often.
Requires Python 3.12.
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python run.py # http://localhost:5000
| Task | Command |
|---|---|
| Run tests | pip install pytest && python -m pytest |
| Rebuild CSS after editing templates | npm install && npm run build:css |
| Regenerate the model file | pip install torch torchvision onnx onnxscript && python -m src.features.export_onnx |
| Endpoint | Purpose |
|---|---|
POST /api/analyze | Multipart image → breed matches, dog check and measurement estimate |
GET /api/estimate?breed=&weight= | Measurements for a breed and/or known weight |
POST /api/recommend | JSON profile → picks for the requested gear (any of harness, collar, leash), alternatives, extras and notes |
GET /api/breeds | All supported breed names |
GET /healthz | Health check |
Production runs on Railway from the Dockerfile (gunicorn). Pushes to main deploy automatically. Service settings live in .railway/railway.ts: preview changes with railway config plan and apply them with railway config apply. To deploy manually, run railway up --service web.
app/
routes.py pages and JSON API
templates/ Jinja templates (Tailwind)
static/ compiled CSS, demo.js, images
src/features/
breed_predictor.py ONNX inference and measurement estimates
gear_recommender.py scoring engine
export_onnx.py builds models/breed_classifier.onnx
data/processed_data/
breed_profiles.csv weight range, build and coat for 118 breeds
gear_catalog.json product catalog
models/ breed_classifier.onnx
tests/ pytest suite
Built by Vihaan Kesharwani (design and frontend) and Anto Francis (models and backend). Questions or business inquiries: [email protected]
Image and dataset credits are in Citations.md.