Building a Website Without Reading Code: How I Built Jason Finance Cheaply with Claude Code + GitHub + Cloudflare, and What It Costs
I can't read code. Jason Finance runs on Claude Code, GitHub, Cloudflare Workers and Supabase free plans. The setup, costs, AI permissions and limits.
On this page
I can’t read code or SSH commands. Since its first commit on 2 October 2026, Jason Finance’s code, deployments and data syncs have all been done by Claude Code. My part is deciding what to write, what it should look like, and what is allowed to go live.
The short version: with this approach, hosting and the database can all run on free plans, and the fixed costs are mainly the domain and a Claude subscription. The public site is static pages hosted on Cloudflare. The articles live on GitHub, and pushing is publishing. The parts that need sign-in and comments use Supabase’s free plan. A free Oracle server runs Claude Code and the daily backups.
This is a record of how I built my own site. Free tiers and prices may change; check each service’s official pages.
The whole stack: what each service does
| Layer | What | What it does | Plan |
|---|---|---|---|
| Site framework | Astro | Turns Markdown articles into static pages; only the admin area and the homepage language redirect need a server | Open source, free |
| Hosting | Cloudflare Workers | Hosts the site on a global CDN; builds and deploys automatically after a push | Free plan works |
| Articles and code | GitHub | Articles are Markdown files and every change is recorded; also runs the daily data syncs | Free (private repo) |
| Sign-in and comments | Supabase | Google sign-in, comments, admin data; the database’s row-level security (RLS) controls who can see what | Free plan |
| Admin protection | Cloudflare Access | Blocks unauthorized visitors to /admin at the Cloudflare layer, before they reach the site |
Zero Trust free plan |
| Bot protection | Cloudflare Turnstile | Checks that commenters are human | Free |
| Backups | Cloudflare R2 | Daily database backups, kept for 30 days | Within the free allowance |
| Always-on server | Oracle Always Free VM | Runs Claude Code and the daily backups | Free |
| Monitoring | healthchecks.io | Sends an email if a backup does not report in on time | Free |
| Domain | Domain registrar | jason-finance.com | Annual renewal fee |
| AI | Claude Code | Writes code, formats articles, deploys, looks things up | Claude subscription |
Keeping every public page static has one advantage: Supabase pauses a free project after a week of inactivity, and cloud services can have problems, but the article pages readers see do not depend on the database, so they still load.
Articles on GitHub: pushing is publishing
The site has no WordPress-style editor. Each article is a folder with one Markdown file per language, for example src/content/posts/okx-review/zh-hant.md.
- Publishing: Claude Code pushes the change to the
mainbranch on GitHub, and Cloudflare builds and deploys it automatically. It is live within a few minutes. - Preview: a separate
previewbranch builds a preview URL that includes drafts. I look at drafts there first and they are published only once I’m happy. - Rollback: every change is recorded, so if something breaks, it can be rolled back to an earlier version.
- Rules written into the code: for example, every article must belong to one topic and descriptions cannot exceed 160 characters. If something breaks a rule, the build fails, so errors don’t go live.
How I give AI permissions: by effect, not by command
I can’t read code or commands, so I can’t approve each step the AI takes one by one. The rule I agreed with Claude Code is to look at what effect something will have. It is written in the project’s CLAUDE.md, which is read at the start of every session:
- Do it, then report: reading files, looking things up, running tests, ordinary commits and deployments, backups.
- Explain it to me in plain language first: content direction, design and layout choices.
- I decide: publishing content I haven’t seen, changing the live site’s settings, anything involving money or partnerships.
- Explain once, then go ahead: deleting live data, changing the database directly. Before starting, set out the scope, the risk and the backup, and report when done.
- Lines that must never be crossed: keys never go into Git or get pasted into a chat; never turn off the database’s access protection; never rewrite Git history.
The rules really do make the AI stop. On my other site, Jason Career, the deployment tool once hit an error: the backup failed and the deployment stopped automatically. Changing the deployment tool itself is one of the things that needs my say first, so Claude stopped, explained the cause and the fix, and waited until I replied “ok” before fixing it and redeploying. The story is in Running WordPress without understanding SSH.
The limits of this approach
- You still need judgment: the AI will propose options, but whether to publish, or whether to take a particular risk, is still your call.
- Free plans have limits: for example, Supabase’s free plan has a very low email allowance, so the only sign-in option is Google.
- A free server can be reclaimed: Oracle may take back a free server that sits idle for too long, so backups are kept in Cloudflare R2, the code is on GitHub and the setup steps are documented, which means the server can be rebuilt at any time.
- AI makes mistakes: I have it run tests before every change and check the screen with screenshots afterwards, but facts and numbers still need sources and dates.
My other site, Jason Career, is WordPress hosted on Cloudways and maintained by Claude Code over SSH and WP-CLI; the story is in Running WordPress without understanding SSH. For the full technical stack, the day-by-day progress and the key decisions, see Jason Finance from zero to one. More articles are on the AI Startup topic page.
FAQ
Can I build a website with Claude Code if I can't read code?
Yes, but your role changes: you don't write code. You decide what to build, check the results and make the calls. At Jason Finance, Claude Code does the code, the deployments and the data syncs. I handle content direction, design choices and any decision that affects the live site.
How much does it cost to build a website with Claude Code + GitHub + Cloudflare?
Hosting and the database can all run on free plans: Cloudflare Workers, R2, Access and Turnstile, plus Supabase and a free Oracle server. The main fixed costs are the domain and a Claude subscription, and the amount depends on the plan.
What are the benefits of keeping the articles on GitHub?
Every change is recorded and can be rolled back, and building the site does not depend on a database. Push to the main branch and Cloudflare deploys automatically. A separate preview branch produces a preview URL that includes drafts, so I can look before anything is published.
Is it safe to let AI change the live site directly?
I use a rule that decides whether to ask me based on the effect: reading files, running tests, ordinary commits and deployments can go ahead directly; publishing content, changing live settings and deleting data have to be raised with me first. On top of that there are a few technical lines that must never be crossed, such as never putting keys in Git and never turning off the database's access protection.
Related articles
- Git Can Push, but Claude Code Can't Read GitHub Issues: SSH vs GitHub API PermissionsClaude Code can't read GitHub Issues but git push works? SSH keys only cover Git. Sign in with gh CLI, check scope, protect the token, go from Issue to PR.
- Running Multiple Claude Code Remote Controls on One Server: Linux Users, systemd and git worktreeMultiple Claude Code Remote Controls on one server: Linux users by trust, one systemd service each, git worktree for dev vs writing, --spawn=worktree limits.
- Running WordPress Without Knowing SSH: How Jason Career Manages Its Site with Claude Code, SSH and WP-CLIJason Career is a WordPress site with 65 plugins, a shop and courses. I can't read SSH or code, so Claude Code runs it: 10 days of work, problems, safeguards.

Jason
Account Manager in Google Large Customer Sales and Columbia MBA admit, sharing the money tools and experience he actually uses.
Comments
Sign in with Google to comment. Your comment will not show your Google profile picture or name; it appears under a randomly generated nickname to protect your privacy.
By signing in you agree to this site's privacy policy.