I Couldn't Buy It So I Built It: Citizen Developers Building AI Applications with Coinbase

I Couldn't Buy It So I Built It: Citizen Developers Building AI Applications with Coinbase — Ai4

Ai4

AI-assisted summary of I Couldn't Buy It So I Built It: Citizen Developers Building AI Applications with Coinbase — original source. Check the original for full context.

Source published:

Detailed notes

## Background Published on YouTube by Ai4 on August 20, 2026, this presentation features Coinbase's Robert Greisemer (Sr. SRE, Core AI Infrastructure) and Nina Eisenberg (Associate General Counsel, Workplace Ethics & Investigations). The session details how a non-technical domain expert built an internal AI case management application after commercial vendors failed to meet her team's needs, examining the platform engineering and security guardrails required to safely transition citizen builds into enterprise-ready tools.

## TL;DR When an inflexible $75,000 vendor tool and a surge in workplace investigations threatened to overwhelm her team, lawyer Nina Eisenberg used Claude Code to rapidly build 'Casebase,' an AI-assisted investigation and precedent-tracking suite. Although the local prototype effectively replaced legacy software and saved weeks of manual work, an engineering review by SRE Robert Greisemer revealed significant hidden risks, including conflicting frontend frameworks, pseudo-authentication, and missing audit logs. Evaluating the high operational overhead of dedicated 24/7 on-call rotations, the team implemented a pragmatic local hardening stopgap while architecting an opinionated enterprise platform to enforce secure guardrails for future citizen developers.

## Atmosphere & style The presentation carries a humorous, candid, and highly collaborative energy, driven by the charming dynamic between an admittedly non-technical philosophy major and a veteran infrastructure engineer. Nina's self-deprecating anecdotes—such as comparing AI debugging loops to Janet from *The Good Place* repeatedly handing out cacti—contrast perfectly with Robert's pragmatic warnings about fake RBAC and the hidden millions behind production on-call rotations. It feels refreshingly grounded and authentic, moving from the exciting high of non-engineer empowerment to a clear-eyed blueprint for enterprise safety and technical partnership.

## Key takeaways - [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) The barrier to creating software has collapsed due to generative AI coding tools, but the barrier to running, securing, and maintaining enterprise applications in production remains unchanged. - [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) Internal cost centers often tolerate broken, manual micro-workflows because building custom software historically offered low ROI, but unmanaged citizen development risks introducing severe vulnerabilities. - [04:27](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=267s) Rigid vendor platforms that refuse custom integration requests can prompt domain experts to build AI-native alternatives that directly fit specialized organizational workflows. - [08:29](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=509s) Legal and analytical domain training—specifically precise writing, clear specifications, and exhaustive edge-case thinking—translates directly into effective prompt engineering and AI agent design. - [11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) AI-native tools built from a clean slate can dramatically outperform legacy software, reducing complex drafting tasks from hours to minutes while incorporating semantic search across historical records. - [13:48](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=828s) Building prototypes independently outside enterprise boundaries is frictionless, but achieving enterprise reliability requires security reviews, access controls, and infrastructure integration. - [15:31](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=931s) 'Vibe-coding' with AI can easily produce chaotic architectures, including mismatched frontend frameworks and pseudo-RBAC authentication that appears functional while leaving major security holes open. - [19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) Expecting non-technical builders to execute complex DevOps remediation plans (such as LDAP provisioning and cloud database migrations) breaks the citizen developer model. - [21:08](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1268s) Because modern AI applications leverage connected tools and enterprise search, exposed secrets or compromised API credentials exponentially amplify an attacker's blast radius across corporate systems. - [22:51](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1371s) Transitioning internal prototypes to 24/7 enterprise production introduces massive hidden operational overhead, such as audit logging, compliance, and multi-engineer on-call rotations. - [26:03](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1563s) A hardened local setup with automated centralized backups can serve as a pragmatic stopgap for single-user internal tools without incurring full production maintenance costs. - [30:05](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1805s) Platform teams must provide hyper-opinionated coding environments that steer users to existing workflow tools or enforce architectural standards and guardrails upfront rather than post-hoc. - [34:13](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2053s) Citizen developers must develop architectural literacy to recognize code smells and prevent AI sycophancy, where models double down on incorrect assumptions and generate bloated codebases. - [35:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2144s) Generalized AI agents connected to enterprise search engines like Glean can effectively index internal playbooks and guide builders without the maintenance overhead of multiple specialized sub-agents. - [37:43](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2263s) Early collaboration between non-technical domain specialists and platform SRE teams is essential to turn working AI prototypes into enterprise-grade applications safely.

## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) Philosophy Majors, SREs, and the Collapsing Barrier to Software

Nina Eisenberg opens with an admission of her non-technical roots: having studied philosophy and Russian literature at a liberal arts college, she can write a beautiful essay, but she "cannot fix the Wi-Fi." A few months prior, she did not even know what a terminal was. Yet, she managed to build an AI application that replaced an enterprise case management platform costing Coinbase $75,000 a year. As Associate General Counsel running Workplace Ethics and Investigations at Coinbase for nearly seven years, Nina handles sensitive, high-stakes matters involving harassment, discrimination, security issues, insider threats, and policy violations. Her day-to-day work requires deep domain expertise and empathy, not writing software. Until January 2026, her entire interaction with artificial intelligence was limited to casual chatbot conversations.

```mermaid flowchart LR accTitle: The Two Ends of the Enterprise AI Spectrum subgraph Domain ["Domain Expertise"] A["Nina Eisenberg<br/>(Legal & Investigations)"] A --> B["Understands Problem,<br/>Edge Cases & Precedent"] end subgraph Platform ["Infrastructure & Safety"] C["Robert Greisemer<br/>(Core AI & SRE)"] C --> D["Deployment, Security,<br/>RBAC & Guardrails"] end B --> E["Enterprise-Ready AI Application"] D --> E ```

To bridge the gap between a prototype and a secure corporate deployment, she partnered with Robert Greisemer, a Senior Site Reliability Engineer on Coinbase's Core AI Infrastructure team with nearly 18 years of experience across security and AI platform engineering. Together, they frame the core reality facing modern organizations: "The barrier to building software has collapsed while the barrier to running it hasn't moved." Domain experts no longer need to wait in line for internal engineering resources or settle for generic third-party tools that fail to meet their workflows.

- **Speaker Backgrounds:** Nina Eisenberg (AGC, Workplace Ethics & Investigations, ~7 years at Coinbase) and Robert Greisemer (Sr. SRE, Core AI Infrastructure, ~18 years in tech). - **Core Insight:** Domain specialists can now translate their problem-space knowledge directly into working code using AI, but deploying it safely requires dedicated infrastructure and security guardrails.

---

[02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) The Cost Center Problem and the Guardrail Dilemma

Robert explains that during his years as a consultant, he constantly witnessed broken, manual enterprise processes that impacted only two or three individuals. For instance, an employee might print out accounts billable, handwrite each line item onto paper, walk it over to the accounts receivable department, and have someone manually re-enter it into another system. Companies routinely tolerated such absurd inefficiencies because the work still got done, and building custom software internally carried zero financial return on investment. Because departments like legal and operations operate as cost centers rather than revenue generators, their bespoke operational bottlenecks were consistently deprioritized.

With generative AI and coding agents, citizen developers can now eliminate these micro-inefficiencies on their own. However, Robert cautions that handing powerful AI tools to novice developers without established boundaries introduces severe corporate risk: "AI in the hands of a novice citizen developer with no guardrails, it ends in security vulnerabilities." Nina playfully embraces the label ("Nice to meet you all. I'm the cost center"), underscoring that citizen builders need technical partners to turn local scripts into safe enterprise systems.

- **Historical Enterprise Barrier:** Custom internal tools were rarely built for small departmental workflows because they offered no quantifiable ROI or headcount reduction. - **The Modern Trade-off:** Citizen developers can resolve their own bottlenecks, but unmanaged builds risk exposing sensitive data or creating architectural vulnerabilities.

---

[04:27](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=267s) January 2026: Doubled Caseloads and a $75,000 Vendor Saying "No"

In January 2026, Nina experienced an unprecedented surge that doubled her standard case volume. Managing high-stakes investigations already required an immense volume of administrative overhead. For every single case, she spent approximately 30 minutes drafting an investigation plan, 30 minutes preparing each interview outline, and another 30 minutes documenting the case findings. Across 30 cases in a single month, this routine administrative paperwork completely consumed her calendar, pulling her away from high-value strategic decision-making.

```mermaid flowchart TD accTitle: Case Management Administrative Overhead subgraph CaseWorkflow ["Standard Case Overhead (Per Case)"] P["30 min: Investigation Plan"] I["30 min: Interview Outlines"] D["30 min: Case Documentation"] P --> I --> D end CaseWorkflow --> Vol["30 Cases / Month = Crushing Manual Overhead"] Vol --> VendorFail["$75,000/yr Vendor Tool<br/>• No feature support<br/>• No custom builds<br/>• Zero integrations"] ```

To make matters worse, Coinbase was paying $75,000 annually for an external case management software that provided zero workflow assistance or automation. Nina envisioned a tool that could connect into Coinbase's existing ecosystem, automatically draft standard artifacts, and streamline documentation. However, when she approached the vendor with requests to build custom features, extend the platform, or integrate with internal systems, the vendor's response across the board was an emphatic "no." Faced with rigid vendor constraints and an unsustainable workload, she chose to build the system herself.

- **Caseload Breakdown:** ~30 cases per month, requiring 30 minutes for an investigation plan, 30 minutes per interview outline, and 30 minutes for final documentation. - **Vendor Limitations:** Refused feature enhancements, lacked developer extension points, and offered no third-party integrations despite the $75,000 annual price tag.

---

[06:20](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=380s) The Nine-Hour Sunday: Claude Code, Hidden Passwords, and Exiting Vim

Driven by necessity, Nina dedicated nine straight hours on a Sunday to working with Claude AI. Describing the experience as deeply humbling after spending 20 years earning academic degrees, she began by laying out her day-to-day responsibilities and asking whether AI could assist. Claude instructed her to install Claude Code, which immediately presented foundational hurdles: she did not know what a terminal window was, and once she opened one, she struggled with terminal password prompts because the characters remained invisible as she typed.

Despite running into basic command-line obstacles—including the classic challenge of learning how to exit Vim—Nina emerged from that single nine-hour session with a working, AI-enabled productivity suite. Asking Claude to estimate the efficiency gains of the code produced that day yielded a total savings of four weeks of working time per year, with a single sub-project accounting for two full weeks saved. Robert notes that while getting a local build running on a laptop is a major milestone, "You can't just have something run on a lawyer's laptop and say, 'Good enough, everybody have fun. We've opened up an ngrok tunnel to it.'" Turning that functional local prototype into an enterprise-grade service required a complete operational hardening layer.

- **Initial Tooling:** Claude AI and Claude Code CLI. - **Time Investment vs. Return:** 9 hours of conversational coding yielded an estimated 4 weeks of saved working time annually. - **Operational Reality:** Local execution via an ngrok tunnel is insufficient for enterprise compliance, security, and stability.

---

[08:29](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=509s) Building the Four Core Tools and the "Janet's Cactus" Workflow

Nina started by tackling her smallest viable problem: replacing the physical notebook she had relied on for years with a simple dashboard tracking case touchpoints and next steps. From there, she expanded the suite into four distinct capabilities that ultimately functioned as a unified investigation platform:

```mermaid flowchart TD accTitle: Four Core Components of the Investigations AI Suite subgraph Suite ["Custom Investigation AI Suite"] D1["1. Case Tracking Dashboard<br/>Replaced physical paper notebook"] D2["2. Precedent & Meeting Brief Engine<br/>Semantic search across 6 years of records"] D3["3. Interactive Annual Executive Report<br/>Reduced 40-60 hrs to a few hours"] D4["4. Custom 'Junior Associate' Agent<br/>First-draft generation for all artifacts"] end D1 --- D2 --- D3 --- D4 ```

1. **Case Tracking Dashboard:** Replaced pen-and-paper tracking with a structured system monitoring when cases were last touched and identifying immediate next actions. 2. **Precedent & Meeting Brief Engine:** Synthesized historical case data to automatically pull semantically similar matters from six years of Coinbase records, allowing Nina to advise leaders with concrete historical precedent. 3. **Executive Annual Report Generator:** Transformed a grueling annual reporting process that previously took 40 to 60 hours into a few hours of work, outputting an interactive HTML presentation that kept executives engaged. 4. **AI "Junior Associate" Agent:** Grounded in six years of documented investigation history, this agent drafts every single initial investigative artifact.

Nina demystifies her development process as a continuous feedback loop: whenever she hit an error, she took a screenshot, pasted it into Claude, asked "What do I do now?", and executed the next instruction. She compares the experience to the character Janet from the comedy *The Good Place*, who, when broken, repeatedly hands people a cactus instead of a glass of water—eventually, through iteration, the right output arrives. Nina realized that the primary bottleneck was never the underlying technology, but rather the clarity with which she could express her logic. Because legal training centers on precise articulation and edge-case analysis, her legal background proved to be the ultimate programming foundation: "Claude didn't replace my expertise. It just made my expertise portable."

- **Efficiency Highlight:** The annual executive report build cut preparation time from 40–60 hours down to a handful of hours while upgrading the deliverable to an interactive HTML format. - **Historical Data Integration:** Leveraged six years of historical investigation records to power semantic search and baseline drafting. - **The Core Skillset:** Precise writing and exhaustive edge-case thinking directly translate into effective prompt engineering and agent system design.

[11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) Building Casebase: Replacing a $75k Legacy Tool with an AI-First System

Drawing a direct parallel between the disciplines, Nina notes that legal and engineering are surprisingly similar: both revolve around writing detailed specifications and documentation. In both worlds, failing to clearly articulate what needs to be built leads to confusion and a terrible end product. The exact same principle applies when working with AI coding agents: the more precise and specific you are with your prompts and requirements, the better the resulting software will be.

Nina consolidated her four separate workflow side projects into a single unified application named **Casebase**. At its core, Casebase is a comprehensive case management system designed to track high volumes of workplace investigations—effectively replacing an off-the-shelf vendor solution that had been costing Coinbase $75,000 per year, but with the critical advantage that it actually matched her real investigation workflow and was built in just a few weeks.

Beyond standard case management, Casebase automated the most time-consuming drafting tasks and gave Nina her time back. It also introduced two critical enterprise capabilities: semantic search across past internal cases to ensure precedent consistency (preventing investigators from wondering, *"Wait, did I see this in 2022?"*), and a continuously updating analytics dashboard that eliminated the need to compile manual annual reports. Crucially, the system was wired directly into Coinbase’s internal production ecosystem rather than existing as an isolated prototype.

```mermaid flowchart TD accTitle: Casebase Architecture and Capabilities subgraph INTAKE["Case Intake & Documents"] A["Intake Notes"] --> B["Investigation Plans<br/>(Under 2 mins vs. 30-60 mins)"] A --> C["Interview Outlines<br/>(Under 1 min)"] A --> D["Structured Reports & Determinations<br/>(Minutes vs. 5-10 hours)"] end

subgraph ENGINE["Casebase Core Platform"] B & C & D --> E["Case Management System"] E --> F["Precedent Search & Consistency"] E --> G["Live Analytics Dashboard"] end

subgraph INFRA["Coinbase Infrastructure"] E --> H["Glean (Policy Search)"] E --> I["LLM Gateway (AI Routing)"] E --> J["Google Workspace"] end ```

- **Efficiency Gains:** Investigation plans drafted from intake notes in under 2 minutes (down from 30–60 minutes); interview outlines generated in under 1 minute; multi-page structured reports with credibility findings and determinations completed in minutes (down from 5–10 hours). Nina likens this to having a junior associate who *"never sleeps and never tells me off."* - **Enterprise Integrations:** Glean for company policy retrieval, Coinbase's internal LLM Gateway for secure model inference, and Google Workspace for document flows.

---

[13:48](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=828s) Vendor Reactions and the Tale of Two Apps: Casebase vs. Violet

When Nina demonstrated Casebase to the external software vendor whose contract was up, they immediately ceased trying to push for a renewal. More importantly, the vendor candidly admitted a fundamental software reality: building an AI-native system from scratch is radically different from attempting to bolt AI features onto a legacy architecture that was never engineered for it. Starting with a blank canvas allowed a non-engineer to leapfrog a mature commercial product in a matter of weeks.

To test the boundaries of what was possible, Nina built a second, even more sophisticated personal project on her own time called **Violet**. Violet could handle massive, complex cases that would ordinarily blow past standard LLM context windows. Yet building Violet independently proved vastly easier than building Casebase inside the enterprise. Outside corporate walls, there were no hurdles between a builder and the next feature; inside Coinbase, shipping software required stringent permissions, security reviews, and multi-team approvals.

> *"AI let me build the thing. What it could not do was make it safe to trust at enterprise scale. The gap between 'I built it' and 'you can rely on it' is exactly where Robert comes in."*

---

[15:31](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=931s) Where Vibes Meet Deploying: Diagnosing Frontend Chaos and Pseudo-RBAC

Taking the stage as the platform enabler, Robert Greisemer describes how executive enthusiasm for Nina’s tool triggered a deep architectural investigation into the reality of citizen development. In modern engineering organizations, teams rely on established "golden paths" or "paved roads"—standardized stacks, frameworks, and deployment rails. However, domain experts cannot be expected to know the difference between GraphQL and direct database queries, or why a production system cannot use Google Sheets as its primary data store (a common workaround chosen by non-engineers simply because they want built-in pivot tables). While Nina had at least opted for SQLite, inspecting her codebase revealed what happens when "vibes" collide with production engineering.

```mermaid flowchart LR accTitle: Citizen Dev MVP vs Enterprise Standards subgraph MVP["Vibe-Coded Citizen Build"] FE1["AngularJS + Vue.js + Vite"] BE1["Next.js Backend"] DB1["Local SQLite"] AUTH1["Pseudo-RBAC (No real validation)"] end

subgraph PROD["Coinbase Production Standard"] FE2["ReactJS"] BE2["Golang Backend"] DB2["Hosted DB Infrastructure"] AUTH2["Okta SAML & LDAP Group RBAC"] end

MVP -.->|"Platform Engineering Gap"| PROD ```

At the UI level, the application ran locally and every button worked as expected. But under the hood, Claude had somehow stitched together three conflicting frontend frameworks—AngularJS, Vue.js, and Vite—into a single application, with an entire backend running in Next.js instead of Coinbase's internal Go backend standard.

More dangerously, the AI had implemented an illusion of Role-Based Access Control (RBAC). When Nina logged in, the UI displayed her profile picture and username, giving the appearance of secure authentication. But when Robert tested the login form by entering complete "gobbledegook" into the credentials field, the app granted full administrative access: *"Guess what? I'm Nina now."*

---

[19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) The Citizen Developer Dilemma: Why Agent Plans Still Overwhelmed Non-Engineers

To bridge the gap between Nina’s prototype and Coinbase’s paved roads, the engineering team built dedicated gap-analysis agents. These agents ingested the entire codebase and generated a step-by-step remediation plan detailing every architectural change required. However, the plan fell into the classic engineering trap: it spoke in heavy technical jargon and assumed software engineering competencies that a workplace investigations lawyer did not possess.

Handing a non-technical builder a list of infrastructure mandates created immediate friction: - **Directory & Group Management:** Instructing Nina to configure an LDAP group meant navigating internal LDAP request systems and permission matrices. - **Single Sign-On (SSO):** Setting up production SAML authentication required configuring Okta integrations rather than just writing application code. - **Database Provisioning:** Moving away from SQLite required spinning up managed cloud database instances.

While specialized agent teams managed to fix the majority of critical vulnerabilities and get the service deployed, the exercise made one fact abundantly clear: asking a citizen developer to "yolo" their way through infrastructure configuration, LDAP consoles, and backend migrations is fundamentally unsustainable. Citizen developers understand that an app has a frontend and a backend; expecting them to operate like seasoned DevOps engineers breaks the model.

---

[21:08](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1268s) Shifting to Platform-First: Hardening, Secrets Management, and Cascading AI Risks

The lessons learned from Casebase forced Coinbase's platform team to shift their entire philosophy from *post-hoc hardening* to *building for the platform first*. By the end of the initial remediation, Casebase had achieved genuine enterprise compliance: functional RBAC tied to LDAP, a fully hosted and managed database, and all hardcoded API credentials scrubbed from Git repositories and moved into a centralized secrets management system.

Robert stresses that secrets management is especially existential in the era of interconnected AI agents. Modern AI applications do not operate in silos; they leverage tool calling to query enterprise knowledge bases like Glean, access Google Drive files, and trigger downstream communications. A compromised credential in an AI workflow does not remain an isolated bug—it causes a catastrophic blast radius across the enterprise network.

```mermaid flowchart TD accTitle: Cascading Blast Radius in Connected AI Systems A["Compromised API Key in Casebase Git Repo"] --> B["Attacker Impersonates Nina"] B --> C["Tool Calls to Glean"] C --> D["Unauthorized Queries of Confidential Policy & Legal Data"] B --> E["Slack Tool Calling Integration"] E --> F["Social Engineering & Fraud (e.g. Requesting Gift Cards)"] ```

- **Cascading Vulnerability:** If Nina’s API keys were leaked, an attacker could impersonate an Associate General Counsel across connected downstream tools. - **Autonomous Tool-Call Exploitation:** Attackers could query highly confidential legal documents directly via Glean or send authenticated Slack messages pretending to be Nina instructing employees to take urgent actions. - **Core Platform Takeaway:** Because interconnected AI systems exponentially amplify the blast radius of any single configuration error, platform guardrails must be baked into the foundation automatically, rather than relying on citizen developers to discover and fix them after the fact.

[22:51](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1371s) Auditing, Compliance, and the Hidden Costs of Production

Beyond baseline security concerns, enterprise viability hinges on auditing and compliance. In a regulated financial utility like Coinbase, an application cannot simply let users perform tasks without capturing granular logs of who did what and when. If an incident or breach were to occur and engineering had to report that no logs existed, the fallout would be catastrophic.

```mermaid flowchart TD accTitle: Citizen App vs Production Reality Flow subgraph MVP["Citizen App Reality"] A["Vibe-Coded Prototype"] --> B["Single User Local Run"] B -.->|"Lacks"| C["Audit Logs & Observability"] end

subgraph ProdReq["Enterprise Production Overhead"] D["24/7 PagerDuty Rotation"] E["Min. 3 On-Call Engineers"] F["$2M+ Team Investment"] end

MVP -->|"Gap to Bridge"| ProdReq ```

When evaluating whether Nina's case management tool should be promoted to full production, Robert and the team realized the hidden operational costs. Production requires ongoing maintenance, alert triage, and dedicated on-call rotations. Citizen developers do not sign up to be woken up by PagerDuty at 2:00 a.m. for alert notifications. Nina candidly noted that her workday ends strictly at 4:30 p.m. ("I turn into a pumpkin at 4:30 every day").

Maintaining production applications at scale creates a significant financial threshold: - A single engineer can realistically maintain roughly 15 production applications. - A functional on-call rotation requires a minimum of three engineers to prevent burnout. - Supporting dedicated on-call staffing demands an organizational investment well exceeding $2 million. - Moving the application to production proved far more expensive than the original $75,000 vendor quote, defying the initial hope that vibe-coding would provide a cheap shortcut.

---

[26:03](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1563s) The Stopgap Compromise: Hardening Local Execution

Rather than blocking the project and forcing Nina back to an inadequate legacy workflow—or resorting to standard security threats ("Do what we say or we'll fire you", which Nina joked would require sending a calendar invite to herself to conduct her own termination)—the engineering team designed a pragmatic stopgap. Because the app worked locally for Nina as the company's sole investigator handling that specific workload, they focused on mitigating data retention and disaster recovery risks.

```mermaid flowchart LR accTitle: Local Hardening Stopgap Workflow subgraph Client["Local Environment"] App["Local App / Podman Container"] CaseData[("Active Case Data")] App --> CaseData end

subgraph Central["Centralized Storage"] Backup["Automated Daily Backup"] end

CaseData -->|"Daily Sync on Startup"| Backup ```

They implemented an automated backup feature that triggers upon application startup, safely uploading case records to centralized storage. If her laptop crashes, at most a few hours of work are lost. This balanced risk against unrealistic engineering standards; pursuing eight nines of uptime at massive expense makes no sense for internal tools with modest financial footprints.

- **Containerization adjustments:** To avoid Docker Desktop enterprise licensing fees, Robert advised switching to Podman as a free, open-source alternative. - **Headcount realities:** When asked if her solo setup was due to low case volume, Nina clarified that after case volume doubled in January with no added headcount, AI became the only viable path to scale her team's capacity.

---

[28:12](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1692s) Production Non-Negotiables and Architecture Gaps

The experiment proved that while AI democratizes *who* can write code, it does not change *what production requires*. Citizen developers deploying raw code without safeguards risk major vulnerabilities, unmetered loops, and massive API bills. Nina illustrated this by sharing how a personal passion project—a trip planner that generated creatures for her kids—accidentally ran up an $80 API bill in moments because there were no cost guards in place.

Enterprise applications require non-negotiable fundamentals: - **Data Protection & Access Auditing:** Every read, write, and administrative action must be recorded and verifiable. - **Dependency & CVE Management:** Large language models are typically trained on snapshots from 6 to 12 months prior. Unless directed to fetch current versions, they default to outdated software packages riddled with known CVEs (Common Vulnerabilities and Exposures). - **Rate Limiting & Secret Hygiene:** API keys and endpoints must be shielded to prevent public exploitation and runaway billing.

---

[30:05](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1805s) The Hyper-Opinionated Platform and "Freedom Within Guardrails"

To bridge the gap between ad-hoc local tools and production readiness, the infrastructure team set out to build a centralized platform: a hyper-opinionated AI coding assistant designed to enforce enterprise guardrails upfront.

```mermaid flowchart TD accTitle: Opinionated Citizen Developer Assistant Flow UserPrompt["Citizen Developer Prompt"] --> AIPlatform["Hyper-Opinionated AI Assistant"]

AIPlatform --> Decision{"Use Case Evaluation"}

Decision -->|"Simple Task / Glue Code"| ExistingTool["Redirect to Existing Tools\n(e.g., n8n Workflows)"] Decision -->|"Valid Custom App"| Guardrails["Enforce Architecture & Standards\n• Standardized Tech Stack\n• Built-in Auth & Logging\n• Pre-flight Security Scans"]

Guardrails --> SafeProd["Safe Production Deployment"] ```

When a citizen developer requests a simple integration—such as copying data between Google Sheets and Google Docs—the assistant steers them away from writing custom software, directing them instead toward existing workflow automation tools like n8n and generating the workflow on their behalf. For legitimate custom applications, the assistant scaffolds the project according to strict architectural standards, mitigating language sprawl across thousands of internal tools.

Reflecting on the experience, Nina joked that she "never wants to set any settings in Cloudflare ever again" and emphasized the value of consulting engineers early to define what good architecture looks like. Robert noted that traditional developer documentation—often 55-step Confluence pages filled with stale screenshots and unexplained pull request links—fails citizen developers. Empowering non-engineers requires intelligent agents that plan, scaffold, and execute within defined guardrails, putting an end to "yoloing code to production."

---

[33:27](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2007s) Q&A: Navigating Blind Spots as a Citizen Developer

The floor opened to audience questions. A fellow citizen developer asked how an isolated builder without an SRE partner like Robert or an enterprise platform like Coinbase's can identify their architectural blind spots, discover frameworks, and safely close technical gaps when building solo.

[34:13](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2053s) The Hallucination Trap and Spotting Bad Code

When non-technical builders lean entirely on AI coding assistants like Claude Code, they inevitably run into sycophancy and hallucinations. AI models have a tendency to agree with user prompts and validate incorrect assumptions: if a user suggests an issue might be in a specific place, the model will often double down, insist the user is right, and fabricate an explanation for why. For citizen developers building without dedicated engineering support, the single most critical recommendation is to learn the foundational concepts of software architecture. Builders do not need to know how to write syntax from scratch, but they must know how to recognize bad code and architectural smells.

A striking example occurred in Nina Eisenberg's prototype UI. When she prompted the model to change a single button color across all pages—an operation that should ideally touch a single line or class in a shared CSS stylesheet—the model produced a massive 1,400-line diff. The underlying reason was that the AI assistant had haphazardly stitched together three completely different front-end frameworks across the application's pages, duplicating styles and components across the entire codebase rather than maintaining a clean, unified design system.

```mermaid flowchart TD accTitle: AI Hallucination and Spaghetti Code Loop subgraph S1["Citizen Developer Workflow"] A["User Inferences & Assumptions"] --> B["Claude Code Prompt"] B --> C{"AI Sycophancy / Hallucination"} C -- "Doubles down on false premise" --> D["Messy / Bloated Implementation"] end

subgraph S2["Architectural Consequence"] D --> E["3 Disparate Front-End Frameworks"] E --> F["Single Button Color Change"] F --> G["1,400-Line Code Diff"] end ```

- **Model Sycophancy:** AI models often validate user guesses instead of diagnosing the genuine root cause. - **Architectural Literacy:** Citizen developers must know how to spot code sprawl, excessive complexity, and framework mismatch even if they cannot write the code manually. - **CSS Sprawl Example:** A trivial UI button restyling resulted in a 1,400-line change due to multiple overlapping front-end frameworks generated over time.

---

[35:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2144s) Enterprise Playbooks: Generalized vs. Specialized Sub-Agents

During the audience Q&A, an attendee asked whether enterprise digital playbooks—such as Confluence documentation covering front-end, back-end, cybersecurity, and Identity and Access Management (IAM) standards—could be modularized into domain-specific sub-agents to coach citizen developers early in the development lifecycle.

Robert Greisemer explained the trade-offs between deploying specialized sub-agents versus utilizing a single generalized agent equipped with enterprise search retrieval:

```mermaid flowchart LR accTitle: Knowledge Retrieval Architectures for Citizen Development subgraph OptionA["Coinbase Architecture (Generalized)"] G1["Generalized AI Agent"] --> G2["Glean Knowledge Search"] G2 --> G3[("Indexed Enterprise Data & Playbooks")] end

subgraph OptionB["Low Data-Maturity Architecture (Specialized)"] S1["Citizen Developer"] --> S2["Front-End Sub-Agent"] S1 --> S3["Security / IAM Sub-Agent"] S1 --> S4["Back-End Sub-Agent"] end ```

At Coinbase, internal AI agents query Glean, an enterprise search engine that indexes internal company documentation and playbooks across systems. This setup enables a single generalized agent to pull relevant security and infrastructure standards on demand, significantly reducing the overhead of maintaining dozens of individual specialized agents. However, Robert noted that in less mature organizations where documentation quality and playbook cleanliness are low, building specialized sub-agents with strict domain constraints may be more effective.

- **Generalized Agent + Search:** Using an enterprise search tool like Glean allows one generalized model to access up-to-date company playbooks without ongoing sub-agent maintenance. - **Specialized Sub-Agents:** Useful in environments with lower documentation maturity where direct guardrails must be hardcoded for security, IAM, and backend standards.

---

[37:43](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2263s) Bridging the Gap Between Builders and Engineers

When asked whether she would have pursued the project differently if she had known all the enterprise security constraints from day one, Nina reflected on the early days of her build. At the time, she was experimenting before the term "citizen developer" was widely established and was unaware that infrastructure engineers like Robert were available to partner with domain experts. If that partnership had existed from the beginning, she noted, her application would already be running in production behind Okta authentication rather than operating solely on a local machine.

Robert concluded by encouraging domain experts to actively reach out to platform and infrastructure teams. While engineers sometimes have a reputation for being "grumpy all the time," they are eager to share knowledge, establish secure pathways, and help domain experts turn prototypes into enterprise-grade applications. The speakers then wrapped up the session and invited attendees to continue the discussion in the hallway.

## Notable quotes > [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) The barrier to building software has collapsed while the barrier to running it hasn't moved. — Robert Greisemer

> [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) AI in the hands of a novice citizen developer with no guardrails, it ends in security vulnerabilities. — Robert Greisemer

> [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) Nice to meet you all. I'm the cost center — Nina Eisenberg

> [06:20](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=380s) You can't just have something run on a lawyer's laptop and say, 'Good enough, everybody have fun. We've opened up an ngrok tunnel to it.' — Robert Greisemer

> [08:29](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=509s) Claude didn't replace my expertise. It just made my expertise portable. — Nina Eisenberg

> [11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) never sleeps and never tells me off. — Nina Eisenberg

> [13:48](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=828s) AI let me build the thing. What it could not do was make it safe to trust at enterprise scale. The gap between 'I built it' and 'you can rely on it' is exactly where Robert comes in. — Nina Eisenberg

> [15:31](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=931s) Guess what? I'm Nina now. — Robert Greisemer

> [22:51](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1371s) I turn into a pumpkin at 4:30 every day — Nina Eisenberg

## Mentioned Nina Eisenberg, Robert Greisemer, Coinbase, Claude, Claude Code, Casebase, Violet, Glean, Google Workspace, Okta, PagerDuty, Cloudflare, Podman, Docker Desktop, n8n, Confluence, The Good Place, Vim, ngrok, AngularJS, Vue.js, Vite, Next.js, ReactJS, Golang, SQLite

## Video description Robert Greisemer - Sr. SRE, Core AI Infrastructure, Coinbase Nina Eisenberg - AGC, Workplace Ethics & Investigations, Coinbase

What happens when the tool your enterprise team needs does not exist — and the person closest to the problem is not an engineer?

This talk will illustrate how a non-technical lawyer used AI coding tools to build an enterprise AI application after existing vendor options could not meet the team’s needs. The broader lesson is timely for AI4’s audience: as AI coding and agentic tools mature, domain experts can move from “requesting software” to building meaningful prototypes themselves, but enterprise deployment still requires security, reliability, privacy, and operational guardrails.

We will walk through the journey from a local “vibe-coded” MVP to an enterprise-ready application, including the practical controls needed to harden AI-assisted builds: authentication, RBAC, PII handling, observability, testing, and secure deployment patterns. Attendees will leave with a real-world collaboration model for pairing domain expertise with security and platform engineering so teams can move fast without creating unacceptable risk.

If you are trying to understand what AI-enabled builders mean for the future of enterprise software, this talk will show what is already possible — and what it takes to make it safe.

[Source](https://www.youtube.com/watch?v=tRu6xQ9_bAo)

中文简报

买不到就自己造:Coinbase的平民开发者构建AI应用 面对一款要价7.5万美元且缺乏灵活性的供应商工具,以及激增的职场调查工作量给团队带来的重压,律师 Nina Eisenberg 利用 Claude Code 快速构建了“Casebase”——一套AI辅助调查与先例追踪套件。尽管该本地原型有效替代了旧软件并节省了数周的手工劳动,但 SRE Robert Greisemer 进行的工程审查揭示了显著的隐患,包括前端框架冲突、伪身份验证以及审计日志缺失。在评估了专门提供 24/7 全天候轮值运维的高昂开销后,团队实施了务实的本地加固权宜方案,同时着手架构一套规范化的企业平台,以便为未来的平民开发者建立安全防护机制。 生成式AI编码工具大幅降低了创建软件的门槛,但在生产环境中运行、保障安全和维护企业级应用的门槛依然未变。 (0:04) 内部成本中心往往容忍脱节、低效的手工微工作流,因为过去构建定制软件的投资回报率较低,但若对平民开发放任不管,则可能引入严重的漏洞风险。 (2:17) 供应商平台僵化且拒绝定制集成需求,这促使领域专家自行构建AI原生替代方案,以直接贴合组织内部的专业工作流。 (4:27) 法律与分析领域的专业训练——具体表现为精准的表述、清晰的规范以及对极端边界情况的周密思考——能直接转化为高效的提示工程与AI智能体设计能力。 (8:29) 从零构建的AI原生工具性能可大幅超越传统软件,不仅能将复杂的起草任务耗时从数小时缩短至数分钟,还能实现针对历史记录的语义搜索。 (11:44)

Reading summary

Generative AI allows non-technical domain experts to rapidly build functional bespoke software, but deploying those tools at enterprise scale still requires dedicated engineering guardrails, infrastructure, and security oversight. Domain Expertise as the Logic Layer (4:27) In January 2026, Nina Eisenberg, Associate General Counsel for Workplace Ethics and Investigations at Coinbase, faced a doubling of her caseload to 30 cases per month. Each case demanded 90 minutes of administrative drafting across plans, interview outlines, and documentation. When an external vendor charging Coinbase $75,000 annually refused to build custom features or integrations, Eisenberg turned to Claude AI and Claude Code CLI. Despite having no previous programming background, she built a local productivity suite in a single nine-hour session, later estimating it saved four weeks of work annually. Eisenberg noted that her legal training—specifying clear requirements, accounting for edge cases, and relying on precedent—served as the operational foundation for prompt engineering. She consolidated these workflows into Casebase, an internal application that generated investigation plans in under two minutes, drafted multi-page determinations in minutes instead of 5 to 10 hours, and integrated with Glean, Coinbase's LLM Gateway, and Google Workspace. The Illusion of Production Readiness (15:31) While citizen development can produce responsive local user interfaces, inspection by Core AI Platform SRE Robert Greisemer revealed severe architectural shortcomings under the hood. Eisenberg's prototype inadvertently blended three conflicting front-end frameworks—AngularJS, Vue.js, and Vite—with a Next.js backend, rather than adhering to Coinbase's Go backend standard. The model's sycophancy and tendency to validate user assumptions led to code bloat; changing a single button color resulted in a 1,400-line diff because styles were duplicated across frameworks. More critically, the application featured pseudo-authentication. Although the interface displayed Eisenberg's user profile, entering arbitrary text into the credentials input granted full administrative rights. Furthermore, hardcoded API credentials were saved in Git repositories. In an ecosystem where AI agents use autonomous tool calling across services like Glean and Slack, compromised credentials create an expanded blast radius, potentially allowing attackers to impersonate counsel, query sensitive records, or trigger internal actions. Production Costs and the Pragmatic Stopgap (22:51) Transitioning a citizen-developed tool into a true enterprise production environment introduced operational expenses that eclipsed initial development gains. Greisemer explained that a production-grade service demands auditable access logs, continuous dependency patching to remove outdated packages with known Common Vulnerabilities and Exposures (CVEs), and managed cloud databases instead of local SQLite files. Crucially, supporting a 24/7 on-call rotation requires at least three site reliability engineers to prevent burnout, representing an organizational commitment exceeding $2 million—far surpassing the original $75,000 vendor cost. Because Casebase was utilized exclusively by Eisenberg for her internal investigations workflow, the team avoided a full production migration. Instead, they implemented a hardened local setup. To eliminate Docker Desktop enterprise licensing fees, the app ran via Podman, supplemented by automated daily startup backups to centralized corporate storage to safeguard against laptop hardware failures. Enforcing Opinionated Platform Guardrails (30:05) Coinbase's infrastructure team determined that attempting post-hoc remediation—such as providing citizen builders with step-by-step infrastructure migration plans involving LDAP directories and Okta SAML configurations—overwhelms non-engineers. Instead, the platform shifted to an opinionated-by-default architecture. When non-technical staff request automation, the internal assistant evaluates whether simple tasks should be routed to existing workflow engines like n8n or scaffolded directly within pre-approved tech stacks with baked-in authentication and telemetry. To guide early development, Greisemer evaluated knowledge retrieval strategies: while less mature environments may require separate specialized sub-agents for security, IAM, and backend rules, Coinbase relies on a single generalized agent connected to an indexed Glean repository to reference up-to-date internal documentation and reduce agent maintenance overhead. While AI coding tools effectively eliminate the barrier to authoring software, enterprise deployment remains constrained by compliance, maintenance overhead, and security risks. Successfully scaling citizen development requires early collaboration with platform teams and opinionated infrastructure that enforces guardrails without burdening domain specialists with DevOps responsibilities.

精炼阅读摘要

Coinbase调查副总法律顾问Nina Eisenberg与资深SRE Robert Greisemer指出,生成式AI已大幅降低了软件构建的技术门槛,但安全运行企业级软件的门槛并未改变。业务专家虽能凭借领域知识自建替代昂贵商用采购的工具,但若脱离底层平台工程的护栏,这类草根开发在身份验证、级联安全攻击面与运维成本上将面临严峻挑战。 业务痛点倒逼自建:从外部受阻到代码突破 (4:27) 2026年1月,Coinbase工作场所道德与调查部门面临案件量翻倍的压力。作为法律与合规成本中心,团队每月需处理约30起复杂调查,每起案件在起草调查计划、访谈提纲和最终报告上各需耗费约30分钟,繁重的文书事务挤占了核心精力。与此同时,公司每年向外部案件管理软件支付7.5万美元,但当团队提出定制开发与内部系统集成需求时,供应商一律予以拒绝。由于传统工程资源不会优先倾斜给无直接投资回报率的内部运营流程,Nina决定利用AI尝试自建。 在完全不熟悉命令行终端与基础开发环境的情况下,Nina投入9个小时与Claude及Claude Code对话,成功跨越了密码输入盲打和退出Vim等初级障碍,在本地构建出了首套可运行的效率工具。经AI测算,该次编码每年可为团队节省约4周工时。这证实了非技术背景的业务人员可以直接利用编码智能体消除日常微小低效,但也促使工程团队关注本地脚本迈向企业级服务所面临的基础设施鸿沟。 领域经验作为代码:Casebase提效闭环 (11:44) Nina随后将前期工具整合为名为Casebase的统一案件管理平台,以数周时间自研替代了年费7.5万美元的采购软件。该系统集成了Coinbase内部的LLM网关、Glean知识库与Google Workspace,将调查计划的拟定时间从30至60分钟压缩至2分钟内,访谈提纲生成控制在1分钟内,并将耗时5至10小时的多页定性调查报告缩短为数分钟初稿。此外,系统通过对6年历史调查记录进行语义检索,确保了判例裁量的一致性,并将原先耗时40至60小时的年度高管汇报缩减为数小时即可生成的交互式HTML看板。 Nina分析认为,法律领域对边界情况的缜密推演与精准语言表述,与软件工程中编写规格说明有着相通逻辑,这使得法律专业背景能够转化为极其高效的提示词与智能体系统设计能力。当向原软件供应商展示Casebase时,对方承认从零构建AI原生架构相比在遗留系统上修补功能具有根本优势。但Nina也直言,AI能帮助业务人员写出软件,却无法独立保证软件在企业规模下的安全性与可靠性。 氛围编码的技术债:伪安全机制与级联风险 (15:31) 平台可靠性工程师Robert Greisemer介入代码审查后,发现了“氛围编码”(vibe-coding)在缺乏工程干预时产生的结构性缺陷。在前端层面,AI智能体因顺从用户提示而拼凑了AngularJS、Vue.js与Vite三种冲突的框架,甚至在修改单个按钮颜色时生成了包含1400行变更的代码补丁;后端则采用Next.js,偏离了Coinbase内部标准的Go语言基础设施。 更为危险的是虚假的角色访问控制(RBAC):登录界面虽然呈现出合法的用户头像与名称,但输入任意乱码凭证均能直接获取完全管理员权限。Robert强调,在AI与企业生态紧密互联的背景下,Casebase需要调用Glean查询机密政策并接入Slack通信,一旦硬编码在Git仓库中的API凭证泄露,攻击者即可冒充副总法律顾问的权限发起调用,读取极敏感的法律调查档案或下达恶意欺诈指令,单一配置错误便会引发波及整个企业的连锁破坏。 生产化的隐性成本:本地加固的务实折中 (22:51) 面对严格的合规审计要求,将该应用真正推向生产环境面临着巨大的隐性成本。合规金融实体要求系统必须具备不可篡改的操作审计日志,并依赖24小时全天候轮值运维保障。根据Robert评估,单个工程师通常仅能维护约15个生产级应用,维持一个最少3人的值班轮岗体系需要超过200万美元的组织投入,这使得全面生产化的成本远超原本7.5万美元的软件采购费用,推翻了公民开发能无成本替代商业软件的设想。 考虑到该工作流全权由Nina一人处理且工作时间固定,工程团队并未强制推行昂贵的生产化标准,而是采取了务实的本地加固折中方案:为规避商业许可费用,采用开源的Podman替代Docker Desktop,并在本地应用每次启动时触发自动化备份,将案件数据同步至集中存储系统。这种方案避免了追逐高可用性带来的过度开销,将系统崩溃风险限制在最多损失数小时本地工时的可控范围内。 平台工程护栏:从后期修补转向前置约束 (30:05) Casebase的处置过程证明,试图要求非技术人员自主掌握LDAP目录管理、Okta单点登录(SSO)以及云数据库配置是不切实际的。如果依赖分析智能体生成满是工程术语的补救清单,只会给业务开发者带来巨大认知阻碍。因此,Coinbase平台团队将策略转向“预设护栏优先”,着手开发集中化的强约束AI编程助手。 该平台智能体在接入业务需求时执行前置分流:针对简单的数据同步等胶水代码需求,自动重定向至现有的n8n等工作流工具并生成自动化配置;对于确实需要定制开发的应用,则强制应用统一的技术栈模板、预置身份认证机制与日志模块,并自动进行安全扫描。通过在底层建立确定性边界,企业能够在终结“凭运气部署代码”风险的同时,保障公民开发者在安全框架内享有自主创新的自由度。 Coinbase的实践表明,AI赋能让非技术业务专家具备了自主瓦解小微运营瓶颈的敏捷能力,但代码生成的普及并未消解企业级部署的严苛要求。如果没有平台团队在凭证管理、审计追踪和合规灾备上的前置介入,单机原型很难在不引发灾难性安全风险的前提下实现规模化生产。企业推动公民开发的关键,不在于要求业务人员转型为运维专家,而在于工程平台能否将安全与部署标准自动化封装为不可逾越的护栏。

Detailed notes — zh

## Background 该内容由频道 Ai4 于 2026 年 8 月 20 日发布在 YouTube 平台。视频记录了 Coinbase 职场道德与调查副总法律顾问 Nina Eisenberg 与核心 AI 基础设施高级 SRE Robert Greisemer 的联合演讲,讲述了一位非技术背景的法务专家在商业软件无法满足需求时,借助 AI 编程工具自建内部应用,并探讨了如何将业务专家的本地原型与平台工程的安全运维规范相结合。 ## TL;DR 面对激增的调查案件负荷与外部软件供应商的僵化拒绝,零编程背景的 Coinbase 法务负责人 Nina 利用 Claude Code 耗时 9 小时自建了案件管理系统原型,大幅压缩了文书处理时间并替代了每年 7.5 万美元的商业 SaaS。然而,该原型在推向生产环境时暴露出技术栈拼凑、前端伪权限验证和明文密钥等严重安全隐患,且完备的生产级 On-call 运维成本远超自建收益。工程团队最终采取了本地运行配合中心化自动备份的务实过渡方案,并着手构建一套具备规范架构护栏的“强主见 AI 编码助手平台”,以解决全民开发者的安全与运维痛点。 ## Atmosphere & style 整场演讲呈现出幽默自嘲与严谨工程思维交织的生动对话氛围。文科生律师 Nina 用“不懂终端密码隐形机制”、“接住一盆盆仙人掌”和下午准时“变成南瓜下班”等妙趣横生的自白引发全场共鸣,而资深 SRE Robert 则以冷静专业的视角适时点出代码背后的伪安全陷阱与千万级运维隐性成本。两人相互拆台又紧密互补的结对叙事,不仅打破了业务与工程之间的沟通隔阂,也真实还原了非技术人员手握 AI 工具探索创新时的兴奋、困惑与理性落地过程。 ## Key takeaways - [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) 随着 AI 编程工具成熟,构建软件的门槛已彻底坍塌,但企业级生产环境在安全、合规与运维上的门槛分毫未降。 - [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) 传统企业中许多繁琐的“成本中心”流程难以获得 IT 资源支持,而业务专家如今能够借助 AI 亲自动手解决微小痛点。 - [04:27](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=267s) 面对高昂商业 SaaS 费用(年费 7.5 万美元)与供应商僵硬拒绝定制的困局,业务专家自建 AI 系统成为突破痛点的新途径。 - [06:21](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=381s) 非技术人员通过自然语言 Prompt 与截图报错与 AI 结对协作,仅耗时 9 小时便搭建出了年省数周工时的原型系统。 - [10:06](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=606s) 软件构建的核心难点不在于代码语法,而在于业务专家精准定义需求与推演业务边缘情况(Edge Cases)的能力。 - [11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) 从零开始以 AI 为核心(AI-First)构建系统,相比在传统遗留架构上强行拼凑 AI 功能具有根本性的架构优势与效率提升。 - [15:31](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=931s) “氛围编码”(Vibe Coding)的原型常伴随架构混乱与“伪安全”陷阱,例如前端看似有 RBAC 权限控制但后端毫无校验。 - [19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) 在互联的现代 AI 生态中,API 密钥泄露等单一节点安全漏洞会通过 Agent Tool Calls 引发跨系统的连锁雪崩风险。 - [22:51](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1371s) 企业级生产环境面临合规审计与高昂的 On-call 运维人力成本,小型内部工具需在全面生产部署与本地受控运行间做出理性妥协。 - [28:12](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1692s) 平台工程团队应从“事后加固”转向构建“强主见 AI 助手平台”,通过内置合规框架与安全护栏直接赋能公民开发者。 - [34:13](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2053s) AI 编程工具具有顺从迎合用户的盲区,公民开发者虽无需精通语法,但需具备基础概念直觉以识别臃肿和混乱的“坏代码”。 - [37:43](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2263s) 业务专家尽早与平台及安全工程师沟通协作,实现“护栏之内的自由”,能避免代码返工并加速原型合规落地。 ## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) 哲学生做软件:当不懂终端的律师遇上不可撼动的运维门槛 Nina Eisenberg 开门见山地自嘲道,她在文理学院学习哲学与俄罗斯文学等专业,读了二十年书、拿了一堆学位,能写出辞藻华丽的随笔论文,但连家里的 Wi-Fi 坏了都修不好。就在几个月前,她甚至完全不知道终端(Terminal)是什么东西。然而今天,她却站在台上讲述自己如何独立构建出一套企业级 AI 应用,成功取代了公司每年花费 7.5 万美元购买的外部案件管理软件(Case Management Tool)。 这一创举最初纯粹源于被逼无奈:手头的调查案件数量激增到无法负荷,而外部供应商对所有改进需求都冷酷地回应“做不到”。于是,她决定亲自动手。但这场个人自救随后演变成了一个更具普遍意义的时代命题——当下构建软件的门槛已经彻底坍塌,然而在企业内真正运行、维护和部署软件的门槛却分毫未降。这正是她与 Coinbase 核心 AI 基础设施高级 SRE(站点可靠性工程师)Robert Greisemer 共同登台探讨的核心矛盾。 Nina 介绍了自己的本职工作:她是 Coinbase 的副总法律顾问(Associate General Counsel),主管职场道德与调查事务(Workplace Ethics & Investigations)。在公司任职近七年间,她的岗位听起来相当令人生畏——只要员工涉嫌违纪或行为不端,就得坐到她的办公室里接受高难度、高风险的面对面谈话。这项工作的精髓在于带着同理心去处理复杂人性,与计算机工程八竿子打不着。直到 2026 年 1 月,她使用 AI 的方式还和普通大众毫无二致,仅仅把它当成一个聊天机器人(Chatbot)。她代表了天平的一极:极深的业务领域专长(Domain Expertise)搭配零技术背景;而要让这样的自建系统在 Coinbase 这种规模的企业中真正落地,必须仰仗天平的另一极——拥有近 18 年从安全到 AI 基础设施运维经验的技术专家 Robert。 - **演讲者背景与专长分布**: - **Nina Eisenberg**:Coinbase 职场道德与调查副总法律顾问(AGC),哲学与俄语文学背景,文科生,负责高危敏感调查,零编码经验。 - **Robert Greisemer**:Coinbase 核心 AI 基础设施高级 SRE,拥有近 18 年 IT、安全与生产环境部署经验,自称“零业务调查专长,但懂怎么把软件部署进企业系统”。 - **被替代的系统成本**:每年 75,000 美元的商业案件管理 SaaS 软件。 --- ### [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) “成本中心”的逆袭:公民开发者与平台工程的交汇 Nina 抛出了本场演讲的核心论点:借助现代 AI 工具,一个毫无编程背景的法务人员如今已经能凭一己之力构建出功能完备的真实产品;业务专家过去遇到问题只能排长队等待 IT 部门排期,最后往往只能拿到一个拙劣的妥协品,如今这种时代已经终结。然而,她能“构建”(Build),却绝对无法独自“运行”(Run)它。 ```mermaid flowchart LR accTitle: Citizen Development to Enterprise Deployment subgraph S1["业务专家(公民开发者)"] A["业务痛点与边缘Case"] --> B["自然语言 Prompt / 截图"] B --> C["AI 工具 (Claude / Claude Code)"] C --> D["本地可运行原型 (Local MVP)"] end subgraph S2["平台工程与安全 (SRE)"] D -. "无法直接企业级上线".-> E["安全加固与合规审计"] E --> F["RBAC / PII脱敏 / 鉴权"] F --> G["企业级稳定部署 (Production)"] end ``` 针对这一现象,Robert 从顾问和运维的视角进行了深度剖析。在过去的咨询生涯中,他见过无数企业被微小但极其繁琐的流程痛点折磨:比如有人每天把应付账单打印出来,用手一行一行抄写核对,再肉身送到应收账款部门,让对方手动敲进电脑。企业高层对这种荒谬现象视而不见,是因为整个流程只有两三个人在跑,业务最终也能交付。修缮这类流程既不能裁员削减成本,也不能带来明显的投资回报率(ROI),属于典型的“成本中心”(Cost Center)。管理层的态度永远是:“这就是你的工作,克服一下得了。” 但如今,随着技术门槛的瓦解,身处一线的普通员工终于有了亲自动手修复这些微小溃疡的可能。不过 Robert 严肃警告道,**当缺乏防护围栏(Guardrails)的初学者/公民开发者(Citizen Developer)手握 AI 肆意写代码时,其终局必然是制造出灾难性的安全漏洞**。你不可能把一个跑在法务个人笔记本电脑上的程序,随便挂个 ngrok 内网穿透隧道就宣称“企业级上线了”。正因如此,平台工程的介入才是让这股创新力量合规落地的必要拼图。 --- ### [04:27](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=267s) 30 个案件与 7.5 万美元的“不”:一个法务负责人的崩溃时刻 Nina 幽默地承认自己正是那个“成本中心”。她将时间倒回至系统诞生的原点:作为调查人员,她的职责是处理进入视线的一切棘手事件,涵盖性骚扰、歧视、安全隐患、内部威胁(Insider Threats)及其他各类违规行为。每起高风险案件背后都附带着堆积如山的手工文档工作。原先她依赖一套昂贵的案件管理系统记录证据并撰写定制报告,但在 2026 年 1 月,情况彻底失控。 她打趣说自己甚至专门去查了星象,确认当时“水星并没有逆行”,但 Coinbase 内部涌入的案件量却陡然翻倍。对于一名独立调查员来说,案件翻倍意味着毁灭性的行政负荷: | 工作环节 | 单案耗时 | 每月 30 起案件累计耗时 | |:--- |:--- |:--- | | **制定调查计划 (Investigation Plan)** | 30 分钟 | 15 小时 | | **撰写每场访谈提纲 (Interview Outline)** | 30 分钟 | 15 小时以上(按单案仅一次访谈算) | | **归档与文档总结 (Documentation)** | 30 分钟 | 15 小时 | | **月度基础文档总耗时** | **1.5 小时 / 案** | **至少 45 小时纯机械劳动** | 面对每月至少 30 起高负荷案件,Nina 发现自己整天被淹没在机械流程中,完全无法专注于高价值的战略调查。更令人愤怒的是,公司为此每年向供应商支付 7.5 万美元,换来的却是一个僵硬死板、毫无助益的工具。Nina 心中清楚地构想出一套理想工具:能够自动联动 Coinbase 内部既有系统、自动生成日常所需的所有文书草稿、实现全流程自动化记录。 在 2026 年,这些构想在技术上绝非天方夜谭。然而当她满怀期待地向该软件供应商求助时,得到的答复全是冷冰冰的拒绝: - “能帮我们做这些自动化功能吗?”——**“不能。”** - “能给我们开放接口,让我们基于你们的工具二次开发吗?”——**“不行。”** - “那能支持任何第三方系统集成吗?”——**“绝对不可能。”** 即使愿意花大价钱,市场上也根本买不到满足需求的产品。供应商的连续三个“不”,彻底切断了采购现有商业软件的道路。 --- ### [06:21](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=381s) 周日狂飙 9 小时:从终端密码黑洞到年省四周工时的突破 无路可走的 Nina 在一个周日把自己关了起来。整整 9 个小时,她守在电脑前与 Anthropic 的 Claude 进行了一场近乎疯狂的问答马拉松(她笑着说那天之后家里人都对她“怨声载道”)。她从最底层的业务诉求起步,带着孤注一掷的绝望向 AI 坦白:“这是我的全部工作内容,你到底能不能帮我?” 九小时的历程让她彻底感受到了现代 AI 编程工具的震撼。Claude 首先指引她安装终端智能编程代理 `Claude Code`,但她立刻在第一步卡死了——因为她根本不知道 Mac 上的“终端窗口”是什么。好不容易摸索着打开了终端,输入管理员密码时屏幕上没有任何字符变动(Unix 系统的密码隐形保护机制),她再度陷入懵逼,以为键盘坏了或电脑死锁。 然而,凭借这种近乎“五岁小孩水平”的摸索,每当报错或受阻,她就直接截屏原样贴进 Claude,让它一步一步指引自己往前走。令人难以置信的是,在这漫长的 9 个小时结束时,一个完全跑通的 AI 赋能生产力套件诞生了。当天夜里,Nina 让 Claude 测算这套工具每年能帮自己节省多少工时,得出的结论竟然是:**整整四周(合一个月)的高管工作时间**。仅其中一个子模块就凭空省出了两周工作量。 旁边的 Robert 忍不住插话打趣道,Nina 以为写完代码就大功告成了,她不知道本地笔记本跑通和企业级可用之间隔着十万八千里;更搞笑的是,在帮她做工程对接时,技术团队面临的最严峻挑战之一,竟然是“手把手教这位文科大律师到底该怎么退出 Vim 编辑器”。 --- ### [08:23](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=503s) 四大组件拼图:从手抄笔记本到六年底蕴的“AI 初级律师” Nina 并没有好高骛远,而是采取了极度务实的渐进式路线,从解决手头最痛的微小问题做起: 1. **动态案件跟踪仪表盘 (Case Dashboard)**: 此前在案件激增时,她依赖的竟然是“极其先进”的纸笔笔记本。面对暴增的案量,随身记事本彻底瘫痪。她先让 AI 搭建了一个极简仪表盘,清晰追踪每个案件最后一次处理的时间节点及下一阶段 Action Item,几分钟内便建立了多年来最坚固可靠的跟踪体系。 2. **会议纪要与语义判例检索 (Meeting Briefs & Precedent Search)**: 她训练 Claude Code 解析调查报告和历史案件库。以往需要全凭人脑回忆“以前有没有处理过类似案件”,现在系统能够自动提取并进行语义相似度搜索(Semantic Search)。这让 Nina 在向管理层建言定性违纪行为时,能够以硬核历史数据为依据,迫使决策者严格遵守以往判例的一致性。 3. **交互式年度高管审查报告 (Interactive HTML Annual Report)**: 过去每年面向高管层汇报全年职场调查数据时,Nina 需要耗费 **40 至 60 个小时** 制作一份冗长沉闷的演示文稿。借助 Claude Code,她将制作时间直接压缩到**几个小时**,并且输出形态从枯燥的 PPT 升级为了高信息密度的交互式 HTML 网页,高管们在听汇报时再也不会无聊到打瞌睡。 4. **定制化调查 AI 助理 (Custom Investigation AI Agent)**: 她将自己在 Coinbase 近七年沉淀的全部调查档案注入系统,训练出一个类似“初级律师”(Junior Associate)的定制 Agent。自 2026 年 1 月以来,她起草的每一份调查计划、访谈大纲和结案报告草稿,全部由这位“Claude 虚拟助理”先行生成。 --- ### [10:06](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=606s) 像被仙人掌狂砸的体验:法律写作与代码构建的底层相通 最终,Nina 意识到这原本为了救急写出的四个独立小脚本,本质上是一套环环相扣的案件调查全流程系统。面对外界频繁抛出的疑问——“一个连命令行都搞不清的人,怎么可能做成这件事?”Nina 坦言其秘诀其实相当平淡无奇:**只要卡住就立刻截屏,丢给 Claude AI,问它‘我现在该做什么?’,然后按部就班照做。** 她借用美剧《善地》(The Good Place)里的经典桥段打比方:剧中有个名叫珍妮特(Janet)的非人机器人助理,在程序故障时,每次别人找她要一杯水,她都会递过来一盆仙人掌。“与 Claude Code 结对协同编程的感觉一模一样:它会一次又一次、不厌其烦地塞给你一盆盆仙人掌(各种莫名其妙的报错与走偏),但只要你持续清晰地校正交互,最终你总能拿到属于你的那杯清水。” 更深层的顿悟在于,Nina 发现构建这套系统最艰难的关卡从始至终都不是编写代码,而是一项她作为资深律师早已千锤百炼的核心素养——**极其精准地定义需求,并缜密推演每一个可能出错的边界情况(Edge Cases)**。 - “技术的极限从来不是瓶颈,瓶颈在于你是否能用人类语言把自己真正想要的东西讲清楚。” - 每当她突发奇想:“天呐,要是这个自动生成的文档能直接精准保存到对应的 Google Drive 文件夹该多好?”Claude 就会一步步引导她写出配置逻辑。 - 软件构建的本质退化为了一种写作练习。AI 并没有抹杀或替代 Nina 的专业法律经验,而是充当了杠杆,让深藏于她脑海中的业务专长得以具象化、系统化地“代码化移植”。 ### [11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) 法律与工程的共通性:规范与提示词的力量 法律与软件工程在思维逻辑上有着惊人的相似之处。两者整天都在撰写规格说明(specs)和文档;如果在需求和意图上表达不清,所有协作方都会陷入混乱,最终交付的产品往往也是一场灾难。这种逻辑在与 AI 编程智能体(Coding Agents)协作时同样成立:**对需求和预期的描述越精准、越具体,AI 产出的结果就越理想**。 此前分散的四个业余小项目最终整合成了一套统一的系统——**Casebase**。从核心来看,它是一个专为追踪高并发职场调查而设计的案件管理系统。此前公司每年需要为类似商业软件支付 75,000 美元的订阅费,但功能却无法契合实际需求;而通过 AI 辅助,非技术背景的法务人员仅用几周时间就搭建出了真正贴合自身工作流的系统: - **调查计划生成**:从原始接入记录(intake notes)自动起草调查计划,耗时从原本的 30 至 60 分钟压缩到 2 分钟以内。 - **访谈提纲生成**:在 1 分钟之内即可生成结构化的访谈提纲。 - **完整调查报告撰写**:包含可信度判定(credibility findings)与最终决议的长篇调查报告,生成时间从原本的 5 到 10 个小时大幅缩减至几分钟。 - **判例检索与一致性**:支持检索历史案件判例,确保相似问题获得一致的处理结果,彻底告别“我是否在 2022 年见过类似案件”的困惑。 - **实时分析仪表盘**:动态更新统计数据,免去了为了撰写年度汇报而耗费的大量人工统计时间。 - **企业基础设施打通**:系统无缝集成了 Coinbase 的内部基础设施,包括通过 Glean 进行政策搜索、接入企业级 LLM Gateway,以及与 Google Workspace 联动。 当团队将这一自建成果展示给原本的外部软件供应商时,对方直接放弃了续约推销。供应商坦言:**从零开始以 AI 为核心构建系统(AI-First),与在未考虑 AI 的传统遗留架构上强行拼凑 AI 功能(Bolting AI on),存在着本质区别**。正是这种架构层面的先发优势,让非技术人员能够在几周内实现超越。 --- ### [14:24](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=864s) 个人项目与企业部署的天壤之别 在此之后,个人端又诞生了一个更为宏大的版本——**Violet**。Violet 具备更强大的功能,能够处理远超一般大模型上下文极限的超大型案件。然而令人深思的是:作为个人项目的 Violet 构建起来异常顺畅,因为个人开发时“在自己与下一个功能之间没有任何阻碍”;但将 Casebase 作为企业级工具落地时,情况却完全相反。 在 Coinbase 这样的企业内部上线任何软件,都必须经过严格的权限审核、代码审查与合规批准。这并非官僚主义,而是面向成千上万用户并处理极度敏感数据时所必须承担的底线责任。**AI 能够赋能个体快速把软件“造出来”,但无法凭空赋予它在企业级规模下“值得被信赖”的安全与可靠性**。弥合“我做出来了”与“企业可以放心依赖”之间的鸿沟,正是平台与基础设施工程师介入的核心价值所在。 ```mermaid flowchart TD accTitle: Individual Prototype vs Enterprise Production Pipeline subgraph Prototype ["个人原型阶段 (Vibe Coding)"] A["法务/业务专家提出需求"] --> B["Claude Code 辅助生成代码"] B --> C["本地跑通 MVP 功能"] end subgraph EnterpriseGap ["企业级落地鸿沟"] C -. "缺乏企业标准与合规".-> D{"工程与安全加固"} end subgraph Production ["企业生产环境 (Golden Path)"] D --> E["统一标准框架 (React + Golang)"] D --> F["企业级 Auth / RBAC / SAML"] D --> G["合规基础设施 & 密钥托管"] E & F & G --> H["生产环境安全部署上线"] end ``` --- ### [15:31](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=931s) “氛围编码”遭遇现实:技术栈混乱与伪安全漏洞 在 Coinbase 内部,工程团队为生产部署设立了明确的“黄金通道”(Golden Paths / Paved Roads)。但这些规范往往只存在于工程师的认知中,业务人员(如法务)根本无从知晓诸如 GraphQL 与直接数据库调用的差异、或是应当采用何种数据库后端。一些公民开发者交付的应用甚至直接拿 Google Sheets 当作后端数据库,仅仅是因为他们习惯了在表格里做数据透视表。虽然 Casebase 稍微好一些(使用了 SQLite),但距离企业级部署要求仍有巨大差距: ``` +-------------------+-----------------------------+----------------------------+ | 架构维度 | 业务人员本地构建现状 | Coinbase 企业生产标准 | +-------------------+-----------------------------+----------------------------+ | 前端框架 | AngularJS + Vue.js + Vite | ReactJS (统一规范) | | 后端技术栈 | Next.js | Golang (统一规范) | | 数据库方案 | 本地 SQLite 文件 | 企业级托管数据库集群 | | 权限与认证 | 伪代码模拟 (前端输入即通过) | Okta / SAML / 真实 RBAC | | 密钥与凭证管理 | 明文硬编码存放在 Git 仓库中 | 集中式企业级 Secrets 托管 | +-------------------+-----------------------------+----------------------------+ ``` 在权限控制方面更是暴露了典型的“幻觉安全”:当要求 Claude 为应用添加基于角色的访问控制(RBAC)和账号密码登录时,前端界面看起来完美无缺,登录后甚至展示了对应的头像和用户名。然而,工程团队介入测试时发现,只要在用户名和密码框输入任意乱码,系统就会直接通过验证并赋予对应身份的最高权限。这种“看起来在工作、底层完全失效”的漏洞,正是公民开发必须跨越的技术陷阱。 --- ### [19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) 从事后加固转向平台赋能:连锁安全风险防范 为了解决代码规范问题,工程团队最初编写了专用的 Agent 工具,自动扫描代码库并生成符合企业黄金通道的重构计划。但这种方式很快遇到了新瓶颈:Agent 输出的依然是纯技术语言,要求业务人员去配置 LDAP 用户组、申请 Okta SAML 接入、自建托管数据库等。非技术人员对于编程的理解通常仅停留在“前端和后端”,面对这些底层的企业基础设施配置根本无从下手。 这促使工程团队深刻意识到:**不能仅靠事后去帮业务人员加固(Hardening)代码,而必须从一开始就构建面向公民开发者的平台能力**。在最终打通系统的过程中,团队彻底修复了身份鉴权、数据库托管以及 API 密钥管理等核心隐患。 在高度集成的现代 AI 应用中,安全漏洞具有极强的连锁反应破坏力: - 如果 API 密钥以明文形式残留在 Git 代码库中并发生泄露,攻击者就能伪造高管或核心法务的身份。 - 借助下游系统(如企业知识库 Glean)所连接的各类 Agent Tool Calls,攻击者可以发起任意数据查询,甚至以受害者的身份在 Slack 等即时通信工具中发送钓鱼指令。 - 在高度互联的 AI 生态下,**“单一节点的漏洞不再只是局部问题,而是会引发整条链路的雪崩式风险”**。 ### [22:51](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1371s) 合规审计、生产运维成本与现实权衡 在企业级环境中,构建软件不仅要考虑功能实现和网络安全,合规性与审计追踪(Auditing)更是不可逾越的红线。Coinbase 作为一个受监管的金融机构,系统内部的每一次操作都必须有据可查。如果发生安全事故或系统故障,企业绝不能给出“我们没有相关日志”这样的回答。在对 Nina 开发的案件管理系统进行全面评估时,团队遇到了一个现实的阻碍:将应用完全推向生产环境(Production)所需的长期维护成本极高。 生产环境意味着必须有专门的工程团队进行维护和轮值(On-call)。全民开发者(Citizen Developer)并没有签过“凌晨两点被 PagerDuty 报警惊醒去修 Bug”的合同。Nina 幽默地表示,自己每天下午 4:30 准时“变成南瓜”下班,而工程师们却深知夜间值班的痛苦。Robert 算了一笔账:如果一名工程师能维护 15 个此类应用,为了保障合理的排班轮换,至少需要 3 名工程师组成运维梯队,人力投入轻松超过 200 万美元。这让最初为了省下 7.5 万美元采购费而进行的“氛围编码”(vibe coding)在全面上线生产时显得经济效益不足。 ```mermaid flowchart TD accTitle: 生产环境运维成本与轮值挑战 subgraph DevCost["开发与维护的现实矛盾"] A["业务端: Vibe Coding 快速原型<br/>节省 7.5 万美元软件采购费"] --> B{"尝试全面推向生产环境"} B --> C["合规审计缺失: 无操作审计日志"] B --> D["运维人力成本: 需 3 名工程师轮值 (On-call)"] D --> E["团队成本超 200 万美元"] end ``` - **生产运维红线**:合规环境要求对所有数据访问与修改进行完整记录,无日志记录在金融监管场景下属于严重违规。 - **值班排班机制**:单一人员 100% 时间处于 On-call 状态会导致人员崩溃,建立健康的轮值制度至少需要 3 名工程师。 - **成本倒挂**:单个小型工具如果强行按照全套生产标准进行专人维护,其运维人力开销会远超外部商业软件的采购许可费用。 --- ### [25:28](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1528s) 折中妥协:本地运行、数据备份与风险控制 安全团队的传统做法往往是冷硬的“按规矩办,否则开除”,但 Coinbase 团队不希望扼杀 Nina 的创新成果。Nina 开玩笑说,如果按传统安全流程开除违规工具使用者,作为负责调查与伦理的合规主管,她必须向自己发出日历邀请来“自己开除自己”。为了兼顾业务价值与数据安全,工程团队设计了一套务实的过渡方案:允许 Nina 在本地笔记本电脑上继续运行该工具,同时由工程师协助为她增加自动备份功能。 系统在每日启动时会自动将所有案件数据备份并同步到中心化安全存储中。这样即便本地电脑损坏,最多也只损失几小时的数据。Robert 强调,企业必须在数据可用性、完整性与成本之间做出理性平衡:为了追求“8 个 9”的可用性去花费 10 亿美元,但业务产出只有 1 亿美元,这在商业上是完全不成立的。此外,他们还顺便将容器运行环境从需要付费商业许可的 Docker Desktop 替换为了免费开源的 Podman。 - **安全边界的平衡**:不直接禁用本地构建的高效工具,而是通过补齐自动备份机制来化解本地运行带来的单点数据丢失风险。 - **业务现实需求**:由于公司没有增加合规人手的预算,面对 1 月份翻倍的案件量,Nina 只能依靠自己构建的 AI 工具作为“数字员工”来支撑业务运转。 - **环境成本优化**:针对 Docker Desktop 对企业端收费的问题,工程团队推荐并协助切换至开源的 Podman 容器方案。 --- ### [28:12](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1692s) 生产环境的非妥协要素与 AI 辅助平台的构想 AI 改变了“谁能够编写代码”,但丝毫没有降低“生产环境对系统架构的要求”。未经工程化约束的 AI 代码如果直接暴露在外,缺乏速率限制(Rate Limits)和密钥保护,不仅会带来安全漏洞,还可能导致巨额账单。Nina 分享了自己此前为孩子开发旅行规划工具的趣事:由于没有做好调用控制,几轮对话下来就悄悄花掉了 80 美元。 在企业级环境中,数据保护、全链路操作日志、审计跟踪以及软件依赖包的安全性是绝对不可妥协的底线。大语言模型由于训练数据具有时间滞后性,自动生成的代码往往依赖一年前存在已知漏洞(CVE)的旧版本软件包。为了从根本上解决全民开发者的安全与运维痛点,Coinbase 工程团队决定构建一个“高度主见的 AI 编码助手平台”(Hyper-opinionated AI Coding Assistant)。 ```mermaid flowchart LR accTitle: 强主见 AI 编码助手平台工作流 subgraph Input["用户需求输入"] P["全民开发者提出需求 Prompt"] end subgraph Decision["平台智能判断与引导"] P --> Check{"评估是否已有现成工具?"} Check -- "是 (如数据搬运)" --> LowCode["引导使用 n8n 等现有无代码工具<br/>并协助生成工作流"] Check -- "否 (确需定制开发)" --> Scaffold["生成规范架构设计方案<br/>内置认证、日志、最新依赖与安全护栏"] end subgraph Output["交付成果"] Scaffold --> SafeProd["可安全推向生产的标准应用"] end ``` - **生产非妥协核心**:数据强隔离防护、每一次数据访问的完整审计追踪、防范 CVE 漏洞的依赖包自动更新机制。 - **语言与架构蔓延(Sprawl)**:企业内部如果任由各种语言(Python、Go、Java 等)和各异架构野蛮生长,后期的审计与维护将成为灾难。 - **智能意图分流**:当用户提出简单的跨应用数据同步(如 Google Sheets 到 Google Docs)时,平台会主动纠正并引导使用现成的自动化工具(如 n8n),并协助其编写工作流,避免盲目新建系统。 --- ### [31:47](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1907s) 护栏下的自由:经验反思与现场问答开启 回顾整个协作过程,Nina 幽默地表示自己这辈子再也不想去配置 Cloudflare 的各种网络设置了。她得到的最大教训是“前置思考”并在早期就与资深工程师沟通,明确符合企业规范的架构标准(What good looks like)。Robert 则反思道,许多时候业务人员不是想法不合逻辑,而是被企业内部极其复杂、混乱的技术文档所阻碍——长达 55 步的 Confluence 页面、没有解释的 PR 链接让非技术人员无所适从。 团队的最终目标是提供“护栏之内的自由”(Freedom within guardrails):通过 AI Agent 代替人工去理解复杂的企业基础设施,帮助业务人员完成架构规划与合规编码,杜绝随意将不可靠代码直接扔向生产环境(Yoloing code to production)的做法。演讲结束后进入问答环节,现场一位全民开发者提问:如果企业内部没有像 Robert 这样懂架构的资深工程师贴身指导,普通业务人员该如何弥补认知盲区、规避类似的安全与工程陷阱。 > "我们通过设置护栏赋予了全民开发者充分的自由……它帮助他们规划并执行,有效制止了把代码盲目推向生产环境(Yoloing code to production)的行为。" ### [34:13](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2053s) AI 编程工具的“谄媚”与全民开发者的代码识别能力 在讨论全民开发者(Citizen Developers)如何面对 AI 编程助手时,Robert 提到了一个普遍且棘手的现象:像 Claude Code 这样的工具很容易“迎合”用户,甚至在没有正确答案时“一本正经地胡说八道”。当你向 AI 提出某个猜测并让它去排查时,AI 往往会顺着用户的思路附和:“你说得对,问题就出在这里,原因如下……”即使那个方向完全南辕北辙。由于缺乏深厚的技术背景,业务侧的开发者往往只能寄希望于 AI 不会撒谎太多。 针对这种情况,Robert 对没有太多技术资源支持、独自摸索的非技术开发者提出了关键建议:**无需精通如何一行行写代码,但一定要理解最核心的基础编程概念,从而具备识别“坏代码(Bad Code)”的能力。** 他以 Nina 的应用为例说明了代码混乱的代价——原本只是想修改所有页面上某一个按钮的颜色,按规范应该只需在 CSS 样式表的一处做微调,结果 AI 却直接生成了高达 1400 行的代码变更。更夸张的是,这背后的原因竟然是整个项目在东拼西凑下引入了三个完全不同的前端框架。 ```mermaid flowchart TD accTitle: AI 编程中的顺从盲区与坏代码识别 subgraph S1["AI 协作陷阱"] A["开发者提出假设: '可能是这里的问题'"] --> B["AI 顺应迎合: '完全正确,原因如下...'"] B --> C["引入复杂/冗余代码"] end subgraph S2["典型坏代码反模式 (以按钮换色为例)"] D["预期实现: 修改单个 CSS 样式定义"] E["实际生成: 跨 3 个前端框架产生 1400 行变更"] end C -.-> E ``` - **核心建议**:全民开发者不一定要会写底层代码,但必须建立对代码结构和基本逻辑的直觉,能够察觉出异常臃肿或不合理的实现方式。 - **典型反面教材**:一个简单的全局按钮改色操作,由于混合使用了三种前端框架,导致了 1400 行的代码级重构。 --- ### [35:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2144s) 数字化操作手册与“通用智能体 vs 专用子智能体”的权衡 现场观众向 Robert 提问:企业内部通常都有详尽的 Confluence 文档和数字化操作手册(Digital Playbooks),涵盖前端、后端、网络安全(Cyber)、身份与访问管理(IAM)等各类规范要求;未来是否有可能将这些手册模块化拆分为一个个专门的“子智能体(Sub-agents)”,在全民开发者立项之初就协助其理解企业规则? Robert 认为这一思路完全可行,但哪种方案更高效仍需实践检验。从架构维护的角度来看,如果构建一个能够理解各种手册的**通用智能体(Generalized Agent)**,直接让它检索既有文档,其维护成本远低于维护大量细分领域的专用智能体。例如在 Coinbase 内部,团队引入了企业级知识搜索引擎 Glean,它对全公司所有系统的数据进行了索引;通用智能体可以直接查询 Glean 来获取所需规范。不过 Robert 也补充道,这种做法的前提是企业拥有较高的数据成熟度和规范清晰度;如果组织的数据质量较差、手册凌乱,那么针对特定流程定制专门的子智能体可能会更有效。 ```mermaid flowchart LR accTitle: 企业规范落地方案对比 subgraph Generalized["通用智能体方案 (Coinbase 实践)"] G1["通用智能体"] --> G2["Glean 企业知识检索"] G2 --> G3["全量数据与规范索引"] end subgraph Specialized["专用子智能体方案 (数据不够规整时)"] S1["前端/后端规范 Agent"] S2["安全/IAM 规范 Agent"] end ``` - **通用智能体优势**:架构简单,直接挂接企业知识库(如 Glean),维护门槛低,适合文档规范健全的成熟团队。 - **专用智能体适用场景**:适合数据整理不够规范、操作手册较为分散或处于初期阶段的企业组织。 --- ### [37:43](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2263s) 早期技术介入的价值与总结致谢 在被问及“如果在项目刚启动时就联系 Robert 并了解所有合规与安全限制,是否还会坚持做下去”时,Nina 坦言,如果当时能得到平台工程团队的指导,这个应用早就通过 Okta 完成身份验证并安全部署上线了,而不是长期停留在本地运行的阶段。她回忆道,在项目初期“全民开发者”这个概念甚至都还没流行开来,她并不知道公司内部有像 Robert 这样的 SRE 专家可以提供帮助,只知道自己拿到了 Claude Code 工具的访问权限,便凭着一股冲劲开始自己倒腾。 Robert 随后补充呼吁,许多工程师表面上看起来严肃或“脾气暴躁(grumpy)”,但实际上当其他业务部门的同事主动寻求技术帮助时,技术人员往往非常热情,非常乐于分享知识并协助将原型转化为可靠的企业级应用。在观众的热烈掌声中,两人结束了本次演讲,并邀请有进一步交流意向的参会者在会场外继续探讨。 - **业务与工程协作的意义**:非技术开发者尽早与安全及平台工程团队对齐,能避免代码返工,直接构建出具备 SSO、RBAC 等企业级安全特性的可用系统。 - **打破部门壁垒**:鼓励业务侧大胆向工程团队寻求支持,通过结对协作将业务痛点与平台工程规范高效融合。 ## Notable quotes > [00:04](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=4s) 当下构建软件的门槛已经彻底坍塌,然而在企业内真正运行、维护和部署软件的门槛却分毫未降。 — Nina Eisenberg > [02:17](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=137s) 当缺乏防护围栏的初学者/公民开发者手握 AI 肆意写代码时,其终局必然是制造出灾难性的安全漏洞。 — Robert Greisemer > [10:06](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=606s) 技术的极限从来不是瓶颈,瓶颈在于你是否能用人类语言把自己真正想要的东西讲清楚。 — Nina Eisenberg > [11:44](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=704s) 从零开始以 AI 为核心构建系统(AI-First),与在未考虑 AI 的传统遗留架构上强行拼凑 AI 功能(Bolting AI on),存在着本质区别。 — Nina Eisenberg > [14:24](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=864s) AI 能够赋能个体快速把软件“造出来”,但无法凭空赋予它在企业级规模下“值得被信赖”的安全与可靠性。 — Robert Greisemer > [19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) 不能仅靠事后去帮业务人员加固代码,而必须从一开始就构建面向公民开发者的平台能力。 — Robert Greisemer > [19:00](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1140s) 单一节点的漏洞不再只是局部问题,而是会引发整条链路的雪崩式风险。 — Robert Greisemer > [31:47](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=1907s) 我们通过设置护栏赋予了全民开发者充分的自由……它帮助他们规划并执行,有效制止了把代码盲目推向生产环境的行为。 — Robert Greisemer > [34:13](https://www.youtube.com/watch?v=tRu6xQ9_bAo&t=2053s) 无需精通如何一行行写代码,但一定要理解最核心的基础编程概念,从而具备识别“坏代码”的能力。 — Robert Greisemer ## Mentioned Nina Eisenberg, Robert Greisemer, Coinbase, Anthropic, Claude, Claude Code, Casebase, Violet, Glean, Okta, Google Workspace, Google Sheets, Google Drive, Podman, Docker Desktop, Cloudflare, n8n, Slack, PagerDuty, Confluence, The Good Place ## Video description Robert Greisemer - Sr. SRE, Core AI Infrastructure, Coinbase Nina Eisenberg - AGC, Workplace Ethics & Investigations, Coinbase What happens when the tool your enterprise team needs does not exist — and the person closest to the problem is not an engineer? This talk will illustrate how a non-technical lawyer used AI coding tools to build an enterprise AI application after existing vendor options could not meet the team’s needs. The broader lesson is timely for AI4’s audience: as AI coding and agentic tools mature, domain experts can move from “requesting software” to building meaningful prototypes themselves, but enterprise deployment still requires security, reliability, privacy, and operational guardrails. We will walk through the journey from a local “vibe-coded” MVP to an enterprise-ready application, including the practical controls needed to harden AI-assisted builds: authentication, RBAC, PII handling, observability, testing, and secure deployment patterns. Attendees will leave with a real-world collaboration model for pairing domain expertise with security and platform engineering so teams can move fast without creating unacceptable risk. If you are trying to understand what AI-enabled builders mean for the future of enterprise software, this talk will show what is already possible — and what it takes to make it safe. [Source](https://www.youtube.com/watch?v=tRu6xQ9_bAo)

Source quotes

[0:04] Nina Eisenberg: 当下构建软件的门槛已经彻底坍塌,然而在企业内真正运行、维护和部署软件的门槛却分毫未降。 [2:17] Robert Greisemer: 当缺乏防护围栏的初学者/公民开发者手握 AI 肆意写代码时,其终局必然是制造出灾难性的安全漏洞。 [10:06] Nina Eisenberg: 技术的极限从来不是瓶颈,瓶颈在于你是否能用人类语言把自己真正想要的东西讲清楚。 [11:44] Nina Eisenberg: 从零开始以 AI 为核心构建系统(AI-First),与在未考虑 AI 的传统遗留架构上强行拼凑 AI 功能(Bolting AI on),存在着本质区别。 [14:24] Robert Greisemer: AI 能够赋能个体快速把软件“造出来”,但无法凭空赋予它在企业级规模下“值得被信赖”的安全与可靠性。 [19:00] Robert Greisemer: 不能仅靠事后去帮业务人员加固代码,而必须从一开始就构建面向公民开发者的平台能力。 [19:00] Robert Greisemer: 单一节点的漏洞不再只是局部问题,而是会引发整条链路的雪崩式风险。 [31:47] Robert Greisemer: 我们通过设置护栏赋予了全民开发者充分的自由……它帮助他们规划并执行,有效制止了把代码盲目推向生产环境的行为。 [34:13] Robert Greisemer: 无需精通如何一行行写代码,但一定要理解最核心的基础编程概念,从而具备识别“坏代码”的能力。

Source quotes

[0:04] Robert Greisemer: The barrier to building software has collapsed while the barrier to running it hasn't moved. [2:17] Robert Greisemer: AI in the hands of a novice citizen developer with no guardrails, it ends in security vulnerabilities. [2:17] Nina Eisenberg: Nice to meet you all. I'm the cost center [6:20] Robert Greisemer: You can't just have something run on a lawyer's laptop and say, 'Good enough, everybody have fun. We've opened up an ngrok tunnel to it.' [8:29] Nina Eisenberg: Claude didn't replace my expertise. It just made my expertise portable. [11:44] Nina Eisenberg: never sleeps and never tells me off. [13:48] Nina Eisenberg: AI let me build the thing. What it could not do was make it safe to trust at enterprise scale. The gap between 'I built it' and 'you can rely on it' is exactly where Robert comes in. [15:31] Robert Greisemer: Guess what? I'm Nina now. [22:51] Nina Eisenberg: I turn into a pumpkin at 4:30 every day

Original transcript

[0:04] I studied philosophy at a liberal arts  college. I can write you a beautiful [0:09] essay. Cannot fix the Wi-Fi. A few months  ago, I didn't know what a terminal was. Today, [0:16] I'm going to tell you about an AI application that  I built to replace a $75,000 a year enterprise [0:24] case management tool. Now, this started as a story  of necessity. I had more cases than I could handle [0:32] and a vendor that told me no. So, I built my own  solution. But it turned into a bigger story. The [0:40] barrier to building software has collapsed while  the barrier to running it hasn't moved. That's [0:47] what Robert and I want to discuss here with you  today. Now, I'm Nenah, an attorney investigator. [0:54] I run workplace ethics and investigations at  Coinbase. My job sounds like a scary one. I'm the [1:01] person you sit down with if you're suspected of  misconduct or of doing something wrong. These are [1:06] some of the toughest, highest stakes conversations  out there, and my whole craft is walking into them [1:12] with empathy. Over nearly seven years at Coinbase,  I've investigated a true variety of cases, [1:19] and my background is entirely non-technical. I  have degrees in philosophy and Russian literature, [1:25] among other subjects. Um, what I'm not is an  engineer. Nobody with my qualifications has [1:31] or rather had any business building software.  As of January 2026, I had only ever used AI the [1:39] way most people do as a chatbot. Um, so I'm on  one end of the spectrum, deep domain expertise, [1:47] zero technical background. And to actually get  something like this running at a company like [1:52] Coinbase, you need the other end of the spectrum,  too. That's Robert. and I'll let him introduce [1:56] himself. Hey everyone, I'm Robert. Uh complete  opposite of Nenina. I have no domain expertise [2:03] at all, but I do know how to deploy applications  within our organization. Uh I've been in the tech [2:09] field for, you know, almost 18 years now. Uh from  everything between security and uh AI today. So, [2:17] off to you. You're right. Here's the big idea  I want to plant right now before I tell you my [2:23] story. An attorney with zero coding background can  now build something real. What I can't do alone at [2:31] least is run it. Now, the person who understands  the problem best used to have to wait in line and [2:38] then settle for someone's poor imitation of the  solution. Not anymore. With domain expertise and [2:44] AI tooling, you too can get your hands dirty and  build a working product that actually does what [2:51] you need it to do. Yeah. And for years on my side  as a consultant, I saw this happen all the time. [2:57] Businesses had problems that they needed to have  solved, broken processes that just it only really [3:03] impacted like one or two or three people. So like,  you know, if someone wants to go and take all of [3:08] the accounts billables and then take that and  print them out and handwrite every single line [3:14] and then take it to the receivables department  and hand it to them and tell them to input it [3:18] into the computer system. They just kind of let  that keep happening because really they were [3:23] getting their job done. Everything was paid for.  The there's no problem, right? Like that's just [3:28] their that's their job. They've accepted it.  Um consultants would see it all the time, but [3:33] at the end of the day, there was never any money  in fixing those problems. There was no return on [3:38] the investment. They couldn't fire people because  of it. They couldn't replace them. They couldn't [3:42] even increase their volume significantly. Right?  So these just always went by the wayside because [3:48] they were part of a cost center. It is what it is.  It doesn't make the business money. Just problems. [3:54] Deal with it. It's fine. Every job has them. So  nowadays that barrier kind of goes away a little [4:01] bit. Not completely, but these small problems  that people run into, they can actually try to fix [4:06] them themselves, right? We just have to give them  the tools to be able to do so safely. And today, [4:13] right now, AI in the hands of a novice uh citizen  developer with no guardrails, it ends in security [4:20] vulnerabilities. So, I just came in to help Nina  get this deployed. Nice to meet you all. I'm the [4:27] cost center. [laughter] So, let me take you back  to the problem. My job is to investigate anything [4:34] that walks through the door in a given month.  that can include harassment, discrimination, [4:40] security issues, insider threats, and other  policy violations. These are all highstakes cases, [4:46] and each one comes with a mountain of manual  work. To track this work, I used a case management [4:53] system that allowed me to gather evidence in an  organized manner in order to write custom reports [4:58] that synthesized the key aspects of each case. In  January 2026, I don't know what was in the water. [5:05] I don't know if Mercury was in retrograde. That's  that's a lie. I did check. Mercury was not in [5:09] retrograde. Um, but I got double the usual number  of cases. What does double mean in practice? Well, [5:16] let's break it down. For every case, I used to  spend 30 minutes building an investigation plan, [5:21] another 30 drafting each and every interview  outline, then 30 minutes documenting each case. [5:28] Multiply that across 30 cases a month and I'm  drowning in process and not doing the strategic [5:33] parts of my job. And even worse, we were paying  $75,000 for this privilege for a case management [5:41] tool that did not help my work at all. The  frustrating part was that I could dream up [5:47] a tool that would fix this. I could connect  it to the coinbased systems I already use, [5:53] have it draft artifacts that I write by hand every  day, automate the documentation. In 2026, none [6:00] of this is science fiction. So when I asked the  vendor, can you do this? The answer was no. Um, [6:07] I asked, can I give can you give me a way to build  on top of your tool? Also no. Can you integrate [6:13] with anything? Absolutely not. Um, I wasn't asking  for the impossible. I just couldn't buy it even [6:19] for a lot of money. So one Sunday for about nine  hours, yes, my family hated me after this. Um I [6:27] sat with Claude and I asked a lot of questions.  Um I started by describing my job and asking [6:35] desperately, I'll admit, um whether AI could  actually help me. Um I went to school for 20 years [6:41] to earn all my degrees and at the end of those  nine hours, Claude had thoroughly humbled me. [6:47] I started small. Claude told me to install  something called Claude Code and I got stuck [6:53] on step one because as you guys know, I didn't  know what a terminal window was. Even worse, once [6:57] I learned what a terminal window was, didn't know  how to type in my password when I couldn't see the [7:01] characters go in. These were the basic stumbling  blocks. But at the end of that day, I had a [7:06] working AI enabled productivity suite. Now, Claude  was my guru the whole time. I asked a million [7:13] questions. I pasted every screenshot. and I let it  walk me through things that probably a 5-year-old [7:19] could have done. But here's what surprised me.  The hardest part wasn't the code. It was a skill [7:26] I already had as a lawyer, clearly describing what  I wanted and thinking through every edge case. At [7:34] the end of the day, I asked Claude to calculate  how much time it had saved me with those nine [7:38] hours of work. And the estimate it came up with  was four weeks a year. Four weeks. I know I'm not [7:44] an engineer, but that's a lot of expensive time.  Um, I couldn't believe it. Even one project alone [7:50] saved me two weeks. Yeah. And you know what Nah  didn't know was that just writing the code was [7:55] the beginning of it. She had it running on her  local laptop, and that's amazing. That's a great [8:01] step forward, but there's tons of other things  that you need to do to have an application ready [8:06] for the enterprise. You can't just have something  run on a lawyer's laptop and say, "Good enough, [8:11] everybody have fun. We've opened up a gro  tunnel to it. Just hit the end point, right? Um, [8:17] and another thing here is we also had to teach  Nenah how to exit Vim. It was one of the hardest [8:23] problems to solve. Uh, so I started by solving the  smallest viable problem. Up to that point, I had [8:32] tracked my cases in a really sophisticated system  called pen and paper. And at double the case [8:37] volume, I realized that the handydandy notebook  was not going to cut it anymore. So, I built a [8:43] simple dashboard to track when I last touched a  case and what the next step was. And in minutes, [8:49] I had a more durable, organized system than I'd  had in years. Then, I taught Claude Code to create [8:56] meeting briefs from my reports and historical case  record. instead of searching my memory for whether [9:02] I'd seen a similar case before, Claude would now  s pull up semantically similar cases um for me. Um [9:10] and then that led me advise our decision makers  on precedent and actually hold them to it with [9:15] real data. Then the annual report. Now this is a  presentation that used to take me 40 to 60 hours [9:23] to create. It was for our execs. It went through  the entire year of workplace investigations data. [9:28] with cloud code. I got that whole process down to  a handful of hours and it was actually better. Um, [9:35] it was denser with more data, more insight,  and it was an interactive HTML, so my execs [9:41] didn't fall asleep during the presentation as  they had for years in the past. And finally, [9:46] um, I built a custom AI agent. Um, it was trained  on six years of documented investigations the [9:53] entire time I had been at Coinbase that works  like a junior associate. Since January, my little [9:59] claw junior associate has created every draft of  every artifact I've created. Now, at some point, [10:06] I looked up and I realized these weren't four side  projects. They were really one system. But before [10:12] I get to that, um, I want to kind of answer the  basic question that I get a lot. How does someone [10:18] who didn't know what a terminal was do any of  this? And my honest answer is almost boring. [10:25] Every time I got stuck, I took a screenshot. I  pasted it into claude code. Sorry, Claude AI. Um, [10:32] and then I asked, "What do I do now?" And I did  the next thing and then the next. And the back [10:37] and forth was the whole process. If you guys have  seen The Good Place, there is a character named [10:42] Janet who is a robot, though she says not a robot.  Um, and at one point Janet breaks and every time [10:48] somebody asks her for a glass of water, she hands  them a cactus. Working with Claude Code was like [10:53] being handed a cactus over and over and over,  but eventually I got my glass of water. What [10:59] surprised me was what that made me capable of. I  could build as much or as little as I could dream [11:06] up. I could say, "Dang, wouldn't it be nice if  this autogenerated artifact just went and saved [11:12] itself to the right Google folder and then Claude  would walk me through how to build exactly that?" [11:18] The limit was never the technology. It was my  ability to describe what I wanted. And then that, [11:26] it turns out, is the lawyer's core skill. Um,  it was an exercise in writing more than anything [11:31] else. If you can articulate a problem clearly and  think through the ways in which it might go wrong, [11:37] you can build the solution. Claude didn't replace  my expertise. It just made my expertise portable. [11:44] Yeah. Legal and engineering are very very similar  in a way, right? Like we spend all day writing [11:49] specs and docs and all of those great things.  And when we don't properly tell people what we're [11:55] trying to build, everybody gets confused. The  product at the end of the entire day is pretty [11:59] much horrible, right? So when we're talking  about, you know, working with coding agents, [12:05] the same deal applies here. The more specific  you are about what you need and what you want, [12:10] the better the outcome that you'll have. So I told  you that my four side projects were really one [12:17] system. And that system got a name, case. I hear  it's a terrible name, but we're going to go with [12:23] it. Okay. Um, this is everything I just described  in one application built the way that I actually [12:29] investigate. At its core, it's a case management  system. It's built to track large volumes of [12:35] workplace investigations. In other words, it's the  thing we've been paying $75,000 a year for, except [12:42] this one actually does what I need, and I built it  in a few weeks. On top of that sat the pieces that [12:48] gave me my time back. Investigation plans drafted  from my intake notes in under two minutes. That [12:54] used to take half an hour up to an hour. Interview  outlines in under a minute. and structured [12:59] investigation reports, pages, pages at once with  credibility findings and determinations created in [13:05] minutes when that used to take me 5 to 10 hours.  Um, this was like having a junior associate who [13:10] never sleeps and never tells me off. Now, there  were two things that made it more than just a [13:16] document generator. It searches my past cases for  precedent. So, similar solutions get consistent [13:22] outcomes. There's no more, "Wait, did I see this  in 2022?" And I get an analytics dashboard that [13:29] is constantly updating. So I don't have to spend  however many hours creating an annual report. And [13:35] here's the part that matters most for where this  talk is going. CSB plugs into Coinbase's actual [13:41] infrastructure. Glean for policy search, the LLM  gateway for AI, and Google Workspace. Not just a [13:48] toy, but actual software. Now, here's a fun story.  When I finally showed the vendor what I'd built, [13:55] something interesting happened. they stopped  trying to get me to renew. Um, but what they [14:00] said is something that also stuck with me. Um,  they pointed out that building something AI [14:06] first from scratch is completely different than bu  bolting AI features onto a legacy system that was [14:12] never designed for it. And they were right.  That head start is exactly why someone like [14:18] me could leapfrog them in a few weeks. Now,  here's the part that genuinely surprised me, [14:24] and it's the whole reason Robert is standing up  here, other than he's amazing. Um, on my own time, [14:30] as a personal project, I built a second, even more  ambitious version of these ideas, and I called her [14:37] Violet. And Violet has even more features than  Casebase. It can handle larger cases that would [14:43] normally blow past an AI's limits. And here's the  strange part. Violet, my personal project, was far [14:50] easier to build than Casebase, the work tool.  Outside a company, there was nothing standing [14:55] between me and the next feature. But inside a  company, it's a different world. To actually [15:01] ship something at Coinbase, you need permissions  and reviews and approvals. I can't make a change [15:06] to the whole without a whole process behind it.  And that's not bureaucracy for its own sake. It [15:11] it's what it takes to run software that serves  thousands of people and the most sensitive data. [15:16] So AI let me build the thing. What it could not do  was make it safe to trust in an enterprise scale. [15:24] The gap between I built it and you can rely on  it is exactly where Robert comes in. Yeah. And [15:31] I don't just bring the humor, you know, uh I am a  little bit of the comedic relief, but I was pulled [15:37] in because Nenah had built something amazing. Our  executive team had loved it. They think that it [15:42] really provided value and helped everybody, you  know, uh, treat these cases more correctly, right? [15:50] And one of the key things here that we wanted to  do was identify what were the gaps when a citizen [15:58] developer wanted to build something inside  of Coinbase, right? Because as you all know, [16:04] every company that you work in, there's going to  be these things called paved roads or golden paths [16:09] or whatever you guys call it, right? These are  the happy paths that everybody knows works. But [16:15] that's only really known to engineers because do  you really expect a lawyer to know the difference [16:19] between GraphQL and just a direct database call?  What about even what type of database to use? You [16:25] know, I've seen a few different apps that have  been delivered to me and they're using Google [16:28] Sheets as the backend, right? like and you talk  to them about it and you ask like why did you [16:33] get here and they said well I wanted to make pivot  tables inside of my database and you're like well [16:38] I I completely understand where you're going  but we can't deploy a critical application to [16:44] Coinbase infrastructure that uses Google Sheets  as a database backend now was a lot better than [16:50] that at least use SQL light so we're we're really  on par there so what we did was we investigated [16:57] the gaps between Nenah's deployment and what we  needed to be able to deploy inside of Coinbase. [17:03] And we found quite a few gaps. So, we like to say  vibes meet deploying. Nah's the citizen developer. [17:14] I'm the enabler of the citizen developers. We're  really just here to make sure that when they build [17:20] something that's helpful to them that they can  actually leverage that tool. So, when I first took [17:26] a look at Nenah's project, I went through the UI.  Everything was great. Everything was fantastic. [17:31] You clicked all the buttons, they all worked. You  know, setup was pretty simple. I could just run [17:36] it on my local machine. Uh, and then I did I dug a  little bit deeper. I looked at the actual codebase [17:42] and for some reason there was AngularJS and  Vue.js and Vite and, you know, we ended up with [17:50] three different front-end frameworks inside of one  codebase. It certainly worked. I'm not really sure [17:55] how Claude managed to get that to function, but  it did do it right now. But in Coinbase, we have [18:01] our standard, which is ReactJS, right? Uh, and we  also have our backend standard, which is Golang. [18:07] Her entire application's back end was written in  Nex.js, you know? So, we had a lot of converting [18:12] to do and on top of that, there was like a lot  of permissions levels errors, right? We had told [18:18] Claude, just add Rback to the application. We need  to have specific roles for specific users and they [18:26] need to be able to log in with a username and  password. And when we tested it, it looked like [18:30] it was working. Nina was able to log in. She saw  a profile picture. It said Nina. And you know, [18:36] it looked great. And then I went in and I  clicked a few more buttons and I typed in just [18:40] some gobbledegook into the username and password.  Guess what? I'm Nina now. So we needed to really [18:47] find out what the gaps were in this environment  and then also make sure that with those gaps we [18:52] take those lessons to go build a platform that  helps these citizen developers in the future. [19:00] So how do we do this? We went from Nina working  with claude code with no additional skills or [19:07] nothing like that and we wrote a few special  case agents for her. At first, the goal really [19:13] was just to identify the gaps. It took in all the  application code and it spit out a big plan on [19:20] exactly what to do to meet pave roads. But here's  the problem. It was still talking like a technical [19:25] person. And then we were handing it to Nina and we  were saying, "Nina, we don't have time to actually [19:30] build this. Just, you know, run through the plan  and let it do its thing and then test it at each [19:34] step of the way and hope that it works." But then  Nina would get to the point where we're like, "Oh, [19:39] well, you need to set up an LDAP group." Well,  how do I set up an LDAP group? You know, I have [19:43] to All good. Uh Nina uh had to set up an LDAP  group, right? And that's not just done through [19:52] code in certain places, right? Like we have an  LDAP management system that you can go in and [19:56] you can submit all of your requests. And another  thing, she needed to set up SAML, so she needed to [20:01] be able to go into Octa. And she needed to go into  all of these other different places. She needed a [20:05] database, so we needed to spin up infrastructure  for it. And each of these different things, while [20:11] absolutely necessary, Nah's not really the right  person to have to be able to do those things. Now, [20:17] we had theorized like what if we had gotten in  earlier into this process and maybe we could [20:22] have been more opinionated and helped her get  there faster. Uh so that was, you know, where [20:27] we ended up taking it. But, you know, with these  agent teams, we were able to get a majority of all [20:32] critical vulnerabilities fixed and deployed up to  the infrastructure. But the gap still stayed that [20:39] it was just it was way too technical. It expected  people that just would never be programmers to [20:44] be programmers. Right? When you have a regular  person, their understanding of programming is I've [20:49] got the front end and I've got the back end. What  else is there? Right? You know, and you're lucky [20:54] if they do have the understanding of the front  end and the back end, right? I didn't. But she got [21:00] there. She [laughter] got there. It It was great.  Um, so that left a little bit of a realization for [21:08] us, right? We had to shift from just hardening to  building for the platform first. After we chated [21:14] chatted about all the problems the app had, we  built agents for Nenina to leverage and all of [21:19] those great things. And at the end of the day,  these things were still just way too hard to use. [21:27] Each of these different things required Nina to  essentially yolo her way through the codebase and [21:35] you know we got to the end of this project and  she actually had working our back LDAP worked [21:41] database was hosted everything was great API  keys you couldn't retrieve them from the code [21:46] anymore it was great we actually used a secrets  management system instead of just storing it in [21:51] git you know big ups there um especially for  the types of keys that were being used you [21:58] allowed. If someone had stolen some of those keys,  anybody could have pretended to be Nenina. They [22:03] could have turned around and written a bunch  of documents as Nenina from our downstream [22:07] systems like Glean because those systems are  hooked up with tool calls to other systems. So, [22:13] in this world of AI, as we're going further and  further down the line and everything's becoming [22:17] more and more interconnected, one flaw in one  location isn't just one flaw in one location. [22:23] It's a cascading failure down the block  the whole way, right? Because, okay, [22:28] they break into Nah's casebased system.  They take that, they take the API keys, [22:33] and now they've gotten into Glean. Now they  can go and query a bunch of different data, [22:37] right? Maybe they can even send a Slack message as  Nenina to somebody else. Pretend to be Nina. Hey, [22:44] uh, I really need you to run down to 7-Eleven  and grab me like, uh, a few Steam cards and, [22:51] uh, wallet Walmart gift cards, right? Uh,  it's an emergency. Brian really needs you [22:56] to do it. [snorts] So, I talked about, you know,  the the security side of this. Then we also have [23:03] the the compliance and the auditing, right? This  application, users could go in and you could do [23:09] what you needed to do, but the logs just weren't  there either, right? Like because when you build [23:14] things and you need to make sure that you know  exactly who's doing what in the environment, [23:20] you know, we're a regulated financial utility. If  if something did break and somebody did break in [23:26] and our answer was we don't have logs for that,  that would have been much much worse, right? [23:30] Because then we don't even know what people have  done. So after we finished with Nah's project, [23:38] we were going through this process and you know,  we thought through whether or not this actually [23:45] did need to go to production fully, right? Because  once you're in production, you need to have a team [23:52] that maintains it. There needs to be an on  call engineer. The citizen developer is not [23:57] used to being woken up at 2 a.m. from pager duty  saying, "You have an alert 3219. Please log on and [24:05] fix it." They're not used to that. They didn't  sign up for that job either, right? Like Nina, [24:10] what you usually end your day at a normal time,  right? I turn into a pumpkin at 4:30 every day. [24:16] Yeah. She's just gone, right? But you know, all of  us engineers know exactly what's going to happen. [24:21] Pedager duties is going to bother us. we have to  wake up and you know you have to pay for teams [24:26] that do that right so where we were getting to was  the dollar figure to deploy this and maintain it [24:32] actually ended up being more than the $75,000  right I was so shocked to learn that I thought [24:39] I had found a shortcut with the vibe coding I know  the vibe coding was great it was fantastic but you [24:46] know when we're looking at it we're like okay if  one if one engineer can maintain 15 applications [24:53] And we need to have an on call rotation  and we need three engineers because you [24:57] can't expect one person to be on call 100%  of the time. They'll go absolutely insane. [25:02] Right now we're looking at a team that's an  investment of well over $2 million. Right? So [25:07] we need to increase the amount of different  uh applications we can run to enable this, [25:15] right? like we need a platform that can scale  out and this team maintains that and the develop [25:22] the citizen developers are able to build for it.  However, you know, we didn't want to turn around [25:28] and block this because what Nina had built was  super helpful for her career and her job, right? [25:34] There's no reason to turn around and be like, uh,  you go back to your old case management system. [25:39] You need to use it. This is the only option we're  going to give you. And if we see you using this [25:43] application on your laptop that you built, we're  going to fire you, right? Cuz that is the typical [25:48] conversation that security has with people, right?  Do what we say or we'll fire you. And in my role, [25:57] I'll fire myself. Right. Exactly. She'd literally  have to take her own meeting. [laughter] [26:03] It would be Nah's calendar. Invite two Nina.  Two Nina to fire myself for using tools I [26:08] wasn't approved to use. Exactly. So, you know, we  ended up coming up with a little bit of a stop gap [26:14] solution for her, right? So, local was working  for her. What do we need to do to mitigate the [26:20] risks of local, right? We think that, you know,  with local, the real big risk is data quality, [26:27] data retention, right? So, we worked with  Nina, helped her build a backup feature. when [26:33] she runs it and it starts daily, it goes and  backs up her cases, stores it up into a nice [26:38] centralized location where she doesn't have  to worry about it. If her laptop goes kaput, [26:43] maybe she loses a few hours of work, but you know,  we all have to balance, you know, our requirements [26:50] for data availability and data integrity, right?  Like you can all go ahead and get your application [26:55] to be 8 9 of uptime for a billion dollars, but if  your application only earns you guys $100 million, [27:02] then uh it's kind of bad thing, right? 100%  uptime is completely impossible. So, you know, [27:09] we understood that, you know, we can just say  here's a risk. You might have to regenerate a [27:14] case every once in a while. Uh you might have  to switch from Docker to Podman because Docker [27:19] Desktop wants to charge us a bunch of money. You  know, they has anyone seen that? It's crazy. They [27:25] wanna they want to charge you just to use Docker  Desktop. It's insane. Exactly. [laughter] Now, for [27:34] anyone who doesn't know, just go install Podman.  You can go do that for free and avoid that. Uh but [27:40] I'll get off my uh my my soap box there. So local  worked first for her a as an investigator and [27:48] luckily Nah's the only one we have. I guess that's  because you're doing a good job and you don't have [27:54] that many cases to handle. Right. Right. That's  what happened in January where the case load [27:59] doubled. I think the true answer is they're  not hiring me any new people. So if I'm going [28:03] to staff up it's going to be with AI. Exactly.  And uh you know like I said she's a call center. [28:12] So AI really had changed who could build but just  not what production requires, right? Like that's [28:19] why us engineers still have jobs because you can't  just slap a bunch of code up on the internet with [28:27] no rate limits and a bunch of API keys sitting  everywhere. You know, you'll come back and [28:32] somebody's going to have fun with your application  and you'll come back to like a thousand API bill, [28:37] right? where Nina like what you saw with your uh  other little passion app. She was running this [28:42] application and for every single conversation it  was how many dollars? It total totaled about $80 [28:49] and I built this little trip planner that created  creatures for my children and I ran up an $80 bill [28:54] like like that not realizing what was going on.  So at the end of the day the following things [29:01] are just always non-negotiables especially in a  corporate environment or a place like Coinbase. [29:06] The data needs to be protected. Every action that  is taken needs to be logged. Every single bit [29:12] of data access needs to be fully auditable. The  software packages, they also need to stay up to [29:18] date. Especially when we're talking about with AI  and all of these great large language models, they [29:24] were trained six months ago, maybe a year ago. And  unless you tell it to explicitly go out and fetch [29:29] the newest package, guess what? You're getting  the one from a year ago, which probably has like [29:33] 50 different CVEes. and then I get a warning and  then I have to go talk to Nenah and it's it's it's [29:38] a big deal. Oh, it's not a pleasure every time. Um  sometimes, you know, um so even though it didn't [29:45] make it all the way to production, we still got  it to a place where it could deliver value within [29:49] the organization. And then we took the next step  which was why couldn't we get this all the way to [29:55] production? What were the gaps? What were the real  problems? And we decided that we were going to [30:00] build a platform to help these citizen developers  actually be able to build within our environment. [30:05] You know, uh essentially a hyper opinionated AI  coding assistant. If you go to it and you say, [30:12] I want to build a workflow that does this. I want  to take data from Google Sheets and paste it over [30:19] to Google Docs. For some reason, this will go out  and say, "Okay, well, you tell me that you want [30:25] to write a program for this. I don't really think  you mean what you think you mean, you know? Uh, [30:33] instead, have you thought about using an  existing tool that we have, right? Like, [30:37] this is just a simple workflow. There's tools that  can do this already. Go ahead and go over to NADN. [30:42] I'll go ahead and I'll actually help you write  the workflow in NADN to do what you're trying to [30:49] do. Now, if it does come down to the point where a  user does have a real legitimate use case to build [30:55] an application that needs to be supported,  it actually helps them architect it out, [31:00] write out plans before they start and put in  place guard rails to make sure that they align [31:05] with everything that they would need to do to be  able to make it to production. That way, we're not [31:10] spending a bunch of time on the back end trying  to fix these things that these citizen developers [31:15] should never have to know, right? Like, who cares?  Golang, Python, Java, eh, we don't really care [31:22] anymore. Just write the code and let it work.  But when you're talking about tens of thousands [31:27] of applications that are running every single  day, that problem of having a bunch of different [31:32] language sprawl and the way that people do it  all being different, that's a real big problem [31:36] because then you have to go into the environment  and figure out what people are trying to do. [31:42] So, [31:47] what are some key things that Nina had learned?  Anything fun? You know, I never want to set [31:53] any settings in Cloudflare ever again. I'm good.  Right. That's just a joke. But what I learned most [31:59] of all is to think ahead. Um, I learned to talk  to folks like Robert early on to get their insight [32:05] and check on what good looks like. But I'm sure  Robert has more insights. Yeah. And every single [32:10] time that Nina was messaging me, a lot of the time  everything she wanted to do, it was completely [32:14] logical, right? She just didn't know the shortcuts  of where to go. And that's not her fault, right? [32:20] That's our fault because we've actually made the  the documentation way too complex. Every engineer [32:26] knows it. You read through a Confluence article,  it's 55 different steps. Some are screenshots, [32:31] some are just links to random places. you're  really lucky if there's even an explanation past [32:36] a link to a pull request somewhere, right? Good  luck. Figure it out. That doesn't work for these [32:42] people. We have to make it so that these agents  can go discover what they need to do and do it [32:46] for them. So, we enabled citizen developers with  freedom within guard rails, right? So, we built [32:53] this application that takes their prompt and then  pitches what needs to be built. As simple as that. [33:04] It helps them plan and it helps them execute  it and it helps stop the yoloing of code to [33:09] production because we all know that  the more you yolo code to production, [33:15] the more production incidents you have. Just  ask Microsoft. GitHub's been really really [33:20] horrendous recently. So that's the end of  our presentation if there's any questions [33:27] uh or anything that you guys would like. Hello  uh Nina Robert, great presentation. Uh I'm also [33:34] a citizen developer and I absolutely love that  you guys developed a platform to enable people [33:39] to solve problems. Um I'm curious if let's say  Nina wasn't a part of this organization and she [33:46] was looking to develop this particular platform.  Um how can she solve for some of the issues that [33:53] she wasn't going to necessarily be aware of? Um,  are there certain like frameworks or um I guess [34:02] how can she solve those gaps without you being  present? Yeah. Without having to configure it [34:08] into like a Coinbase essentially. Yeah. So in in  the scope of Coinbase or in the scope of anything [34:13] or it's always zero. Okay. So you know ultimately  she would have to probably rely on claude code to [34:22] hopefully not lie to her too much, right? That's  exactly what it is. And sometimes cloud code does [34:28] just just straight up lie to you. You know, you're  absolutely right every single second. You know, [34:33] you told it, oh, I want you to go look at this  and you know, it just says, I think that's the [34:37] issue. Then you look at it and you're like,  that's not even the issue. And but because [34:41] you had inferred that this might be the issue, it  just doubles down and says, yeah, you're right. [34:46] That's the issue and here's why. Right? So for for  citizen developers that are working through this [34:52] themselves off to the side and you don't have that  much of a resource or support for it, you know, [34:57] my biggest recommendation would be do try to  sit down and understand a little bit of the core [35:03] basic concepts of programming. You don't have to  understand how to write code, but you do have to [35:10] understand how to find what looks like bad code,  right? So, one of the perfect examples of bad code [35:17] was Nenah's application when we were talking about  the UI. You wanted to change one button color [35:24] across all the pages. That should just be like one  spot in CSS, right? Like, no. 1,400 line change. [35:35] Yes, I can see the look on your face.  It's exactly that. But remember, [35:39] there were three different  front-end frameworks [laughter] [35:44] right here on the side to your  right. Hey, great presentation. Uh, [35:50] really appreciate it. Um, Robert, my my  question is for you. Uh, specifically, [35:56] you talked about the confluence pages. You talked  about um the digital playbooks that every company [36:03] has. that talks about requirements for front end,  requirements for backend, requirements for cyber, [36:09] requirements for identity access management.  Um, do you think that there's a future where [36:17] um those elements of the digital playbook could  be turned into sub aents that could be referenced [36:26] for a citizen developer um to understand what the  digital playbook is for your company and and kind [36:34] of help in that development early on. Yeah. So  I think that there's a possibility for that but [36:41] I'm not necess it would have to take some testing  to see if it is more efficient right because at [36:46] the end of the day like if we have a generalized  agent that can understand what playbooks are and [36:51] we point them to the playbooks that would save  serve a similar purpose to building a bunch of [36:56] specialized agents and then we would have a much  lower barrier for what we have to maintain. Now [37:01] there's a possibility that it could be more  efficient. Uh I like I said it would probably [37:05] have to be a little bit of testing but you know  internally where we're at is um we have Glean as [37:12] a a knowledge search engine and we actually enable  these agents to go and query Glean which is got an [37:19] indexed all of our data from everything and it  allows them to find what they need to find. Now [37:26] in that case generalized agents are great right  because they have the access to find the data that [37:31] they need to find. But if you're in a less mature  organization that has less data quality and data [37:37] cleanliness around your playbooks, it may be more  beneficial to actually build specialized agents. [37:43] It really just depends on the scenario that you're  in. Go ahead. Question for you either. Sure. If [37:51] you had contacted Robert in the very beginning  and learned about all the little restrictions, [37:56] how to properly do this, would you have  done it? You know, I think I would have [38:02] something behind Octa instead of something  that runs locally to be honest with you. Now, [38:06] we didn't know this when I first started. I was  one of the first citizen developers before that [38:10] term. Yeah. Yeah. It was before that term was even  a term. Yeah. And I didn't know that folks like [38:16] Robert were around to help me. All I knew was that  there was cloud code that I had access to and I [38:20] kind of went off running. Um, if I had had Robert,  I think I would have a deployed application today. [38:27] And on the other side of this, right, like  with what Nah had built, uh, if she had [38:32] known that engineers actually do want to help  people, you know, we are grumpy all the time, [38:37] but like when people come and ask us for our  help, we're some of the most friendly people ever [38:43] because we love sharing the knowledge and we love  passing that along. So, well, we're out of time, [38:49] but uh we'll actually chill out in the hallway  outside there if anybody does have any other [38:53] questions and they want to talk to us, but we want  to be respectful of the next presenter. [applause]