Carlos José Castro Galante
Carlos.
Carlos José Castro Galante
© 2026
Projects
AIJuly 2026

Entiscore

An agent that audits the digital presence of a site or portfolio and evaluates how recognizable that person or project is as a legitimate entity to search engines and AI systems. It analyzes structured data, identity consistency, authority signals, and technical accessibility, and delivers a score, an executive summary, and a prioritized action plan with copy-ready solution code, generated by Claude AI. Includes comparison between two sites, exportable history, shareable unique codes, and a conversational assistant with context of the analysis capable of analyzing attached files. Built together with Matías Edgardo Tula Sarquis, entirely with Kiro for the Código Facilito and Kiro powered by AWS hackathon.

Entiscore
Metrics
4Analysis axes
ES / ENSupported languages
PDF + JSONExport formats
5 req/minRate limiting cap
2 MBAttachment size limit
Kiro powered by AWS 2026Hackathon
Screenshots
The problem

Today there is no simple and free tool to audit one's own digital presence from the perspective of how automated systems interpret it. Information about schema markup, technical SEO, and digital entity construction is scattered, highly technical, and not designed for someone without deep expertise to understand what their own presence is missing or why it matters. Most professionals with an online presence have no way of knowing whether search engines and AI recognize them correctly as a coherent entity.

The solution

Entiscore takes the URL of a site or portfolio and runs four analyzers in parallel across structured data, identity consistency, authority signals, and technical accessibility, following the Model Context Protocol contract for external data access. With those results, Claude AI generates a plain-language executive summary, a prioritized action plan with copy-ready code snippets, and powers a conversational assistant scoped to the analysis context, capable of analyzing attached files without persisting them. Every analysis and comparison is saved in Supabase with a short, shareable, human-readable code, accessible through a public route without repeating the analysis.

Technical stack
Frontend
Next.js 16TypeScriptTailwind CSS 4Framer MotionThree.js
Backend
Node.jsSupabaseClaude APICheerioZodVercel
Agent pipeline
01Orchestrator

Coordinates the parallel execution of the four analyzers and consolidates their results into a single report.

02Structured Data Analyzer

Detects and evaluates JSON-LD, Microdata, and RDFa schema markup against schema.org specifications.

03Identity Consistency Analyzer

Compares the name and declared external profiles across the different sources of the analyzed site.

04Authority Signals Analyzer

Detects links to recognized platforms, authorship metadata, and mentions of achievements or certifications.

05Technical Accessibility Analyzer

Evaluates response code, essential metadata, robots.txt, and client side JavaScript dependency.

06Scoring Engine

Calculates the final weighted score and maturity level from the four evaluated axes.

07Action Plan Generator

Uses Claude AI to draft prioritized recommendations with copy-ready solution code.

08Executive Summary Generator

Uses Claude AI to synthesize the site's overall state into a clear, non-technical paragraph.

09Conversational Assistant

Answers questions and analyzes attached files with Claude AI, strictly scoped to the analysis context.

Challenges
  • 01

    Designing an orchestrator that runs the four analyzers in parallel with individual error handling, so a single failure never interrupts the full analysis

  • 02

    Detecting and fixing a server client hydration mismatch in the Hero animations, caused by evaluating prefers-reduced-motion during initial render instead of after mount

  • 03

    Splitting Supabase clients by privilege level, public reads with the anon key and writes exclusively with the service role key, and adjusting Row Level Security policies when public reads returned 404 for records that already existed

  • 04

    Implementing strict file validation for chat attachments, checking the real file type via magic bytes instead of trusting the extension or declared Content-Type

  • 05

    Rewriting git history to remove accidentally exposed credentials without altering the original commit dates

Learnings
  • 01

    A Spec Driven Development flow, requirements, technical design and tasks before writing code, drastically reduces rework when building under time pressure

  • 02

    Animations based on whileInView need static variants defined outside the render, generating the object dynamically on every render silently breaks the transition

  • 03

    Separating the database client by privilege level from the initial design avoids having to choose between security and functionality later on

  • 04

    Rotating a leaked credential is not enough if the legacy system that issued it is still enabled, the old mechanism has to be explicitly disabled

  • 05

    An AI agent that also writes the solution code, not just the diagnosis, shifts the product's perception from an audit tool to an actionable one