⏱️ Lectura: 10 min
On August 8, 2026, developer Terry Godier redirected the domain of his own app, Dark Hours, to another programmer’s project. A week earlier he had launched that site (a utility for finding out what’s visible in the sky that night) built almost entirely with Claude.
📑 En este artículo
The creator of DarkHours.app, an open-source app with the same purpose, replied to him on Bluesky showing the resemblance: same name, same features, and even an error his own project had already fixed months earlier.
TL;DR
- Terry Godier launched Dark Hours on August 1, 2026, a web-based astronomy utility generated almost entirely with Claude.
- On August 8, 2026, the creator of DarkHours.app replied to him on Bluesky pointing out that his app was nearly identical, including the name.
- Dark Hours reproduced a bug that DarkHours.app had already fixed in an earlier version, the most damning evidence of the resemblance.
- Godier redirected his domain directly to DarkHours.app and canceled plans to launch an iOS version.
- He published a public apology admitting he used AI irresponsibly, without checking whether the project already existed.
- He said he’ll stop using AI to generate complete web applications, though he’ll keep using it for targeted debugging.
- The case reopens the debate over ‘vibe coding’: building apps with AI without checking whether the result copies someone else’s work.
What Happened
Godier built Dark Hours as a personal experiment: a page that tells the user which planets, constellations, or phenomena are visible that night based on their location. He built it relying on Claude for most of the code and published it in early August 2026.
A developer who had previously created a tool with the same purpose, DarkHours.app, replied to a comment from Godier on Bluesky. He showed him screenshots and a direct link to the thread comparing both projects: the overlap wasn’t just conceptual, it extended to the name, the features, and the structure.
According to Godier’s account on his blog, he confirmed within less than an hour that the resemblance wasn’t a coincidence. He decided to redirect the Dark Hours domain directly to DarkHours.app and cancel any plans to launch a native iOS app for the project.
The entire exchange was documented in a public Bluesky thread, something uncommon in this kind of dispute, which usually gets resolved privately or simply ignored. Godier took the opposite approach: he laid out the whole process, with names and screenshots, instead of quietly pulling the site down.
sequenceDiagram
participant G as Terry Godier
participant D as Creator of DarkHours.app
participant B as Bluesky
G->>B: publishes Dark Hours, built with Claude
D->>G: replies pointing out the resemblance
Note over G,D: Godier reviews the code and confirms the similarity, including an already-fixed bug
G->>B: announces the redirect to DarkHours.app
Context: What ‘Vibe Coding’ Is and Why This Case Is Different
‘Vibe coding’ is the term that became popular to describe the practice of building software by describing the desired outcome to a language model, without reviewing the code it produces line by line. It works well for quick prototypes, but it has a known blind spot: the developer trusts that the result is original without verifying it.
Godier’s case isn’t just an example of buggy AI-generated code. It’s an example of a model that, while solving a narrow problem (showing what’s visible in the night sky based on location and time), arrived at a solution structurally almost identical to an existing open-source project, including the product’s name.
The problem Dark Hours solves (cross-referencing location, time, and an astronomical catalog to determine what’s visible) has few reasonable ways to be solved from scratch. That makes it harder to separate a design coincidence from a direct copy, except for details like shared bugs, which have no logical reason to repeat across two independent implementations.
Godier was explicit in the apology he published on his blog:
📌 Note: “I was careless in relying on AI to generate the project without doing the work to understand whether it closely resembled an existing project. That’s on me, and I am responsible for what I published.”
Technical Details: The Tell That Gave Away the Resemblance to DarkHours.app
The most damning evidence wasn’t the name or the design, it was a bug. Dark Hours reproduced an error that the creator of DarkHours.app had already identified and fixed in an earlier version of his own project. Two independent implementations rarely share the exact same historical bug: when they do, it’s almost always because one derives from the other, directly or indirectly.
This connects to a problem already documented in AI code-generation tools: models trained on large volumes of public repositories can memorize fragments of specific projects and reproduce them almost verbatim given a sufficiently similar prompt, instead of generating a genuinely new solution. Godier couldn’t say for certain what the exact mechanism was, and clarifies on his blog that he had never seen DarkHours.app before the reply on Bluesky.
This kind of memorization isn’t exclusive to Claude: it’s a known risk of any model trained on public code, and it’s part of why tools like GitHub Copilot include filters to detect literal matches with existing repositories before suggesting a response. What’s different about the Dark Hours case is that the overlap wasn’t caught by an automated filter, but by the original project’s own author while using the app.
| Project | Origin | License | Outcome After the Case |
|---|---|---|---|
| DarkHours.app | Manually developed, open source | Open (per the project itself) | Receives the redirected traffic and Godier’s public credit |
| Dark Hours (Godier) | Generated almost entirely with Claude | Not specified | Domain redirected, iOS app development canceled |
How to Check Before Publishing an AI-Generated Project
Godier himself acknowledges the mistake wasn’t using Claude, it was not spending ten minutes checking whether the result already existed. Before publishing a project built with AI assistance, there are concrete, quick steps any developer can run from the terminal.
Search by name and functionality on GitHub using its public repository search API:
curl -s "https://api.github.com/search/repositories?q=dark+hours+astronomy+in:name,description&sort=stars" \
| jq '.items[] | {repo: .full_name, stars: .stargazers_count, url: .html_url}'
This command returns existing repositories that match the project’s name and description, sorted by stars. If something with an almost identical idea shows up, it’s time to read its code before publishing your own.
If the project has an equivalent as a package, it’s also worth checking the corresponding registry before choosing a name. On Windows, macOS, and Linux the command is the same, since it runs on the package manager, not the operating system:
# npm (Windows / macOS / Linux)
npm search dark-hours-app
# PyPI
pip index versions dark-hours-app
# crates.io
cargo search dark-hours-app
None of these steps takes more than a couple of minutes, and any of them would have been enough for Godier to find DarkHours.app before launching Dark Hours, not after.
💡 Tip: search the exact name of your project in quotes on a search engine before registering it, even if it came out of an afternoon vibe-coding session. It costs less than redirecting a domain later.
Impact and Reactions
The reaction on Bluesky was mostly supportive of Godier’s transparency. Publicly acknowledging the mistake, explicitly crediting the original project, and redirecting the domain in less than a day is an uncommon outcome in disputes over AI-cloned apps, where the norm is defensiveness or silence.
Godier was specific about the limits he’s setting for himself going forward: he won’t use AI to generate complete web projects again. On iOS, where he says he has more control over what he publishes, he’ll keep using AI to ask questions and debug specific errors, but not to generate entire applications.
The case also exposes a practical limitation of current coding agents: they can produce a functional solution to a narrow problem without giving the developer an easy way to know whether that solution already exists elsewhere, under a different name, under a different license.
The case comes at a time when more and more individual developers are publishing complete products generated over a weekend with AI assistants, without the review process a larger team would have. The legal and reputational responsibility for what gets published, however, still falls on the developer who signs off on it, not on the model that generated it.
What’s Next
The Dark Hours domain now redirects to DarkHours.app. Godier confirmed there won’t be an iOS app derived from the original project, the only platform where he had concrete expansion plans.
For the rest of the developer community using assistants like Claude to build complete products, the case leaves an open question: if a model can reproduce a specific bug from a project the user never saw, what real guarantees exist that generated code is original before publishing it?
💭 Key takeaway: the best signal for detecting a copy isn’t the design or the name, it’s an internal detail that only matches if there’s a direct relationship between both codebases, like a bug already fixed in the original.
📖 Summary on Telegram: View summary
Before publishing your next vibe-coded project, run the GitHub API search above with the name you’re planning to use, and give yourself those two minutes.
Frequently Asked Questions
What was Dark Hours?
A web utility created by Terry Godier with Claude’s help that told the user which astronomical objects were visible that night from their location.
What is DarkHours.app?
An open-source project with the same purpose, created earlier by another developer, that Dark Hours ended up reproducing almost entirely, including an already-fixed bug.
Did Godier violate any license by publishing Dark Hours?
His blog doesn’t mention any formal license complaint; the outcome was voluntary: he acknowledged the resemblance, gave public credit to the original project, and redirected his domain without any legal claim being filed.
Will Godier keep using AI to code?
Yes, but with limits: he says he won’t use AI to generate complete web projects again, though he’ll keep using it to debug specific errors, including in his iOS work.
What is ‘vibe coding’?
It’s building software by describing the desired outcome to a language model without thoroughly reviewing the code it produces, which makes quick prototypes easier but makes it harder to detect whether the result copies an existing project.
How can I avoid publishing something that already exists?
Search for the project’s name and functionality on GitHub, in the corresponding package registry (npm, PyPI, crates.io), and on a general search engine before publishing, not after.
References
- Terry Godier’s Blog: the original post where he recounts the case and publicly apologizes.
- Bluesky: the social network where the creator of DarkHours.app pointed out the resemblance to Godier.
- GitHub: the go-to platform for searching existing projects before publishing a new one.
- Claude (Anthropic): the AI assistant used to build the first version of Dark Hours.
📱 Do you like this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.
Imagen destacada: Foto de Jeremy Thomas en Unsplash
0 Comments