Skip to content

AI-Generated Code Is Already Competing With Human Code —…

Talk by Daksh Gupta, co-founder of Greptile, examining whether AI-agent-written pull requests hold up in enterprise codebases. Drawing on analysis of over a million pull requests per month (including companies like NVIDIA, Coinbase, and Scale), he reports that more than 25% of PRs reviewed in April showed signs of being largely or entirely AI-written, up from under 1% a year earlier. Agent-written PRs (Codex, Claude Code, Devin, Cursor) are compared with human-written ones on revert rates, issue severity (P0/P1/P2), and review rounds to mergeable state, with agent code landing in the same range as human code overall. Distinct failure modes differ by tool, such as SQL injection, auth bypasses, and N+1 queries. The talk closes with implications for code review at scale and a proposed framework for code validation based on three questions, illustrated with blast-radius analysis and sandboxed browser agents. # Video Identity Observation Document **Video:** *AI-Generated Code Is Already Competing With Human Code — Daksh Gupta, Greptile* ## Channel / Speaker Self-Description (Explicit Claims) - **Founder identity:** The speaker introduces himself as a co-founder of **Greptile**: *"my name is Du. I'm one of the co-founders of a company called Gravile"* (transcription variants of "Greptile" appear throughout the transcript). - **Product claim:** Greptile builds **AI agents that validate pull requests with codebase context**: *"we have a swarm of agents and they go and look at every file that's changed… spins up your code in a sandbox, installs the dependencies… mocks inputs."* - **Scale and customer claims:** *"We review more than a million poll requests a month"*; *"several tens of thousands of engineers every single week."* Named customers include **Nvidia, Coinbase, Scale, Datadog, American Express**. - **Closing call to action:** *"you can find us at gretile.com and try it today for free"* — indicating a commercial, product-promoting intent. ## Observable Presentation Evidence - **Conference talk format:** Opens with audience greeting (*"How's everyone doing?"*) and closes with a booth invitation (*"We have a booth here which you should come to"*), indicating a live tech-conference presentation captured as video. - **Data-driven analysis:** The speaker presents original research from Greptile's own data — revert rates, PR size correlation, P0/P1/P2 bug counts, review iteration counts, and failure-mode frequency analysis comparing agents (Claude, Codex, Devon/Devin) to humans. - **Positioning within a timeline:** Frames AI coding history through 2022 (GPT-3.5/tab-complete), 2024 (multi-file editing), 2025 (autonomous agents), and a "December watershed." ## Intended Audience - **Software engineers and engineering leaders,** especially those at **enterprises or serious product companies**: the talk repeatedly evaluates agents against *"companies with real customers with an actually commercially viable code base."* - **AI-industry practitioners:** references to Twitter discourse (*"polyphasic sleep so they could stay awake to re-trigger their agents"*), Cursor, Copilot, Codex, and Claude assume familiarity with the AI coding ecosystem. ## Claimed Scope - Broad industry claim: **AI-generated PRs are roughly equal in quality to human PRs** in Greptile's data — *"about a quarter of all the pull requests… were completely or at least largely generated by AI,"* up from *"fewer than 1%"* a year earlier. - Argument that **agent failure modes differ qualitatively** from human failure modes (e.g., *"Claude is one and a half times more likely to produce a SQL injection error than humans"*). - Pitch for rethinking **code validation** around three questions: user-contract violation, future-violation propensity, and intent fulfillment. - Notable stat: *"almost a fifth of all the pull requests Greptile reviews are merged without any human review."* ## Distinguishing Notes - Claims of customer names, data scale, and quality parity are **creator assertions from proprietary data** not independently verifiable from this material. - The content demonstrates a **thought-leadership + product marketing** hybrid: research findings are presented but resolve toward Greptile's product value proposition. **Self-check:** All observations are anchored in quoted transcript passages; no private motivations or channel-wide conclusions beyond this single talk were inferred. # Delivery Observation — AI-Generated Code Is Already Competing With Human Code ## Overall Register - Conversational conference-talk style: opens with audience greeting ("How's everyone doing? Awesome."), closes with a promo and repeated thanks ("Thank you so much"). - Data-narrative arc: problem → method → finding → surprise → implication, delivered in first person throughout. ## Recurring Words and Phrases - **"For the first time"** — the most distinctive repeated construction, used as a timeline device: > "for the first time, multifile editing started to work" > "for the first time, we had autonomous agents" > "these products for the first time were like truly autonomous" > "the first model that seemed like it was really good at programming" - **"Very" as an intensifier**, often doubled: "very very fast", "very very curious" (rendered "really really curious"), "very interesting", "very little difference". - **"Really"** appears constantly as filler/intensifier: "really interesting data", "things got really interesting", "I got really excited". - **"Like"** used as a hedge/quotative: "was like the main paradigm", "was sort of this like watershed moment", "it was probably pretty bad". - **Hedging framing**: "seemed like", "seems reasonable that", "sort of" recur frequently — e.g., "it seemed reasonable that if Grapile was finding more bugs in the code that the code was most likely worse." - **"Poll request"** — a consistent spoken rendering of "pull request" throughout, plus frequent product-name variations (Gravile/Graval/Grubile/Graile/Grapile), likely transcription artifacts but consistent across the transcript. ## Teaching Habits - **Numbered framing**: "We figured we only actually had to answer three questions. The first one is... The second one... And third..." — structures conclusions as enumerable points. - **Rhetorical question → answer**: "The question is are these PRs any good? First question, what does it mean for PR to be good?" - **Explicit chart interpretation guidance**: "To interpret this chart, you can assume that 1x is the human propensity..." - **Concrete benchmark anchors**: "Codex PRs 2.45, four, five number of review cycles to merge and humans right in the middle." - **First-person skepticism as narrative tension**: "I was very skeptical that real companies could program this way" → later: "in spite of my initial skepticism... the evidence seems to suggest..." ## Communication Patterns - Self-deprecating framing of his own analysis: "as an amateur data scientist, I decided to go and dive into our data." - Twitter/anecdote color before data: "people... were experimenting with polyphasic sleep so they could stay awake to re-trigger their agents." - Transition phrases: "So then came the next question", "So I started to look for other signals", "And so I started approaching this problem". - Heavy use of "And so..." to chain conclusions to evidence. - Credibility listing without drama: "We work with Nvidia, with Coinbase, with Scale, with Data Dog, with American Express." ## Stability Assessment - **Stable-looking**: "for the first time" timeline framing, first-person skeptical-then-convinced arc, "seemed like/seems reasonable" hedging, numbered structure for conclusions — each appears multiple times. - **Isolated moments**: the polyphasic-sleep anecdote, the "amateur data scientist" line, and the P90/P99 stat appear once; generalizing these as habits would be premature. # Observed Positions — "AI-Generated Code Is Already Competing With Human Code" (Daksh Gupta, Greptile) ## Speaker & Context - **Speaker:** Introduces himself as "Du"/"D" in the transcript; video metadata identifies him as **Daksh Gupta**, co-founder of **Greptile**. (Note: transcript spellings of company/product names vary — "Gravile," "Grapile," "Guptile," "Gretile" — treated here as **Greptile** per the title.) - **What Greptile does (as stated):** AI agents that validate pull requests "with full context of the codebase." A swarm of agents inspects changed and related files for bugs, spins up the code in a sandbox, installs dependencies, runs localhost, clicks around, and mocks inputs. --- ## Claim 1: Fully Autonomous Coding Agents Reached a Watershed in Late 2024–2025 **Position stated:** AI coding progressed through distinct eras. - **2022 (GPT-3.5):** First model that "seemed like it was really good at programming"; tab/code completion was the dominant paradigm (Cursor, GitHub Copilot). - **2024:** Multi-file editing "started to work" — Cursor first, others followed. - **2025:** Autonomous agents that can be given a task and produce entire pull requests. - **December (of the prior year):** He calls the release of new models "sort of this like watershed moment in the history of AI coding" — agents became "literally completely autonomous." > "All over Twitter were all these crazy stories of people that were having these agents spin off and open a 100 pull requests a day." **Qualification:** He notes he was initially **skeptical** — as someone who "started programming before agents" — that *real companies* could program this way, suspecting it was "Twitter hype" limited to indie developers or small startups without real customers. --- ## Claim 2: Roughly a Quarter of Reviewed PRs Are Largely AI-Generated, and Growing Fast **Method as described (self-described "amateur data scientist"):** - Dataset: Greptile reviews **over 1 million PRs a month** across thousands of companies, typically enterprises or companies "with real customers" (named customers include Nvidia, Coinbase, Scale, Datadog, American Express). - Identifying AI PRs was "surprisingly hard." Three signals used: 1. **GitHub author field** — under **1%** listed Codex, Claude, or Cursor as author (a number he found unintuitively low). 2. **PR description footers** — "co-authored by Claude" / "co-authored by Cursor" tags. 3. **Branch name prefixes** — characteristic of Codex-style agents. **Result:** About **a quarter of all PRs** reviewed in a given month were "completely or at least largely generated by AI." **Trend:** Backtracked 12 months — early last year, **fewer than 1%** of PRs had evidence of being AI-generated. **Observation he offers:** New model releases are **not visible** in the growth curve; progress "seems very continuous," with agents "just generally diffusing into the economy at a generally high pace." --- ## Claim 3: Agent PR Quality Is Roughly Equal to Human PR Quality **Definitional step he takes:** Before judging, he asks what makes a PR "good," and evaluates via three proxies. ### a) Revert rates - **Codex:** ~1 revert per 1,000 PRs. - **Devin:** ~3.5 per 1,000. - **Humans:** ~2.5 per 1,000 — "right in the middle." **Self-correction he makes:** He suspected humans were delegating easier work to agents while doing harder work themselves, confounding the comparison. So he checked whether **PR size** correlated with reverts — he found "very little correlation, if any," concluding the size-confound explanation lacked support. ### b) Greptile comment counts (P0/P1/P2 severity bugs) - **Three of four agents tested** produced *fewer* P0s than humans; similar pattern for P1s and P2s. - Summary claim: "Broadly speaking, human generated PRs were about equal in quality to agent generated PRs based on this data." ### c) Review iterations to merge - Devin: 2.1; Codex: 2.45; humans "right in the middle." - "Very little if any statistical difference." --- ## Claim 4: Agents Fail Differently Than Humans - Method: scanned Greptile's corpus (~4 comments per PR, several million comments) for phrases like **SQL injection** or **N+1 query**, normalized to 1x = human error propensity. - Examples given: **Claude is 1.5x** more likely than humans to produce a SQL injection error; **Devin is ~0.5x** as likely to produce an auth-bypass issue. - He expresses surprise at "how much variation" and how different agents' failure modes are from humans. **Overall revision of his earlier position:** > "In spite of my initial skepticism around the enterprise usability of end-to-end coding agents, the evidence seems to suggest that they're here and they probably can contribute in real meaningful ways to enterprise coding environments." --- ## Claim 5: PR Volume Distribution Is Highly Skewed, Challenging Manual Review Systems - Greptile is used by "several tens of thousands of engineers" weekly. - **Median** user: **50 PRs/month** (~2+ per workday). - **90th percentile:** **500 PRs/month** — "a drastic difference." - **P99:** in the **thousands** of PRs/month. **His interpretation:** Top users are "producing pull requests at the rate at which they're coming up with new ideas," and existing validation systems (manual code review, QA firms) "naturally can't scale to that same degree." --- ## Claim 6: Code Validation Should Be Reduced to Three Questions **Position stated:** Rather than "automating QA" or "automating code review," Greptile took a "first principles view": what must happen between a PR being opened and being merged safely in an enterprise? Three questions: 1. Does this change **violate the user contract**? 2. Does it **increase the propensity of a future violation** of the user contract? 3. Does it **fulfill the intent** the author described? **Claim about adoption:** "Today, almost a fifth of all the pull requests Greptile reviews are merged without any human review or without any human testing." **Qualification he attaches:** This is "a number that we care a lot about and want to bring higher," explicitly "within the guard rails of producing really high quality code." --- ## Unresolved Tensions Preserved - His initial **skepticism** about enterprise use of autonomous agents is stated explicitly alongside his revised conclusion; he frames the data as what "the evidence seems to suggest," not as a settled certainty. - He flags his own method's weaknesses (surrogate signals for AI authorship, small revert-rate differences, possible task-difficulty confound) and reports testing — but not fully eliminating — them. - The co-author-footer/branch-prefix method identifies PRs that are "largely, if not completely AI generated," a looser category than fully autonomous; the two framings are used interchangeably in the talk without precise separation. - Note on attribution fidelity: the transcript contains inconsistent renderings of his name and company; speaker identity rests on the curated title metadata, not the transcript itself. # Observation Record — Video `01a15ca7-24a1-7f2d-a766-7c1b0d68af4b` ## Speaker Identification | Speaker | Role | Basis | |---|---|---| | **Daksh Gupta** (self-identified as "Du"/"D" in transcript; title metadata confirms "Daksh Gupta") | Creator / presenter; self-described **co-founder of Greptile** | First-person introduction in transcript; title metadata | > "my name is Du. I'm one of the co-founders of a company called Gravile" *(transcript rendering varies: Gravile / Grapile / Graal / Grubile / Graptile — all appear to refer to Greptile)* - No guests, narrators, or other identified speakers appear. - The entire transcript is a single first-person conference-style talk. ## Talk Structure (as stated by speaker) - Description of Greptile's product: AI agents validating pull requests with full codebase context, sandbox execution, browser agents. - Analysis of AI-generated vs. human-generated pull requests using Greptile's review data (stated scale: **more than 1 million PRs reviewed per month**). ## Provenance Facts — Sources & Data Referenced All claims originate from the speaker; the following are cited data sources/claims made on stage: - **Greptile internal data** (speaker's own company): PR review data across "thousands" of companies, several million review comments over recent months. - **Named customers** the speaker claims Greptile works with: Nvidia, Coinbase, Scale, Datadog, American Express. - **Methodology signals described by speaker**: GitHub author fields, PR footer co-author attributions ("co-authored by claude"/"co-authored by cursor"), branch name prefixes, revert-branch naming conventions. - **Named agent products referenced**: Codex, Claude, Cursor, Devon (Devin), GitHub Copilot. - **Headline figures asserted by speaker** (not independently verified): ~25% of reviewed PRs largely/completely AI-generated; <1% a year prior; revert rates per 1,000 PRs (Codex ~1, Devin ~3.5, humans ~2.5); median user 50 PRs/month, P90 500, P99 in thousands; ~20% of Greptile-reviewed PRs merged without human review. - **Twitter anecdotes** referenced as context (agents opening "100 pull requests a day", polyphasic sleep experiments) — hearsay, attributed to Twitter posts. ## Promotional Segments — FLAGGED - **Opening product pitch**: description of Greptile's agent product and methodology. - **Closing call-to-action**: > "We have a booth here which you should come to. And if you're interested in trying Graptile, you can find us at gretile.com and try it today for free." - The data analysis itself is drawn from the speaker's own company's product and serves as implicit promotion; recorded as fact of provenance, not evaluated for quality. ## Availability & Access Limits - **No curated metadata supplied** beyond title — no published sources, citations, or show notes available for verification. - **No charts/data files accessible**: speaker references charts ("patterns of failure" chart, 12-month trend chart) visible only in video, not in transcript. - **Comment availability**: no information present in the source regarding comments; recorded as **unknown/unavailable**. ## Uncertainty Notes - Speaker name is garbled in transcript ("Du", "D"); resolved to **Daksh Gupta** via title metadata. - Company name inconsistently transcribed (Greptile per title); website "gretile.com" likely a transcription of greptile.com — flagged, not corrected as fact. - Agent performance claims (e.g., "Claude 1.5x more likely to produce SQL injection") are speaker-presented figures from proprietary data with no published methodology in the source. How's everyone doing? Awesome. Uh, my name is Du. I'm one of the co-founders of a company called Gravile. And at Grapile, we're working on AI agents that validate poll requests with full context of the codebase. The way Graval does this is every time there's a pull request, we have a swarm of agents and they go and look at every file that's changed, every file that's related to the files that changed to figure out if there's bugs. And it also spins up your code in a sandbox, installs the dependencies, spins up local host, clicks around to try to break things, mocks inputs, and everything else to figure out if the code is broken. But I'm going to talk about something a little bit different, which is fully autonomous coding agents. So I first moved to San Francisco three years ago to work on AI coding. And this is because GBT 3.5 which came out in 2022 was the first model that seemed like it was really good at programming at the time. Code complete tab complete was like the main paradigm for coding. The most exciting thing that was happening was you had tab complete from cursor and you had co-pilots code complete and that was like the way in which AI coding works. In 2024, for the first time, multifile editing started to work. Cursor was the first to do this and then a couple of other products followed. But now, for the first time, AI could simultaneously edit multiple files at once. But things got really interesting in 2025 because for the first time, we had autonomous agents. They could be given a task and they could go and fulfill the task and create entire pull requests all at once. And this came to a precipice in December of last year when coding agents became literally completely autonomous. And anyone that's working in AI coding knows that December when the new models came out was sort of this like watershed moment in the history of AI coding because these products for the first time were like truly autonomous in how they programmed. And all over Twitter were all these crazy stories of people that were having these agents spin off and open a 100 pull requests a day. They were experimenting with polyphasic sleep so they could stay awake to re-trigger their agents from time to time. And as someone that started programming before agents, I was very skeptical that real companies could program this way. So I was really really curious, are these fully vi PRs really actually good? Is this something that's sort of a Twitter hype and you can have independent developers and and maybe like small startups with no real customers do this? But anyone with real customers with an actually commercially viable code base, could they still use these end-to-end coding agents? And at Grubile, we're fortunate to work with some very large companies. We work with Nvidia, with Coinbase, with Scale, with Data Dog, with American Express. And we got really excited to see if these coding agents were being used really at these large companies and if they were any good at doing real world coding. So, as an amateur data scientist, I decided to go and dive into our data. We review more than a million poll requests a month and we tend to get a lot of interesting data on what's good and bad about these poll requests. We do this for thousands and thousands of companies and they're usually enterprises or at least companies with serious products with real customers. And so we figured actually studying this data would yield some really interesting results. Was a surprisingly hard to figure out from all the poll requests that GR was reviewing which of the poll requests was actually generated by AI. Surprisingly difficult to do this. The first thing that I tried was I started looking at the GitHub author field. GitHub every commit has an author field and so went through the authors and turns out that less than 1% of pull requests had codeex or clawed or cursor as the author. But it wasn't intuitive to me that only but 1% of all code was fully AI generated. It just seemed intuitive that that number would be much higher. So I started to look for other signals. Now thankfully Claude and Codex and some other products leave a PR description in the footer. In the PR description, they put something along the lines of co-authored by claude or co-authored by cursor and so on. And this gave me a little bit more signal, a little bit more data on which PRs were ostensibly largely, if not completely AI generated. The third thing I looked at was branch name prefixes. If you use Codex, you know that Codex names as branches. And it seemed reasonable that if someone was using these coding agents in such a sense that they were writing the branch names or writing the PR descriptions that the PRs were largely AI generated. That seemed like a reasonable assumption to me. So now I had a good set of signals to indicate whether a poll request was in fact completely or largely AI generated or not. And I came to the result that about a quarter of all the poll requests that Graal was reviewing in any given month were completely or at least largely generated by AI. Then I backtracked this data to the last 12 months and it turns out that this number is growing really fast. In fact, early last year, fewer than 1% of pull requests had any evidence of being completely AI generated. So this number is going very very fast as model performance is getting better. What's also interesting is that you can't tell when new models came out on this chart. It seemed like the progress is very continuous. These things are just generally diffusing into the economy at a generally high pace. So then came the next question. Everyone's vibe coding. Everyone's producing these PRs that are antiendentic. Not human plus AI but literally AI. The question is are these PRs any good? First question, what does it mean for PR to be good? That seemed like actually a very important question to answer before we got into judging these AI generated PRs. And so I took a few methods to try this. The first one I tried was revert rates. If a pull request reverted, it was probably pretty bad. And so that seemed like a pretty sincere sort of guess at what a bad PR could be. And so I started tracking, okay, which PRs were in fact reverted. GitHub conveniently names its branches with a revert dash PR number and PR name. And so I was able to track the rate at which these things were being reverted. And I found some interesting data. Codex PR is reverted about one out of every thousand poll requests. Devon once every three and a half times every thousand poll requests. Humans right in the middle at about two and a half. So there doesn't seem to be very big difference between the rate at which poll requests were reverted from people versus agents in my study. Now I was very skeptical of this and I figured okay this is probably because humans are making agents do the easier work the simpler well scoped pull requests and the more complex work was being done by humans and of course complex work had a higher propensity to be reverted because the poll requests were more complicated had larger surface areas risks and so on. So I decided to measure the average size of PR and whether the revert rates were sort of aligned for both of those and I found really interesting data. Turns out there's actually very little correlation, if any, between the size of PRs of humans were getting reverted versus size of PRs from agents that were being reverted. So this does not seem like actually very strong evidence that the human PRs are any better than the agent PRs. The second set of signals I started looking at was Graile comments. Now, now Grapple is reviewing all these poll requests and Graile finds P 0's, P1's, P2s across all these changes and it seemed reasonable that if Grapile was finding more bugs in the code that the code was most likely worse. So then I started tracking the counts of P 0, P1's and P2s in all these changes. And interestingly, once again, there was not that much of a difference. In fact, three out of the four agents that we tested performed better than humans in terms of the rate at which they were producing P 0. they were producing fewer P 0 than humans were. Similarly the case with P1's and P2s. Broadly speaking, human generated PRs were about equal in quality to agent generated PRs based on this data. have the agent go and look at those comments, address them, and make a new commit on the pull request branch. That is the most common way to use guptile. And so it seems reasonable that if the pull requests were higher quality, it would require fewer iterations before they would be merged. And so I started tracking the number of iterations, the number of review rounds between when the poll request was opened and when it was merged. Sure enough, very little difference. Devon's PRs 2.1, Codex PR is 2.45, four, five number of review cycles to merge and humans right in the middle. Once again, very little if any statistical difference between human generated and AI generated pull request in terms of how many iterations before they were ready to merge. So now that there wasn't any strong evidence that agent generated PRs were worse than human generated PRs, I got curious if there were qualitative differences. Maybe the types of ways in which agents failed were different from the types of ways that humans failed. And so then I looked at the corpus of reptiles comments. It makes on average about four comments per pull request. So we had this corpus of several million comments across the last several months. And so I started scanning them for specific phrases and words. For instance, SQL injection or N plus1 query. And I plotted the frequency with which these terms occur in graphile comments for these various agents. And so I made this chart of patterns of failure. To interpret this chart, you can assume that 1x is the human propensity for producing that type of error across the entire chart. And you can kind of see that there's actually quite a lot of variation in the types of failures that these agents seem to produce. For instance, Claude is one and a half times more likely to produce a SQL injection error than humans. Devon is about half as likely as humans to produce a off bypass issue. I found it very interesting that there was this much variation in how these agents were performing and how different their failure modes were from humans. So it turns out that in spite of my initial skepticism around the enterprise usability of endto-end coding agents, the evidence seems to suggest that they're here and they probably can contribute in real meaningful ways to enterprise coding environments. And so we started to think a little bit more about what code review would look like in such a world. Here's an interesting stat. Today, Graal is used by several tens of thousands of engineers every single week to review all of their code. So, we also know generally speaking the number of pull requests that each of these people are writing. The median grubile user writes 50 pull requests a month. So, call it about two plus per workday. The 90th percentile writes 500 poll requests per month. That is a drastic difference between the median and the P90. The P99 is in the thousands of pull requests. That is very interesting in its own sense because that means that the people on the margins are actually producing poll requests at the rate at which they're coming up with new ideas. And beyond being interesting, it also makes you wonder well there existing systems for validating this code which is manual code review of course testing maybe you have a QA firm that you work with naturally can scale to that same degree. And at Grav, we decided to take sort of a first principles view at what really good validation could look like. Instead of saying that we wanted to automate QA or automate testing or automate code review, we took a step back and said, what would we need to do for anyone to be able to merge hundreds of pull requests a month in an enterprise environment where it really matters that the code is correct? What would need to happen between when the code was expressed into a pull request and when it was merged and deployed safely? We figured we only actually had to answer three questions. The first one is does this change violate the user contract? The second one, does it increase the propensity of a future violation of the user contract, whatever the user contract might be for that application? And third, does it fulfill the intent that the author described? Did the poll request do the thing that the author wanted to do? And so we started approaching this problem from base ground level and said, okay, agents can probably figure out if something's going to violate the user contract and detect bugs. If you let it spin up the code in a sandbox, have it install the dependencies, mock the inputs, run the browser agents, you can probably start to discover most of the issues that could occur, you get a pretty high degree of confidence on merge. Today, almost a fifth of all the poll request or gravile reviews are merged without any human review or without any human testing, which I find very interesting and that is a number that we care a lot about and want to bring higher and higher, of course, within the guard rails of producing really high quality code. Thank you so much. My name is D, one of the co-founders of Graptile. We have a booth here which you should come to. And if you're interested in trying Graptile, you can find us at gretile.com and try it today for free. And we'd love to hear your feedback. Thank you so much.