From b257d151948f9181abc4cfb46ae501d8c63afa7a Mon Sep 17 00:00:00 2001 From: wangdequan Date: Tue, 16 Jun 2026 23:41:10 -0700 Subject: [PATCH] Initial Abigail immigration AI prototype --- .gitignore | 1 + README.md | 14 + assets/abigail-hero.png | Bin 0 -> 50075 bytes assets/script.js | 143 ++++++++ assets/styles.css | 759 ++++++++++++++++++++++++++++++++++++++++ docs/产品蓝图.md | 186 ++++++++++ docs/签证服务范围.md | 143 ++++++++ index.html | 318 +++++++++++++++++ 8 files changed, 1564 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 assets/abigail-hero.png create mode 100644 assets/script.js create mode 100644 assets/styles.css create mode 100644 docs/产品蓝图.md create mode 100644 docs/签证服务范围.md create mode 100644 index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..cffbfba --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Abigail Immigration AI + +This folder contains a static prototype website and Chinese product documentation for an AI-assisted immigration platform inspired by TurboTax-style guided intake. + +Open `index.html` in a browser to view the website. + +Project structure: + +- `index.html` - public website prototype +- `assets/styles.css` - visual system and responsive layout +- `assets/script.js` - interactive AI Pathfinder and document checklist +- `assets/abigail-hero.png` - local hero visual asset +- `docs/产品蓝图.md` - product strategy and feature blueprint +- `docs/签证服务范围.md` - visa/service coverage based on the provided screenshots diff --git a/assets/abigail-hero.png b/assets/abigail-hero.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd164ca834b89d59ffc4a5473a488f5f0294e64 GIT binary patch literal 50075 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 `
${step}
`).join(""); + packetButton.textContent = "Generate case packet"; +} + +form.addEventListener("change", renderRoute); +renderRoute(); + +packetButton.addEventListener("click", () => { + packetButton.textContent = "Packet drafted for attorney review"; +}); + +const detailCopy = { + passport: { + title: "Passport and I-94", + body: "Abigail checks name consistency, expiration dates, status history, admission class, and travel gaps.", + output: "Identity table, status timeline, and form-ready biographic data." + }, + resume: { + title: "Resume and biography", + body: "The platform extracts employers, titles, education, publications, products, patents, and leadership history.", + output: "Chronology, achievement taxonomy, and role-specific narrative bullets." + }, + awards: { + title: "Awards, press, publications", + body: "Abigail extracts dates, publication names, award criteria, circulation, and relevance to the proposed role.", + output: "Evidence summary, exhibit labels, expert letter talking points, and petition narrative bullets." + }, + letters: { + title: "Recommendation letter inputs", + body: "Clients provide recommender context once. The AI creates letter outlines tailored to each legal criterion.", + output: "Recommender brief, draft letter structure, and conflict checks across letters." + }, + company: { + title: "Company registration and job details", + body: "HR uploads company facts, role data, reporting lines, wage details, and signatory information into a reusable vault.", + output: "Employer support letter draft, role summary, org chart notes, and petition fields." + } +}; + +const uploadButtons = document.querySelectorAll(".upload-item"); +const uploadDetail = document.querySelector("#uploadDetail"); + +uploadButtons.forEach((button) => { + button.addEventListener("click", () => { + uploadButtons.forEach((item) => item.classList.remove("is-active")); + button.classList.add("is-active"); + const detail = detailCopy[button.dataset.doc]; + uploadDetail.innerHTML = ` +

Selected document

+

${detail.title}

+

${detail.body}

+
+ AI draft output +

${detail.output}

+
+ `; + }); +}); + +document.querySelector('[data-doc="awards"]').classList.add("is-active"); diff --git a/assets/styles.css b/assets/styles.css new file mode 100644 index 0000000..e5df803 --- /dev/null +++ b/assets/styles.css @@ -0,0 +1,759 @@ +:root { + --ink: #17212b; + --muted: #5f6972; + --forest: #254c45; + --pine: #123d3a; + --sage: #d7eadc; + --mist: #edf4f3; + --ivory: #fbf8f1; + --paper: #ffffff; + --clay: #b86b50; + --brass: #c6a15b; + --blue: #426578; + --line: #dce3df; + --shadow: 0 24px 70px rgba(18, 61, 58, 0.16); +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + margin: 0; + color: var(--ink); + background: var(--ivory); + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + line-height: 1.5; +} + +a { + color: inherit; + text-decoration: none; +} + +button, +input { + font: inherit; +} + +.site-header { + position: sticky; + top: 0; + z-index: 20; + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + gap: 24px; + min-height: 72px; + padding: 0 40px; + background: rgba(251, 248, 241, 0.9); + border-bottom: 1px solid rgba(37, 76, 69, 0.12); + backdrop-filter: blur(18px); +} + +.brand { + display: inline-flex; + align-items: center; + gap: 10px; + font-weight: 800; + font-size: 18px; +} + +.brand-mark { + display: inline-grid; + place-items: center; + width: 36px; + height: 36px; + color: white; + background: var(--forest); + border-radius: 50%; +} + +nav { + display: flex; + align-items: center; + gap: 24px; + color: var(--muted); + font-size: 14px; + font-weight: 700; +} + +.nav-action { + justify-self: end; + min-width: 132px; + padding: 12px 18px; + color: white; + text-align: center; + font-size: 14px; + font-weight: 800; + background: var(--pine); + border-radius: 8px; +} + +.hero { + position: relative; + min-height: 760px; + display: grid; + align-items: center; + padding: 88px 56px 38px; + overflow: hidden; + background: var(--pine); +} + +.hero-media { + position: absolute; + inset: 0; + background: + linear-gradient(90deg, rgba(18, 61, 58, 0.96) 0%, rgba(18, 61, 58, 0.78) 38%, rgba(18, 61, 58, 0.22) 78%), + url("abigail-hero.png") center right / cover no-repeat; +} + +.hero-copy { + position: relative; + z-index: 2; + max-width: 720px; + color: white; +} + +.eyebrow { + margin: 0 0 14px; + color: var(--clay); + font-size: 13px; + font-weight: 900; + letter-spacing: 0; + text-transform: uppercase; +} + +.hero .eyebrow { + color: #f0c89f; +} + +h1, +h2, +h3, +p { + overflow-wrap: anywhere; +} + +h1 { + max-width: 760px; + margin: 0; + font-size: 66px; + line-height: 1.02; + letter-spacing: 0; +} + +.hero-lede { + max-width: 620px; + margin: 24px 0 0; + color: rgba(255, 255, 255, 0.86); + font-size: 20px; +} + +.hero-actions { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-top: 34px; +} + +.primary-button, +.secondary-button { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 48px; + padding: 13px 18px; + border: 1px solid transparent; + border-radius: 8px; + font-weight: 900; + cursor: pointer; +} + +.primary-button { + color: white; + background: var(--clay); +} + +.secondary-button { + color: var(--pine); + background: var(--paper); + border-color: rgba(18, 61, 58, 0.14); +} + +.hero .secondary-button { + color: white; + background: rgba(255, 255, 255, 0.12); + border-color: rgba(255, 255, 255, 0.3); +} + +.hero-status { + position: relative; + z-index: 2; + align-self: end; + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 1px; + width: min(920px, 100%); + margin-top: 70px; + background: rgba(255, 255, 255, 0.2); + border: 1px solid rgba(255, 255, 255, 0.24); +} + +.hero-status div { + min-height: 116px; + padding: 20px; + background: rgba(18, 61, 58, 0.78); +} + +.hero-status span { + display: block; + color: #f1d4bf; + font-size: 30px; + font-weight: 900; +} + +.hero-status p { + max-width: 220px; + margin: 7px 0 0; + color: rgba(255, 255, 255, 0.78); + font-size: 14px; +} + +.section { + padding: 88px 56px; +} + +.section-heading { + max-width: 860px; + margin-bottom: 34px; +} + +h2 { + margin: 0; + font-size: 42px; + line-height: 1.1; + letter-spacing: 0; +} + +h3 { + margin: 0; + font-size: 22px; + line-height: 1.2; + letter-spacing: 0; +} + +.promise-grid, +.workflow { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 16px; +} + +.promise-grid article, +.workflow article, +.visa-list, +.intake-panel, +.result-panel, +.upload-detail, +.hr-dashboard, +.packet-ui { + background: var(--paper); + border: 1px solid var(--line); + border-radius: 8px; + box-shadow: 0 12px 36px rgba(23, 33, 43, 0.06); +} + +.promise-grid article, +.workflow article { + min-height: 250px; + padding: 24px; +} + +.mini-icon, +.step-number { + display: inline-grid; + place-items: center; + width: 38px; + height: 38px; + margin-bottom: 26px; + color: white; + background: var(--forest); + border-radius: 50%; + font-weight: 900; + font-size: 13px; +} + +.promise-grid p, +.workflow p, +.visa-list strong, +.packet-copy p, +.hr-copy p, +.upload-detail p, +.cta-band p, +.site-footer p { + color: var(--muted); +} + +.tool-band { + background: var(--mist); +} + +.pathfinder-layout { + display: grid; + grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr); + gap: 18px; + align-items: start; +} + +.intake-panel { + padding: 26px; +} + +fieldset { + margin: 0; + padding: 0 0 24px; + border: 0; +} + +fieldset + fieldset { + padding-top: 24px; + border-top: 1px solid var(--line); +} + +legend { + margin-bottom: 14px; + font-weight: 900; +} + +label { + display: flex; + gap: 11px; + align-items: flex-start; + min-height: 44px; + padding: 10px 0; + color: #263442; +} + +input[type="radio"] { + accent-color: var(--clay); + margin-top: 4px; +} + +.result-panel { + position: sticky; + top: 92px; + padding: 28px; +} + +.panel-label { + margin: 0 0 10px; + color: var(--clay); + font-size: 12px; + font-weight: 900; + text-transform: uppercase; +} + +.confidence-row { + display: grid; + grid-template-columns: auto 1fr auto; + align-items: center; + gap: 12px; + margin: 24px 0; + font-size: 14px; +} + +.meter { + height: 10px; + overflow: hidden; + background: #e2e9e5; + border-radius: 20px; +} + +.meter span { + display: block; + width: 92%; + height: 100%; + background: var(--forest); + border-radius: inherit; + transition: width 180ms ease; +} + +.next-steps { + display: grid; + gap: 10px; + margin-bottom: 20px; +} + +.next-steps div { + padding: 12px; + background: #f6f8f4; + border: 1px solid var(--line); + border-radius: 8px; + color: var(--muted); +} + +.full-width { + width: 100%; +} + +.platform-band { + background: var(--ivory); +} + +.packet-preview { + display: grid; + grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); + gap: 28px; + align-items: center; + margin-top: 34px; + padding: 30px; + background: #163c39; + border-radius: 8px; +} + +.packet-copy { + color: white; +} + +.packet-copy .eyebrow { + color: #f0c89f; +} + +.packet-copy p { + color: rgba(255, 255, 255, 0.76); +} + +.packet-ui { + padding: 18px; +} + +.packet-header, +.packet-row { + display: flex; + justify-content: space-between; + gap: 16px; + padding: 16px; + border-bottom: 1px solid var(--line); +} + +.packet-header span, +.packet-row strong { + color: var(--forest); +} + +.packet-row:last-child { + border-bottom: 0; +} + +.packet-row.complete strong { + color: var(--forest); +} + +.packet-row.active strong { + color: var(--blue); +} + +.packet-row.warning strong { + color: var(--clay); +} + +.visas-band { + background: #f6efe5; +} + +.visa-columns { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 18px; +} + +.visa-list { + padding: 24px; +} + +.visa-list ul { + list-style: none; + margin: 18px 0 0; + padding: 0; +} + +.visa-list li { + display: grid; + grid-template-columns: 120px 1fr; + gap: 18px; + padding: 17px 0; + border-top: 1px solid var(--line); +} + +.visa-list span { + font-weight: 900; +} + +.visa-list strong { + font-weight: 650; +} + +.upload-band { + background: var(--paper); +} + +.upload-layout, +.hr-layout { + display: grid; + grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); + gap: 24px; + align-items: start; +} + +.upload-list { + display: grid; + gap: 10px; +} + +.upload-item { + display: grid; + grid-template-columns: 1fr auto; + gap: 12px; + width: 100%; + min-height: 62px; + padding: 16px; + text-align: left; + background: #f6f8f4; + border: 1px solid var(--line); + border-radius: 8px; + cursor: pointer; +} + +.upload-item strong { + color: var(--clay); +} + +.upload-item.is-done strong { + color: var(--forest); +} + +.upload-item.is-active { + border-color: var(--forest); + box-shadow: 0 0 0 3px rgba(37, 76, 69, 0.13); +} + +.upload-detail { + min-height: 340px; + padding: 28px; +} + +.draft-box { + margin-top: 24px; + padding: 18px; + background: var(--mist); + border-left: 4px solid var(--forest); +} + +.hr-band { + color: white; + background: var(--pine); +} + +.hr-band .eyebrow { + color: #f0c89f; +} + +.hr-copy p, +.hr-band .section-heading { + color: rgba(255, 255, 255, 0.78); +} + +.hr-copy h3 { + color: white; + font-size: 30px; +} + +.hr-dashboard { + color: var(--ink); + padding: 20px; +} + +.dashboard-top { + display: flex; + justify-content: space-between; + gap: 16px; + padding-bottom: 18px; + border-bottom: 1px solid var(--line); +} + +.dashboard-top span { + color: var(--forest); + font-weight: 900; +} + +.dashboard-grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 10px; + margin: 18px 0; +} + +.dashboard-grid div { + min-height: 104px; + padding: 14px; + background: #f8f4ea; + border: 1px solid var(--line); + border-radius: 8px; +} + +.dashboard-grid span, +.case-table em { + display: block; + color: var(--muted); + font-size: 13px; + font-style: normal; +} + +.dashboard-grid strong { + display: block; + margin-top: 18px; + color: var(--forest); +} + +.case-table { + display: grid; + gap: 8px; +} + +.case-table div { + display: grid; + grid-template-columns: 90px 1fr auto; + gap: 14px; + align-items: center; + padding: 14px; + background: #f6f8f4; + border-radius: 8px; +} + +.cta-band { + display: flex; + justify-content: space-between; + gap: 28px; + align-items: center; + background: #e2eadf; +} + +.cta-band div { + max-width: 760px; +} + +.site-footer { + display: flex; + justify-content: space-between; + gap: 28px; + padding: 36px 56px; + background: #11191f; + color: white; +} + +.site-footer p { + margin: 6px 0 0; + color: rgba(255, 255, 255, 0.68); +} + +.legal-note { + max-width: 520px; +} + +@media (max-width: 980px) { + .site-header { + grid-template-columns: 1fr auto; + padding: 0 22px; + } + + nav { + display: none; + } + + h1 { + font-size: 48px; + } + + h2 { + font-size: 34px; + } + + .hero { + min-height: 720px; + padding: 74px 24px 28px; + } + + .hero-media { + background: + linear-gradient(90deg, rgba(18, 61, 58, 0.97) 0%, rgba(18, 61, 58, 0.88) 58%, rgba(18, 61, 58, 0.62) 100%), + url("abigail-hero.png") center / cover no-repeat; + } + + .section { + padding: 64px 24px; + } + + .promise-grid, + .workflow, + .pathfinder-layout, + .packet-preview, + .visa-columns, + .upload-layout, + .hr-layout { + grid-template-columns: 1fr; + } + + .result-panel { + position: static; + } + + .dashboard-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .site-footer, + .cta-band { + flex-direction: column; + align-items: flex-start; + } +} + +@media (max-width: 620px) { + .nav-action { + min-width: auto; + padding: 10px 12px; + } + + h1 { + font-size: 40px; + } + + .hero-lede { + font-size: 17px; + } + + .hero-status { + grid-template-columns: 1fr; + } + + .hero-status div { + min-height: 88px; + } + + .visa-list li, + .upload-item, + .case-table div, + .packet-header, + .packet-row { + grid-template-columns: 1fr; + } + + .dashboard-grid { + grid-template-columns: 1fr; + } +} diff --git a/docs/产品蓝图.md b/docs/产品蓝图.md new file mode 100644 index 0000000..e295265 --- /dev/null +++ b/docs/产品蓝图.md @@ -0,0 +1,186 @@ +# Abigail Immigration AI 产品蓝图 + +## 一句话定位 + +Abigail 是一个面向个人、企业 HR、移民律师的 AI 移民申请平台:像 TurboTax 一样问简单问题,自动判断路径、整理表格数据、收集材料、起草支持文件,最后由律师审核和提交。 + +## 核心用户 + +1. 个人申请人:创始人、工程师、研究员、艺术家、投资人、被雇佣员工、调整身份申请人。 +2. 企业 HR / People Team:需要管理 H-1B、L-1、TN、PERM、EB-1C、员工延期和变更雇主。 +3. 移民律师:不再反复追问基础信息,把时间放在策略、风险判断、材料质量和最终审核。 + +## 产品承诺 + +- 让客户用简单语言完成 intake,而不是读复杂法律清单。 +- 让 AI 初步判断最适合的签证路径,并列出替代路径和风险。 +- 让材料清单根据签证类型、客户身份、雇主情况自动变化。 +- 让 AI 根据材料和问答起草 support letter、petition letter、recommendation letter outline、attorney memo。 +- 让 HR 一次性上传公司资料,未来同一公司所有案件可以复用。 +- 让律师在最后阶段审核结构化材料、风险标签和 AI 草稿。 + +## 产品模块 + +### 1. AI Pathfinder + +AI 通过一组普通人能听懂的问题判断初步路径: + +- 是否有雇主 sponsor +- 是否有 extraordinary ability 证据 +- 是否是跨国公司调派 +- 是否有 treaty nationality 和投资 +- 是否要临时工作签证还是绿卡 +- 是否是延期、amendment、change of employer +- 是否需要 AOS、EAD、AP + +输出: + +- 推荐签证路径 +- 备用路径 +- 证据强弱评分 +- 缺失材料 +- 律师需要重点审核的问题 + +### 2. Form Data Builder + +把客户回答转成表格字段: + +- 个人身份信息 +- 地址、旅行、身份历史 +- 教育和工作经历 +- 雇主和职位信息 +- 公司注册、规模、财务、组织架构 +- 家庭成员和 dependent 信息 + +目标不是让 AI 自动提交,而是让律师拿到 form-ready 的结构化数据。 + +### 3. Evidence Checklist + +系统按签证类型自动生成材料清单: + +- 身份和身份历史 +- 雇主文件 +- 职位和工资文件 +- 成就、媒体、奖项、出版、专利、引用、商业影响 +- 推荐人信息 +- 公司证明、组织架构、财务、办公室、员工信息 +- AOS 所需 civil documents + +每个文件状态: + +- Missing +- Uploaded +- Needs clarification +- Verified +- Attorney reviewed + +### 4. Support Letter Studio + +AI 起草但不替代律师判断: + +- O-1 / EB-1 petition letter +- NIW proposed endeavor narrative +- Employer support letter +- Expert recommendation letter outline +- PERM role summary +- RFE response outline +- Exhibit index + +每一段草稿都应该能追溯到原始材料或客户回答。 + +### 5. HR Vault + +公司只上传一次: + +- 公司注册信息 +- EIN / tax documents +- 财务资料 +- 融资、客户、产品、组织架构 +- 签字人信息 +- Job description library +- Wage / worksite / reporting line +- 员工基础资料 + +HR 可以看到: + +- active cases +- blockers +- pending employee action +- pending HR action +- attorney review status +- upcoming expiration dates + +### 6. Attorney Review Layer + +律师端重点不是重新收集材料,而是审核: + +- 路径是否正确 +- 风险是否充分识别 +- 表格数据是否一致 +- 支持文件是否有证据支撑 +- 是否需要补材料 +- 是否可以提交 + +## MVP 页面结构 + +1. 首页:品牌定位、AI Pathfinder、签证覆盖、HR portal、律师审核层。 +2. Intake:问答式路径判断。 +3. Case Workspace:材料清单、上传、状态、AI 草稿。 +4. HR Portal:公司资料库、员工案件、复用资料。 +5. Attorney Dashboard:风险标签、草稿审核、表格数据、提交前 checklist。 +6. Pricing / Services:按签证类型展示固定费用和包含内容。 + +## 品牌方向 + +名称:Abigail 或 abigail + +气质: + +- 高端、冷静、值得信任 +- 法律专业感强,但语言简单 +- 科技感来自产品体验,不靠浮夸视觉 +- 适合创始人、工程师、科研人才、公司 HR + +建议 tagline: + +- Immigration work, rebuilt around answers. +- The AI intake layer for attorney-led immigration. +- From first question to attorney-ready filing. + +## 法律与安全边界 + +必须明确: + +- AI 不单独提供法律意见。 +- 所有移民策略和最终文件必须由 licensed attorney 审核。 +- 系统输出应显示依据、来源材料和不确定性。 +- USCIS 空白表格和说明本身是公开免费的。 +- 客户和律师关系应通过单独 engagement agreement 建立。 + +安全要求: + +- 文件加密存储 +- 权限分级:个人、HR、律师、管理员 +- 审计日志 +- PII 最小化 +- 下载和删除权限控制 +- AI 训练数据隔离 +- SOC 2 路线图 + +## 第一阶段开发优先级 + +1. O-1A / EB-1A / EB-2 NIW intake 和材料清单。 +2. H-1B / L-1 / TN employer-sponsored intake。 +3. HR Vault 基础版。 +4. AI support letter draft。 +5. Attorney review dashboard。 +6. Pricing and services page。 + +## 竞品参考提炼 + +- Alma:强在企业和个人双入口、路径策略、案件进度可视化、律师团队兜底。 +- Boundless:强在个人和企业移民服务覆盖、表格和材料流程、透明服务承诺。 +- Envoy Global:强在企业全球移民、HR 使用场景、program management。 +- Deel Immigration:强在 HR 平台、员工流动、签证资格评估、renewal 和 tracker。 + +Abigail 的差异化应该是:更强的 AI intake、更清晰的证据到草稿链路、更适合律师审核的结构化 case packet。 diff --git a/docs/签证服务范围.md b/docs/签证服务范围.md new file mode 100644 index 0000000..0e538d7 --- /dev/null +++ b/docs/签证服务范围.md @@ -0,0 +1,143 @@ +# Abigail 签证与服务范围 + +以下范围根据你提供的截图整理,后续可扩展为网站 pricing 页面和后台 case type 配置。 + +## Non-Immigrant Visas + +### O-1 + +| 服务 | 参考价格 | +| --- | ---: | +| O-1 New | $8,000 | +| O-1 Extension | $3,000 | +| O-1 Change of Employer | $3,000 | +| O-1 Amendment | $3,000 | + +### H-1B + +| 服务 | 参考价格 | +| --- | ---: | +| H-1B Lottery Registration | $500 | +| H-1B Cap / Cap-Exempt | $3,500 | +| H-1B Extension | $3,000 | +| H-1B Change of Employer | $3,000 | +| H-1B Amendment | $3,000 | + +### L-1 + +| 服务 | 参考价格 | +| --- | ---: | +| L-1 Initial / New Office | $6,000 | +| L-1 Extension | $3,000 | +| L-1 Initial Company Blanket application | $8,000 | +| L-1 under approved Company Blanket | $3,000 | + +### TN + +| 服务 | 参考价格 | +| --- | ---: | +| TN New - USCIS | $3,000 | +| TN New - Border / Consulate | $3,000 | +| TN Extension | $2,500 | +| TN Change of Employer | $2,500 | +| TN Amendment | $2,500 | + +### E-3 + +| 服务 | 参考价格 | +| --- | ---: | +| E-3 - USCIS | $3,500 | +| E-3 - Consulate | $3,500 | +| E-3 Extension | $3,000 | +| E-3 Change of Employer | $3,000 | +| E-3 Amendment | $3,000 | + +### H-1B1 + +| 服务 | 参考价格 | +| --- | ---: | +| H-1B1 - USCIS | $3,500 | +| H-1B1 - Consulate | $3,500 | +| H-1B1 Extension | $3,000 | +| H-1B1 Change of Employer | $3,000 | +| H-1B1 Amendment | $3,000 | + +### Other + +| 服务 | 参考价格 | +| --- | ---: | +| J-1 No Objection Waiver | $4,000 | +| STEM OPT EAD Initial or Extension | $250 | +| STEM Training Plan | $1,000 | +| TPS (I-821 + I-765) | $2,000 | +| DACA EAD Renewals | $1,500 | +| Agent Fee for O-1 | $1,000 | +| I-539 dependent, per dependent | $500 | + +## Immigrant Visas + +### EB-1 + +| 服务 | 参考价格 | +| --- | ---: | +| EB-1A | $10,000 | +| EB-1B | $10,000 | +| EB-1C | $10,000 | + +### EB-2 NIW + +| 服务 | 参考价格 | +| --- | ---: | +| EB-2 NIW | $10,000 | +| EB-1 / EB-2 NIW with an approved O-1 | $7,000 | + +### PERM + +| 服务 | 参考价格 | +| --- | ---: | +| PERM Labor Cert | $8,000 | + +### PERM-Based Green Cards + +| 服务 | 参考价格 | +| --- | ---: | +| I-140, PERM based: EB-2 | $4,000 | +| I-140, PERM based: EB-3 | $4,000 | + +### AOS + +| 服务 | 参考价格 | +| --- | ---: | +| Adult AOS bundle: I-485, I-765, I-131 | $2,000 | +| Child U14 AOS bundle: I-485, I-131 | $1,500 | +| Child U14 AOS bundle: I-485, I-765, I-131 | $2,000 | + +### Other + +| 服务 | 参考价格 | +| --- | ---: | +| Consular Green Card | $2,500 | +| Renewal of Advance Parole | $1,500 | +| Renewal of EAD based on pending AOS | $1,500 | + +## What's Included / Not Included 草案 + +可包含: + +- AI intake +- 材料清单 +- 文件上传和基础检查 +- support letter / petition draft +- attorney review +- final filing checklist +- client and HR status portal + +通常不包含: + +- RFE response +- FedEx、printing、copying、postage 等行政费用 +- 超出范围的持续咨询 +- 政府 filing fee +- premium processing fee +- 第三方翻译、公证、评估费用 +- 软件订阅或 enterprise implementation fee diff --git a/index.html b/index.html new file mode 100644 index 0000000..e1b7eca --- /dev/null +++ b/index.html @@ -0,0 +1,318 @@ + + + + + + Abigail Immigration AI + + + + + + +
+
+ +
+

AI immigration intake + attorney review

+

Immigration work, rebuilt around answers.

+

+ Abigail asks plain-language questions, recommends the strongest visa pathway, + prepares form-ready data, organizes evidence, and drafts support materials for + attorney review. +

+ +
+
+
+ 90% +

casework prepared before attorney review

+
+
+ 1 +

shared workspace for applicant, HR, and counsel

+
+
+ 24/7 +

intake, checklist, and draft generation

+
+
+
+ +
+
+

Built for immigrants, companies, and lawyers

+

A TurboTax-style flow for U.S. immigration.

+
+
+
+ 01 +

Choose the visa

+

Adaptive questions map the client to O-1, H-1B, L-1, TN, E-2, EB-1, NIW, PERM, AOS, and related paths.

+
+
+ 02 +

Prepare the forms

+

Answers are converted into structured case data that can populate immigration forms and attorney workpapers.

+
+
+ 03 +

Build the evidence

+

The platform requests the right documents, checks gaps, and turns raw achievements into support letter drafts.

+
+
+ 04 +

Bring in HR once

+

Company registration, job, wage, and employee data live in one reusable HR vault for every future case.

+
+
+
+ +
+
+

AI Pathfinder

+

Answer a few questions. See the likely pathway.

+
+
+
+
+ Who is this case for? + + + + +
+
+ What is the strongest fact pattern? + + + + +
+
+ What does the client need? + + + + +
+
+ Timing + + +
+
+ + +
+
+ +
+
+

The Abigail workflow

+

From intake to attorney-ready packet.

+
+
+
+ 1 +

Plain-language intake

+

Clients answer simple questions. The AI asks follow-ups only when facts change the legal path.

+
+
+ 2 +

Evidence checklist

+

Each visa gets a live checklist for identity, status, company, role, achievements, and supporting exhibits.

+
+
+ 3 +

Drafting engine

+

Support letters, petition narratives, recommendation letter outlines, and attorney memos are drafted from verified facts.

+
+
+ 4 +

Lawyer review layer

+

Attorneys review risk flags, missing evidence, AI drafts, and final forms before anything is filed.

+
+
+ +
+
+

Attorney-ready workspace

+

Every case becomes a structured file.

+

+ Abigail separates raw uploads from verified facts, flags contradictions, and keeps a clear audit trail for the lawyer. +

+
+
+
+ O-1A Packet · Priya S. + Attorney review +
+
Identity + statusComplete
+
Achievement matrixComplete
+
Support letter drafts7 drafts
+
Press translationNeeded
+
+
+
+ +
+
+

Visa coverage

+

Built around the cases you already handle.

+
+
+
+

Non-Immigrant Visas

+
    +
  • O-1new, extension, employer change, amendment
  • +
  • H-1Blottery, cap/cap-exempt, extension, amendment
  • +
  • L-1new office, extension, blanket, L-1A, L-1B
  • +
  • TNUSCIS, border/consulate, extension, employer change
  • +
  • E-2 / E-3 / H-1B1consular and USCIS routes
  • +
  • OtherJ-1 waiver, STEM OPT, TPS, DACA, I-539
  • +
+
+
+

Immigrant Visas

+
    +
  • EB-1EB-1A, EB-1B, EB-1C
  • +
  • EB-2 NIWself-petition and O-1-to-NIW strategy
  • +
  • PERMlabor certification and I-140 handoff
  • +
  • EB-2 / EB-3PERM-based green card workflow
  • +
  • AOSI-485, I-765, I-131 adult and child bundles
  • +
  • Consular green carddocument and interview prep
  • +
+
+
+
+ +
+
+

Evidence collection

+

The checklist changes with the case.

+
+
+
+ + + + + +
+
+

Selected document

+

Awards, press, publications

+

+ Abigail extracts dates, publication names, award criteria, circulation, and relevance to the proposed role. +

+
+ AI draft output +

Evidence summary, exhibit labels, expert letter talking points, and petition narrative bullets.

+
+
+
+
+ +
+
+

For HR and employers

+

Company data uploaded once. Reused across matters.

+
+
+
+

One source of truth for company immigration.

+

+ HR can upload registration documents, EIN confirmations, financials, organizational charts, job descriptions, + wage data, employee records, and signatory information once. Abigail reuses verified company facts across + H-1B, L-1, PERM, EB-1C, TN, and amendment workflows. +

+ Run a sponsored case +
+
+
+ Abigail HR Vault + 18 active cases +
+
+
Company profileVerified
+
Signatories3 ready
+
Job library42 roles
+
Case blockers4 open
+
+
+
Marco L.H-1B transferWage review
+
Lin W.L-1B extensionDrafting
+
Priya S.O-1AAttorney review
+
+
+
+
+ +
+
+

Abigail Legal AI

+

A premium immigration firm, with software at the center.

+

+ The product promise is simple: clients move faster, HR stops repeating itself, + and attorneys spend their time on judgment instead of chasing basic facts. +

+
+ Start with AI intake +
+
+ +
+
+ Abigail +

AI-assisted immigration case preparation for attorney-led legal services.

+
+ +
+ + + +