Mea Culpa – Dark Hours
My Mistake: The Dark Hours Incident
By Terry Godier
(Developer of Current — a minimalist RSS reader and creator of visual essays regarding our intersection with technology)
📅 August 9, 2026 | 🌙 Theme: Dark
The Situation
Recently, I released a utility called Dark Hours, a website designed to help users determine what celestial objects would be visible in the night sky. However, shortly after launch, a developer who manages DarkHours.app reached out to me via Bluesky. He pointed out the striking similarities between our projects, including the identical naming.
The Timeline of Events
The Realization
Initially, I believed I could simply pivot the feature set and rebrand. However, upon closer inspection, the reality was more troubling. Because I used Claude to generate the application, the AI had produced a result that was nearly a mirror image of the existing open-source project.
"It became clear that the web app I had launched... was strikingly similar to his open source project, even reproducing a bug he had later fixed."
This meant the "originality" of my work was an illusion. The mathematical probability of this happening by chance was effectively:
Comparison of Projects
| Feature | My AI-Generated Version | The Original DarkHours.app |
|---|---|---|
| Name | Dark Hours | Dark Hours |
| Function | Sky Visibility Utility | Sky Visibility Utility |
| Code Base | AI-generated (Claude) | Open Source |
| Bugs | Included outdated bugs | Fixed/Current |
The Resolution
Once I understood the extent of the overlap, I realized there was only one ethical path forward. I have taken the following steps:
- Redirected my domain directly to the original creator.
-
Developed an iOS application for the projectCancelled. - Publicly endorsed the original open-source version.
If you were interested in the utility I launched, please support the authentic version of the project.

A Sincere Apology
I want to apologize for my irresponsible use of AI in this process. While I had no prior knowledge of DarkHours.app before the developer contacted me, I was negligent. I relied on AI to build the project without performing the necessary due diligence to ensure it wasn't a derivative of existing work.
My Future Commitments
To prevent this from happening again, I am implementing new boundaries for my workflow:
- Web Development: I will no longer use AI to generate entire web projects.
- iOS Development: I already maintain a strict boundary here; I do not use Claude to build apps.
- Permitted AI Use: I will continue to use AI for:
- Asking specific questions.
- Debugging isolated issues.
// Example of the type of AI assistance I will still use:
function debugIssue(error) {
if (error === 'Unexpected Token') {
console.log("Asking AI to help locate the syntax error...");
}
}
By shifting my approach, I aim to ensure that my future contributions are genuinely my own.