Skip to content

Replace invented contact details and endorsements with real ones - #343

Merged
singhharsh1708 merged 1 commit into
mainfrom
fix/real-contact-details
Aug 26, 2026
Merged

Replace invented contact details and endorsements with real ones#343
singhharsh1708 merged 1 commit into
mainfrom
fix/real-contact-details

Conversation

@singhharsh1708

Copy link
Copy Markdown
Owner

You asked for every detail to be legit. Auditing against your resume turned up something worse than stale copy.

The serious one

The site advertised hello@scrollcraft.app and enterprise@scrollcraft.app.

scrollcraft.app is not yours. It serves an unrelated product — "ScrollCraft — Comic to Webtoon Converter" — and it has live Cloudflare mail routing (route1/route3.mx.cloudflare.net). So account-deletion requests, billing questions and enterprise enquiries were being delivered to a stranger's mailbox.

Worse: I made this happen. Earlier in this session I "fixed" hello@scrollcraft.xyz.app because .app appeared elsewhere in the codebase. .xyz doesn't resolve, so that mail bounced harmlessly. .app accepts it silently. I moved a dead address onto someone else's live one and called it a fix.

The same domain was also the canonical URL fallback, the text on the social card, and the URL in the README inside every exported ZIP — so every customer's export pointed at a stranger's product.

Real details, from your resume

All centralised in lib/links.ts: hs1663531@gmail.com, github.com/singhharsh1708, linkedin.com/in/singhharsh1708, singhharsh.in. Linked from the contact page, about page and footer.

Fabricated claims removed

  • 8 testimonials — five on the homepage under "Real sites. Real results.", three more on /launch — attributed to named people in named countries ("Isabella R., Italy, E-commerce founder") who do not exist.
  • "Live chat — Mon–Fri, 9am–6pm IST" — no chat widget, no staffed hours.
  • "We typically reply within a few hours" and "tag us on Twitter" — no SLA, no Twitter account anywhere in the codebase.
  • A Product Hunt featured badge. The widget takes a numeric post_id; the site passed the slug scrollcraft, which returns a generic badge whether or not a listing exists. If you do have a real listing, restoring it is one line with the numeric id.
  • /launch — announced a live Product Hunt campaign and 30% off plans that no longer exist. Linked from nowhere. Now redirects to /templates so inbound links still land somewhere real.

The about page listed a "two-person team", one of whom was the template library given a job title. It now describes the one person who builds this.

Deliberately not published

Your phone number. A mobile on a public page is scraped within days and is far easier to add than to withdraw. Say the word and it goes on the contact card.

Verified

  • tsc, eslint, next build clean; suite 497 → 508.
  • New contactDetails suite pins all of it: the real email, no @scrollcraft.app address anywhere, no link to that domain, the canonical fallback, every profile URL, and guards against live-chat / SLA / testimonial / Product Hunt claims returning.
  • Two of these were caught by rendering the page, not reading it — the Twitter/SLA line and the /launch testimonials only surfaced in a screenshot and a test sweep respectively.
  • Built HTML confirms 0 references to scrollcraft.app across contact, about, index and pricing.

The site advertised hello@scrollcraft.app and enterprise@scrollcraft.app. That
domain is not ours: it serves an unrelated product, a comic-to-webtoon
converter, and it has live Cloudflare mail routing, so account deletion
requests, billing questions and enterprise enquiries were being delivered to a
stranger. An earlier change made this worse rather than better, moving the
addresses off scrollcraft.xyz, which at least did not resolve, onto a domain
that silently accepts the mail.

Everything user-facing now comes from lib/links.ts, using the real address and
the real accounts:

- hs1663531@gmail.com replaces both invented addresses, on the legal pages, the
  pricing page and the contact page.
- The canonical fallback URL, the social card, and the README inside every
  exported ZIP pointed at scrollcraft.app too. All now point at the deployment
  that actually serves this product.
- GitHub, LinkedIn and singhharsh.in are linked from the contact page, the about
  page and the footer.

Removed things the product cannot back up:

- Five testimonials on the homepage and three more on /launch, attributed to
  named people in named countries who do not exist.
- A live chat channel with staffed hours that does not exist.
- A promise to reply within a few hours, and a Twitter account nobody owns.
- A Product Hunt featured badge built from post_id=scrollcraft. That widget
  takes a numeric id, so the slug returns a generic badge whether or not a
  listing exists.
- /launch, which announced a live Product Hunt campaign and 30% off plans that
  no longer exist. It was linked from nowhere; it now redirects to /templates so
  any inbound link still lands somewhere real.

The about page listed a two-person team, one of whom was the template library
with a job title. It now describes the one person who actually builds this.

The phone number from the resume is deliberately not published: a mobile on a
public page is scraped within days and is far easier to add later than to
withdraw.
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
scrollcraft Ready Ready Preview Aug 26, 2026 9:17pm

@singhharsh1708
singhharsh1708 merged commit 5c390d0 into main Aug 26, 2026
2 of 3 checks passed
@singhharsh1708
singhharsh1708 deleted the fix/real-contact-details branch August 26, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant