Inspiration
DIY Visa started from a problem I experienced personally while applying for a U.S. B1/B2 visitor visa.
The DS-160 form was long, unfamiliar, and sometimes unclear—especially when certain terms could be interpreted differently. I accidentally entered incorrect information in several fields and only realized it later. Fortunately, I was still issued the visa, but the experience showed me how easy it is for applicants to make honest mistakes that could create inconsistencies or unnecessary stress during the interview.
Most applicants are not trying to provide false information. They are simply navigating a complex form without enough context, guidance, or confidence.
I built DIY Visa to help Indonesian applicants—and trusted people assisting them—prepare their DS-160 answers more carefully, understand what each section is asking, identify possible mistakes earlier, and arrive at the interview better prepared.
The goal is not to predict approval or replace official government systems. It is to help applicants submit and explain their own truthful information more clearly and consistently.
What it does
DIY Visa is a privacy-first preparation workspace for Indonesian travelers applying for a U.S. B1/B2 visitor visa.
The core experience recreates the structure of the DS-160 questionnaire with a clearer, more approachable interface. Users can complete their preparation section by section, save their progress, review their answers in a human-readable format, and identify missing information, possible typos, timeline conflicts, or inconsistent details before continuing to the official DS-160 website.
The platform also includes several supporting tools:
- A guided DS-160 preparation flow with conditional questions and completeness tracking
- AI-assisted recommendations and explanations based on the user’s answers
- Timeline, date, and consistency checks
- A document manager for securely storing and organizing selected files
- A document auditor for checking observable passport and bank-statement details
- A photo checker and cropping tool for common U.S. visa photo requirements
- A consistency review for social profiles, employment history, and travel context
- A text and voice mock interview with personalized questions and coaching
- A logistics hub with official embassy and appointment-preparation resources
DIY Visa does not submit the DS-160, navigate CEAC, book appointments, bypass CAPTCHA, provide legal advice, or predict whether a visa will be approved.
How we built it
I built DIY Visa primarily with Codex and GPT-5.6, using the Sol and Terra models for different parts of the development process.
The application uses:
- Next.js 15 with the App Router
- TypeScript
- Tailwind CSS and Shadcn UI
- Supabase Authentication and PostgreSQL
- Drizzle ORM
- The Vercel AI SDK with an OpenAI-compatible provider
- Private Vercel Blob storage
- Vitest, React Testing Library, and Playwright
I followed a specification-driven development process. Features were first described through written requirements and implementation plans before being developed. This helped keep architectural decisions, privacy boundaries, and expected behavior documented throughout the project.
Testing was also part of the workflow rather than something added at the end. Changes were expected to pass unit, component, and end-to-end tests before being considered complete.
Because the application handles sensitive personal information, privacy was treated as a core product requirement. Sensitive structured values are encrypted before being stored, document processing requires explicit consent, private uploads are temporary by default, and users can permanently delete their information.
Challenges we ran into
The biggest challenge was balancing research, user experience, privacy, and development within a very short hackathon timeline.
Understanding the DS-160 process required careful research because the product needed to be helpful without appearing to replace the official form or provide legal advice. Designing the application flow was also challenging because the original process is long and complex, while the new experience still needed to remain familiar and accurate.
Scope management was another major challenge. I frequently discovered additional features that could improve the preparation journey, which made it tempting to expand the project beyond the original MVP. Features such as document auditing, voice interviews, photo checking, and document retention added value, but also increased the engineering and testing workload.
I also encountered token-limit and usage-management challenges while working heavily with AI coding tools. This required me to divide tasks more carefully, use different models for different types of work, and avoid spending high-capability model usage on tasks that could be handled more efficiently.
The most important challenge, however, was deciding where AI should stop. Visa applications involve sensitive information and high-stakes decisions, so every AI feature needed clear consent, uncertainty states, privacy controls, and product boundaries.
Accomplishments that we're proud of
I am most proud that I completed a working end-to-end product rather than only building a prototype or isolated AI demo.
DIY Visa now includes a bilingual preparation journey, authentication, multiple isolated applications, guided DS-160 preparation, document management, AI-assisted document reviews, photo guidance, consistency checks, mock interviews, privacy controls, and automated tests.
I am also proud that the product does not rely on approval predictions or fear-based messaging. It focuses on preparation, clarity, truthful consistency, and user control.
From the development side, GPT-5.6 and Codex significantly improved my productivity. Compared with previous models I had used, GPT-5.6 was more accurate at understanding specifications, following architectural constraints, identifying edge cases, and producing implementation-ready changes.
It often felt as though I could move nearly twice as fast—not simply because code was generated faster, but because less time was spent correcting misunderstandings or rebuilding features that did not match the specification.
What we learned
The biggest lesson was the importance of defining the product scope before development begins.
A stronger initial plan would have made it easier to prioritize the most important user journey and postpone secondary features. During a hackathon, every additional feature creates new design decisions, test cases, privacy considerations, and potential failure points.
I also learned that AI-assisted development works best when different models are used intentionally. High-capability models are most valuable for architecture, complex debugging, product reasoning, and reviewing sensitive flows. Smaller or more efficient models can handle repetitive implementation tasks, documentation, and straightforward changes.
Another important lesson was that trust cannot be created with a disclaimer alone. It needs to be reflected in the product architecture, interface language, permission checks, storage rules, uncertainty states, and the actions the application deliberately refuses to perform.
Finally, I learned that a focused tool for a specific audience can be more useful than a broad platform. Designing specifically for Indonesian B1/B2 applicants made it possible to support Bahasa Indonesia, IDR-based examples, local embassy context, and the actual questions Indonesian travelers commonly face.
What's next for DIY Visa
The next step is to launch DIY Visa as a real pilot product and test it with Indonesian travelers who are actively preparing for a U.S. B1/B2 visa interview.
Based on user feedback, I plan to improve:
- Cross-section and cross-document consistency checks
- Evidence references explaining why each issue was identified
- Interview questions generated from the applicant’s own preparation data
- Privacy controls and local-first document processing
- Mobile document capture and photo preparation
- Accessibility and usability for first-time visa applicants
- Official-resource updates for embassy and appointment guidance
After validating the product for U.S. B1/B2 applications, DIY Visa could gradually expand to other visa categories and destination countries.
However, the core principle will remain the same: help applicants prepare their own truthful information with greater clarity, consistency, privacy, and control.
Built With
- next.js
- postgresql
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.