isitvibecoded.com
Rescan
Built with Replit
Hard evidence: TXT replit-verify=faf339dc-8298-449e-9b10-b88c0d887140 (Replit)
34/ 100 finish
Prompt to improve
straight out of the generator · 5 scored findings · 8 words in initial HTML
AttributionMarks the builder left behind
−20
DefaultsScaffold settings never changed
−26
FinishProduction basics not yet done
−20
SafetySecrets and data access
clear
Prompt to improve
Open as text
You are working on the codebase behind isitvibecoded.com. An external scan of the deployed site found the tells listed below — the specific things that make it read as assembled by a website builder rather than built. Fix them in the order given. Each item names the evidence observed on the live page, so you can confirm the problem before you change anything. Rules for this task: - Do not redesign the site. Change only what each item asks for. - Do not change any URL, route or page title beyond what an item explicitly requires. - If an item does not match what you find in the code, say so and skip it rather than inventing a change. - Work through the list top to bottom and report what you changed for each. ## Remove builder attribution ### 1. Public DNS still points at the builder that made the site Observed on the live site: TXT replit-verify=faf339dc-8298-449e-9b10-b88c0d887140 (Replit) Public DNS still identifies Replit as the platform behind this domain: TXT replit-verify=faf339dc-8298-449e-9b10-b88c0d887140 (Replit). This is the tell that survives everything done in the page itself. Move the app to hosting you control, repoint the record, and delete the platform's ownership-verification TXT record once the migration is done — it serves no purpose afterwards and is readable by anyone. ## Scaffold defaults still in place ### 2. The full unconfigured-SPA signature: default bundle, empty shell, and no real 404 Observed on the live site: default Vite bundle · empty mount, 8-word HTML shell · unknown paths return 200 These three appear together (default Vite bundle, empty mount, 8-word HTML shell, unknown paths return 200) and that combination is the signature of an app that was generated and deployed but never configured. Treat it as one job: adopt a framework or plugin that pre-renders the routes to static HTML at build time, give the router a not-found route that responds with a real 404 status, and emit a sitemap from the route table during the build. Doing only one of the three leaves the pattern intact. ### 3. Ships the untouched default Vite bundle (single index-<hash> chunk) Observed on the live site: /assets/index-7lrBfIhd.js · /assets/index-CuJ4ga-l.css The whole app ships as one default `assets/index-<hash>.js` chunk with no code splitting, which is the signature of a build nobody configured. Add route-level lazy loading so the landing page does not download the entire application, and set an explicit `build.rollupOptions` chunk strategy. ## Unfinished production basics ### 4. Unknown URLs return 200 instead of 404 (SPA catch-all) Observed on the live site: GET /is-vibecoded-probe-06pdu20 → 200 (expected 404) Make unknown URLs return a real HTTP 404. The catch-all currently answers 200 for paths that do not exist (GET /is-vibecoded-probe-06pdu20 → 200 (expected 404)), so every typo and dead link gets indexed as a duplicate page. Serve the not-found view with a 404 status code, not a client-side redirect. ### 5. Initial HTML is an empty shell — content only appears after JavaScript runs Observed on the live site: empty mount element in the served HTML · 8 words of text in the initial HTML response Server-render the content. The first response carries 8 words of readable text, so crawlers, link unfurlers and agents that do not execute JavaScript see an empty page. Move at least the hero copy, headings and primary navigation into the server-rendered HTML. ## When you are done Re-run the checks yourself before reporting: fetch the deployed page with curl and confirm the markers above are gone from the HTML, that unknown paths return 404, and that `/robots.txt` and `/sitemap.xml` answer 200. Then summarise anything you deliberately did not change and why.
Findings
×
Public DNS still points at the builder that made the siteTXT replit-verify=faf339dc-8298-449e-9b10-b88c0d887140 (Replit)
−20
×
The full unconfigured-SPA signature: default bundle, empty shell, and no real 404default Vite bundle · empty mount, 8-word HTML shell · unknown paths return 200
−14
×
Ships the untouched default Vite bundle (single index-<hash> chunk)/assets/index-7lrBfIhd.js · /assets/index-CuJ4ga-l.css
−12
×
Unknown URLs return 200 instead of 404 (SPA catch-all)GET /is-vibecoded-probe-06pdu20 → 200 (expected 404)
−10
×
Initial HTML is an empty shell — content only appears after JavaScript runsempty mount element in the served HTML · 8 words of text in the initial HTML response
−10