Every year, millions of visa applications get rejected — often for preventable reasons like missing documents, inconsistent dates, or weak cover letters. I wanted to change that.
So I built ApplyGuide — an AI tool that reviews your visa application before you submit it, catches potential issues, and helps you strengthen your case.
Here's how I built it, the tech decisions I made, and what I learned along the way.
The Problem
Visa applications are stressful. You gather dozens of documents, fill out forms, write cover letters — and then you wait weeks, sometimes months, only to receive a rejection letter with a vague reason like "insufficient proof of financial means" or "purpose of travel not clear."
The frustrating part? Most rejections are avoidable. The information is usually there — it's just not presented in the right way.
Professional visa consultants charge €200-500 to review your application. That's a lot of money, especially for students or people from developing countries who need visas the most.
The Idea
What if AI could do what a visa consultant does — review your documents, flag potential issues, and suggest improvements — but make it accessible to everyone?
That's ApplyGuide. You upload your visa documents, and the AI analyzes them against known refusal reasons for your specific visa type and destination country. It gives you a risk score, highlights weak spots, and tells you exactly what to fix.
Tech Stack
I went with a modern, lightweight stack:
- React 19 + Vite 8 — Fast dev experience, great DX
- Tailwind CSS 4 — Dark glass-morphism UI that feels professional and trustworthy
- i18next — Full internationalization (English, French, German, Spanish)
- React Router — Client-side routing for SEO pages
- Vercel — Hosting + serverless functions
- Claude API — The AI engine behind the analysis
- Stripe — Payment processing
Architecture
The app has three tiers:
Free tier — A client-side risk score calculator. No API calls, no cost to me. Users answer questions about their application, and a scoring algorithm flags potential issues. This is the hook.
Basic (€9.99) — Full AI analysis powered by Claude. Users upload their documents, the serverless function sends them to Claude with a specialized prompt, and they get back a detailed report with specific recommendations.
Premium (€29.99) — Everything in Basic, plus an AI-generated cover letter tailored to their specific situation.
The AI Prompt Engineering
This was the hardest part. Getting Claude to produce useful, specific, actionable visa advice required a lot of iteration.
Key things I learned:
Context is everything. The prompt includes the destination country's specific requirements, common refusal reasons, and the visa type. A Schengen tourist visa has completely different criteria than a German student visa.
Structure the output. I use a specific output format with risk levels (high/medium/low), categorized findings, and actionable next steps. This makes the report scannable and useful.
Positive framing matters. Early versions focused on "what's wrong." Users found this discouraging. I reframed everything around "how to strengthen your application" — same information, completely different emotional impact.
SEO Strategy
Since this is a B2C product targeting people actively searching for visa help, SEO is critical. I built 14 content pages targeting specific long-tail keywords:
-
/visa-application-review— Main landing page -
/schengen-visa-refusal-reasons— Informational content -
/reapply-after-visa-refusal— Problem-solution content -
/student-visa-application-review— Persona-specific -
/visa-document-checklist— Utility content
Each page has FAQPage JSON-LD structured data, BreadcrumbList schema, hreflang tags for all 4 languages, and internal linking to related pages.
Internationalization
Visa applications are a global problem, so the tool needed to work in multiple languages from day one. I used i18next with namespace-based translation files.
The interesting challenge: SEO content pages need to be fully translated, not just UI strings. Each of the 14 content pages has complete translations in all 4 languages, with culturally appropriate examples.
What I'd Do Differently
Start with SEO pages earlier. I built the tool first and the content pages later. Should have been the other way around — content drives organic traffic, which drives signups.
Add a sample report from day one. People want to see what they're paying for. The
/sample-reportpage has been my best converter.Don't over-engineer the free tier. The client-side risk score was fun to build but could have been much simpler.
Try It Out
Check it out at applyguide.org — the free risk score is available without signup. I'd love to hear your feedback.
If you're working on something similar — an AI tool solving a specific, painful problem — I'm happy to share more details about the prompt engineering or the SEO approach. Drop a comment!
Built with React, Claude API, and a lot of visa application research.
Top comments (0)