Argentine Visa Process Tracker

A progress tracking app that helps expats navigate the Argentine visa and residency application process step-by-step.

Next.js Prisma PostgreSQL NextAuth.js Resend

The Argentine visa application process can be confusing and opaque. This web application helps expats track their progress, understand requirements, and connect with others going through the same process.

Motivation

After struggling through my own visa application with little guidance on timelines and next steps, I built this tool to help others navigate the complex Argentine immigration system with more confidence and clarity.

Core Features

Progress Tracking

  • Visual timeline of visa application stages
  • Checklist of required documents
  • Status updates and notifications
  • Expected timeline estimates based on visa type

Document Management

  • Upload and organize required documents
  • Document expiration reminders
  • Translation requirements tracker
  • Apostille checklist

Community Features

  • Timeline sharing with other applicants
  • Discussion forums by visa type
  • Processing time reports
  • Office location reviews

Notifications

  • Email reminders for important deadlines
  • Updates when new requirements are announced
  • Community alerts for policy changes

Technical Architecture

Backend

  • Next.js 14: App router and server actions
  • Prisma ORM: Type-safe database access
  • PostgreSQL: Relational data storage
  • NextAuth.js: Authentication system
  • Resend: Transactional emails

Frontend

  • React Server Components: Optimized rendering
  • Tailwind CSS: Responsive design
  • Radix UI: Accessible components
  • Framer Motion: Smooth animations

Infrastructure

  • Vercel: Deployment and hosting
  • Vercel Postgres: Database hosting
  • Cloudflare R2: Document storage
  • Sentry: Error monitoring

Development Process

User Research

Before building, I:

  • Interviewed 20+ expats about their visa experiences
  • Analyzed common pain points in Facebook groups
  • Researched official migration website limitations
  • Tested early prototypes with beta users

Privacy Considerations

Since the app handles sensitive personal data:

  • End-to-end encryption for document uploads
  • GDPR-compliant data handling
  • Optional anonymous mode
  • No data sharing with third parties
  • Regular security audits

Scaling Challenges

As the user base grew, I addressed:

  • Database query optimization
  • CDN integration for document delivery
  • Rate limiting on email notifications
  • Caching strategies for static content

Implementation Highlights

Server Actions for Forms

Leveraging Next.js 14’s server actions for a better UX:

async function updateVisaStatus(formData: FormData) {
  'use server'

  const session = await getServerSession()
  if (!session) throw new Error('Unauthorized')

  const status = formData.get('status')
  await prisma.application.update({
    where: { userId: session.user.id },
    data: { status, updatedAt: new Date() }
  })

  revalidatePath('/dashboard')
}

Real-time Progress Calculation

Automatically calculate completion percentage:

function calculateProgress(application: Application) {
  const steps = getStepsForVisaType(application.visaType)
  const completed = steps.filter(step =>
    application.completedSteps.includes(step.id)
  ).length

  return Math.round((completed / steps.length) * 100)
}

User Impact

The tracker has helped:

  • 5,000+ expats track their applications
  • Reduce average processing anxiety by providing clarity
  • Connect applicants going through similar timelines
  • Identify which immigration offices process faster

Lessons Learned

Start Simple

The first version had just basic tracking. Advanced features came after validating the core use case.

Community is Everything

The most valuable feature ended up being the community timeline sharing—not the fancy tracking system.

Privacy Matters

Users need strong assurances about data security when dealing with immigration documents.

Localization is Hard

Supporting both English and Spanish required more than just translation—cultural context matters.

Future Roadmap

Planned enhancements:

  • Mobile app with push notifications
  • Integration with Argentine government APIs (when available)
  • AI chatbot for common visa questions
  • Lawyer/gestor directory and reviews
  • Multi-country support for MERCOSUR migration

Contributing

The project welcomes contributions in several areas:

  • Updating visa type requirements
  • Improving documentation
  • Adding new features
  • Bug fixes
  • Translation improvements

Acknowledgments

Special thanks to:

  • The r/Argentina and Expats in Buenos Aires communities
  • Beta testers who provided invaluable feedback
  • Immigration lawyers who reviewed the content
  • Open source maintainers whose libraries made this possible

Check It Out

Visit visa-tracker to start tracking your application, or explore the source code on GitHub.