About
Notes from building small products
The 2dayapp editorial team documents technical choices, publishing workflows, failures, and decision boundaries observed while running AI coding tools and static sites.
Topics
The site has three connected lanes: building and deploying static sites with GitHub Pages, Astro, Cloudflare, and Vercel; observations from Search Console, SEO, and AI search; and the costs, permissions, and failure modes of using AI coding tools in small-product work. When a post crosses lanes, it states the conditions and limits separately.
Editorial standard
Published posts are grounded in a configuration, experiment, or work record the editorial team checked directly, or in source material readers can verify. They explain the condition of a choice, its failure modes, and where a conclusion stops applying—not just a summary of documentation.
Evidence boundary
“Directly checked” refers to what the site’s code, build and deployment output, or an actual work record can support. Product and search behavior is checked against primary documentation. When a result belongs to an external system, such as Search Console or an AdSense review, the article states when that result was not observed instead of treating an implementation as proof.
Public evidence
The experiment evidence page publishes the run-level results and limits for the 18-run AI coding framework comparison. Raw logs and workspaces remain withheld because they contain local paths and controller-only material.
Review and updates
Each article identifies the 2dayapp editorial team and its review basis in the header. When evidence is no longer sufficient, the article is unlisted rather than padded; time-sensitive technical and policy claims are rechecked against their source before an update.
How it is maintained
Posts are maintained as Markdown, reviewed through Git, and published as static pages. Older information should be updated when a platform changes or a better explanation is found.
Contact
Corrections, additions, and project feedback can be sent to the email address on the Contact page.