Inspiration

My interest in UFOs began when I was a kid. I once ordered a UFO magazine and became obsessed with its stories. One article described a man who spoke to the sky every night, asking a UFO to visit him—and, after a month, one supposedly did.

Then, I tried the same thing. I talked to the sky for a month, but nothing arrived, so I gave up, which is a "sad" story.

Early this year, when I saw the news that the government was releasing official UFO/UAP files, that childhood curiosity returned immediately. I wanted to create a central, interactive place where UFO fans, researchers, and even newcomers could explore these records without digging through scattered government pages.

What It Does

UFO Files Archive organizes official government UFO/UAP records into a searchable, source-backed experience. Visitors can browse individual files, follow releases through a timeline, see where reported events occurred on a map, and explore relationships between records.

The goal is to make official information easier to access, understand, and discuss—and perhaps spark curiosity in someone who has never explored the subject before.

How I Built It

I built the project independently with techniques like Next.js, React, TypeScript, static JSON data, and Vercel, etc. The archive synchronizes and normalizes records from the official government source while preserving links and provenance.

Codex was my development partner throughout the process. I began the project around the release of Codex 5.3 and the Codex desktop app and experienced their capabilities improving till the current GPT 5.6 while I worked. I used Codex to develop features, rethink application logic, debug problems, and redesign the interface. Actually, I've almost done everything with Codex.

Challenges I Faced

The hardest challenge was reliably syncing data from the government website. Automated requests were not always dependable, so I experimented with several approaches, including GitHub Actions and an external runner.

Because new UFO files are not released frequently, a fully automated system introduced more complexity than value. I eventually chose a maintainer-reviewed, biweekly manual sync. This approach is less flashy, but it makes the archive more dependable and helps ensure every update is accurate before publication.

Building the relationship graph was another challenge. The current version connects records using relatively simple signals, but determining meaningful relationships between files is a much deeper problem.

What I Learned

This project taught me how powerful AI-assisted development has become—but also why AI-generated work still requires human judgment. AI can help one person move incredibly quickly, but it can also introduce bugs or unstable decisions.

I learned to build guardrails around my agent workflow through clear instructions, specialized roles, validation, tests, and review steps. The goal is not simply to let AI generate more code; it is to create a system where AI-generated work becomes increasingly reliable.

I am especially proud of the event map and relationship graph. In the future, I would like to use semantic analysis to discover deeper connections across documents and build a richer knowledge map. That same approach could eventually apply beyond UFO records to many other public archives and knowledge bases.

Built With

Share this project:

Updates