MonaClaude Overdrive: NETrunning at the pace of thought
A thrilling sequel in the AI-DOLLAR journey: Can NETlify compete with an AI-boosted Indie hosting alternative? (post written in vim)
AI in your IDE โก๏ธ AI in your TTY
Welcome back to my blog, and/or welcome my dear reader :)
I recently found myself in an 'AI product development'1 workshop for entrepreneur-y types and was surprised at my ability to have AI not just generate a website for me2, but to construct a full false-door product website, replete with blog posts detailing the international expansion and past year of my 10-minute old business.
woah
Anyway, it turns out Lovable3โwhich, from their Github OAuth Project name, seems to stem from a 'GPT Experiment'โis pretty decent at cranking out loosely realistic, pretty good, although often similar, phantom websites4. Today you will hear my real-time process of putting a live Claude5 in a virtual machine to assist in my continual ""AI product development"" journey. See my previous blog post as for why I first adopted this VM pattern, and why it might be a good idea to do the same for a proprietary terminal RCE AI agent.
In the spirit of shipping quickly, before the product is fully baked - I will be posting this blog post ahead of its production-readiness and update it over the course of the day(or week!) ~ stay tuned ๐
Dogfood proposal: Changing the hosting of this blog
Problem statement: The Netlify deployment and pricing models do not really work well with my static site and feel unacceptably expensive. Right now I believe it "costs" virtual token points equal to 50,000 page-views to redeploy my kilobyte-scale website via a ZIP file to their API.
My goal for this project is to humbly host my static website, with custom routing rules and maybe some lambda-like functionality, and to then see if AI is all I need to turn my conceptual CGI webserver into the leading global multi-tenant CDN.
For starters, I envision the following for my AI companion:
- a somewhat 'clean room' workspace ร la chroot builds but with the more severe isolation of a VM
- some restricted access to a remote repository, if not just the source tree for certain projects
- some communication ability with infrastructural providers so the agent may assist with my production deploy configurations and later my global IPO
Getting hands dirty (with finances)
Step 1, Now that I have my little project proposal (with a larger vision untyped) it's time to get set up with a new $$ AntroModel. I ran to my latest "privacy friendly" financial vendor and generated a fresh new virtual card for the occasion. Then I jumped through several repeat Claude hurdles attempting to pre-pay for a year of service, and finally I can touch the modelโafter a forced onboarding flow. I used Alpine as my VM guest. I like the simplicity and smallness of the installation, albeit with some extra work to build certain projects; and I liked that their docs have explicit directions for non-glibc installations.
Into the deep
Step 2, My friend's Claude-opus model gave me an elaborate script to start the VM (which had lots of unnecessary docs and flags), and would have been a fun introduction, but I settled on writing the setup myself. The hand-crafted (wiki referenced) installation worked correctly, but did violate my previous rule about installing software from a curl'd script (and as root no less, on this testing image)... but Claude appeared!
vm:~/.claude/downloads# ./claude-2.1.62-linux-x64-musl
Welcome to Claude Code v2.1.62
โฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆ
* โโโโโโโโ
* โโโโโ โโ
โโโโโโ โโโโโ
โโโ โโโโโโโโโโ โโโโโ
โโโโโโโโโโโโโโโโโโโ * โโโโโ โ
โโโโโโโโโ
* โโโโ
โโโโโโโโ
โโโโโโโโโโโโโโโโ
โโโโโโโโโ *
โโโโโโโโโโโ *
โโโโโโโโโ *
โฆโฆโฆโฆโฆโฆโฆโ โ โ โโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆ
Let's get started.
(!) N.B. I used the default NAT network settings, so initially (!!) the VM had access to my LAN and other Host OS network resources.
Into the codebase
Did I mention that Lovable only allows code export through Github synchronization?! As part of the aforementioned workshop, which had some tie-in to the event organizer's premium 'workspace', I did not have permission to link a Github account to my project. The only wayโafter flustered searchingโto export the site required that I walk through their UI file explorer, download several dozen typescript files, and reconstruct the project structure locally ๐ฑ ((the price for performance art has no upper bounds)).
Step 3, This project has now been waiting in a git server for just this occasion. In the interest of repository-level priviledge separation, I created a limited-access user associated with Claude on the git server and selectively shared the private repository with some write permissions. Then:
- generate keys for the VM
- add keys to the
claudeaccount on the git server - clone the repo from the VM6 ๐ค
It worked! All three of my previous 'AI companion' requirements were met7, and now that I've constructed my first wooden pickaxe I am finally ready to mine my first cobble. ๐พ ๐ชต โ๏ธ ๐ชจ
Will it immersively blend my ideas?
Okay, so I have not yet attempted to build the hand-exported phantom website. Let's see if Claude can help... โ
Over the span of ~10 minutes, it was able to deliver a tidier and rebranded version of my codebase! The site works well in its first build, has all of the unused and Lovable-related bloat stripped (it pleasantly did the latter without having to ask), and has an improved--somewhat reasonable--project roadmap and codebase layout documentation, including (and co-signing) a detailed commit message of the changes.
So yes, my initial "clean up the code base and get it building" worked, but with several encountered stumbles and gripes [skip to TL;DR]:
- The initial 'trial' VM, with the root user, ended up provisioned with <1GB of memory (oops!) which caused the
claudetool to crash somewhat erratically after using tokens. I eventually created a new VM template and started running with a dedicated user account. I also added tailscale to the VM, which simplifies how the VM may access the repository and provides some convenience for remote AI development (without needing the web-RCE client). - I did not understand the pricing model at all! I conflated API tokens and cost and assumed that my monthly membership equated to a monthly quota of tokens that I could top-up as needed. According to my latest knowledge update, it seems to actually use rate-limit style usage windows of 5-hours and 1-week.
- I still face some uncertainty in my early-phase use of this product. I cannot confidently answer if using a "higher-end" model is actually more expensive for my usage quota, and find myself too-routinely checking the account usage to make sure I don't become rate-limited (or whatever happens when I hit that threshold). I also felt like it used a lot of tokens in scanning through the documents redundantly (e.g. in a naming migration, 'edgepush=>yourspace') and would have expected it to use tooling here (and maybe it did, but the TUI, and serialized
jsonlchat interactions are not the easiest to follow in the flurry of automated actions).
- I hit/hold the
esckey quite frequently out of habit/keyboard mapping, which (unfortunately) caused Claude code to exit a couple of times when the window was focused ๐ The main pain was not the interruption, but that it appeared to completely terminate the in-flight operation(s) without any checkpoint/resumption behavior. - The development practices were not quite what I expected: The agent committing directly to the main branch was... fine? I would have expected some request to decide if I would like to track in a feature branch or some other 'intelligent' suggestion. It also ripped out the (admittedly boilerplate) testing framework instead of adding tests? It would be nice to have feedback on 'why' changes are happening as opposed to tunnel-vision towards a code commit.
- Latency is a new mechanic in this world. While it feels speedy and magical to have a self-drive agent help with codebase cleanup and ensure healthy builds, I did not like prompted suggestions to 'push the code change'. It's a nice hint, but all of the glue that goes into an agent pushing a code change feels like unnecesarily more time/effort/cost than using git directly. IDK - perhaps the shift from a declarative CLI to inferred and non-deterministic workflows is what feels uncomfortable.
- While 'code change'-driving is impressive, the
webchat interface felt less helpful than the agent in my virtual console. I attempted to use the haiku/sonnet/opus models to diagnose several quirks in my VM setup and inform my use ofvirshargs. The responses were linguistically snazzy but not successful in addressing or diagnosising the issues described in my queries. This erodes a bit of my confidence in the technical competency of these models.
April 2026: Ediciรณn de La Chona
Okay, where has Claude been since my last update? 'Honestly' (a term that Claude likes to use when providing dishonest/inaccurate guidance) the web UI seems to have become less functionally effective over this time, which has soured both my mood and willingness to renew a paid subscription for a product often worse than simple web searching (counter to the myriad of raving voices of support on the inter-web).
I did intend to replace the hosting of this blog, if not take over the indie web hosting industry (say nothing of the fact that indie implies some level of independent authority/ownership), so here I am - once again in the VM environment of AI assistance.
Since I last used this local-coding abomination, it seems they have become much more aggresive towards pushing premium billing (perhaps coinciding with my subjective interpretation of degraded model quality). For some reason my Claude code automatically dropped to sonnet usage instead of opus and now there are many options for me to comb through instead of keeping my previously configured settings -.-
1. Default (recommended) Sonnet 4.6 ยท Best for everyday tasks
2. Sonnet (1M context) Sonnet 4.6 with 1M context ยท Billed as extra usage ยท $6/$22.50 per Mtok
โฏ 3. Opus โ Opus 4.6 ยท Most capable for complex work
4. Opus (1M context) Opus 4.6 with 1M context ยท Billed as extra usage ยท $10/$37.50 per Mtok
5. Haiku Haiku 4.5 ยท Fastest for quick answers
alt: sales organizations ruining a moderately useful product
To recap:
Last I was here I created a fresh VM specifically for this project, added the VM to tailscale with limited access control to a git server, and provisioned narrowed credentials to access my specific codebase on the git server. I am able to SSH directly to this VM without concerning myself with the VM host, and have a Plans.md file that has a rough outline of my vision for the evolution of my project. Claude wrote this 'plans' file at my request to define and sharpen my vision for the project, making it easier to resume a major refactor/development effort after a gap in time (โ which is now!). The Claude-written development priorities, unfortunately, are not the most sensible, so I will have to be specific on how to continue onwards: for example, Claude wanted to develop a CLI client ahead of the actual server-hosting functionality. That doesn't make much sense to me outside of identifying architectural blindspots; for me the most important to start will be the product MVP -- the hosting infrastructure for this website and those like it -- the clients and further product iteratations may happen later.
Micropub-like8 updates
- 2026-02-26 18:59:40Z: Initial blog draft, with some broken footnotes, missing links, and grammar issues.
- 2026-02-26 19:23:07Z: Uploading the initial blog post, without garnish or substance.
- 2026-02-26 21:05:18Z: Adding the
Dogfoodingplan, including problem statement and basic technical vision. - 2026-02-27 08:27:16Z: Adding sections: claude+vm+repo.
- 2026-02-27 22:08:26Z: Initial integration: trial refactor with claude and challenges.
- 2026-03-01 00:59:30Z: Editing for clarity.
- 2026-03-12 17:40:32Z: Updating blog templating and small grammatical fixes.
- 2026-04-07 22:01:00Z: Recap from last time, returning to the clawde
-
An aside, when did I start rewriting LLM to AI? ๐ฎ โฉ
-
I saw this a year ago! https://github.com/shreecodes/sdx-o3-mini-hackday โฉ
-
""lovable.dev"" โฉ
-
A term of my own making, but several models believe it has a valid definition. Local ministral believes: "A phantom website is a non-existent or defunct website that still appears in search results due to cached or outdated data" / Duck.ai definition: "A phantom website typically refers to a site that appears to exist but may not have any real content or functionality, often used for testing or as a placeholder." โฉ
-
Specifically, Claude code https://github.com/anthropics/claude-code โฉ
-
Tailscale + ACL rules were helpful for getting the VM connected to the git server. โฉ
-
โ ๏ธ but with privileged network access by default โฉ
-
(micro) posts via Micropub is a planned feature of this blog - and might be live by the time this post is completed! โฉ