Skip to content
Go back

Prototyping with AI Agents

Published:

Overview

During the end-of-year holidays 2025, I embarked on an ambitious experiment: leverage AI agents to rapidly prototype and implement a suite of C# .NET libraries and application samples. This post shares my findings on how GitHub Copilot and Claude Opus can effectively co-work with a senior developer to validate ideas, build prototypes, and test new features at unprecedented speed.

The Experiment

As a Senior Developer, I wanted to test the hypothesis: Can AI agents help bridge the gap between architecture and rapid implementation, enabling faster iteration and validation?

Methodology:

  1. Define project requirements using PRD (Product Requirements Document) files
  2. Request GitHub Copilot/Claude Opus to implement the features
  3. Review and validate the generated code
  4. Iterate based on feedback and requirements
  5. Document learnings and best practices

This approach allowed me to create multiple production-ready libraries and samples in weeks rather than months.

Projects Created

All repositories are available at: github.com/agriffard?tab=repositories

Core Libraries

AspNetCore.Foundation

A plug & play middleware pack for ASP.NET Core applications including:

EFCore.Tagging

A simple and standardized API to automatically apply TagWith to EF Core queries for improved debugging, observability, and SQL performance analysis.

EFInsight

A lightweight library for detecting, logging, and analyzing slow or problematic EF Core queries.

EntityKit

A standardized set of interfaces and base classes for structuring C# and EF Core entities.

EntityMapper.Generator

A high-performance C# Incremental Source Generator for .NET 10 that generates compile-time-safe mapping extension methods between Entity Framework Core entities and DTOs.

Data & Query Libraries

EFSearch

A dynamic, type-safe search library for .NET that transforms search requests into Expression Trees for IQueryable. Perfect for building APIs with filtering, sorting, and pagination capabilities.

Querify

A lightweight .NET library for building dynamic LINQ expressions and IQueryable extensions for filtering, sorting, and pagination.

DynamicViews

A .NET library for creating, organizing and saving dynamic views with customizable filters, sorting, and pagination. Compatible with EF Core and Blazor.

ExprMap

A source generator for EF Core that automatically generates DTOs and type-safe projection expressions from your entity models.

Data Access & Caching

EFProjectionCache

A strongly-typed projection cache for EF Core with automatic and transitive invalidation using FusionCache.

Decoratory

A .NET library providing composable, Scrutor-based decorators over generic repositories. It enables clean, extensible data-access pipelines for cross-cutting concerns such as logging, validation, caching, metrics, resilience, and security.

Business Logic & Tracking

SoftTrack

A .NET library for managing entities with Soft Delete and Version Tracking support for Entity Framework Core.

Audit

A centralized mechanism for tracking and historizing all EF Core entity modifications, enabling audit, compliance, and change analysis.

ReportEngine

A .NET library for generating dynamic reports and exports from EF Core entities, with support for filtering, sorting, pagination, and multiple export formats (CSV, Excel, JSON).

Permissions & Workflows

PermissionMatrix

A centralized .NET library for managing and applying dynamic permissions by role and resource, secure, typed and extensible.

StatusFlow

A lightweight .NET library for modeling, visualizing, and executing business status workflows based on enums, with actions, rules, and integrated Blazor UI components.

Applications & Tools

Neat Admin

A Blazor Server admin panel for managing Countries, Contacts, and Addresses with RBAC features.

BlazorChoices

A Blazor component library that wraps Choices.js to provide enhanced select and input elements with search, tags, and more. See live demo: antoinegriffard.com/BlazorChoices/

Key Learnings: AI-Assisted Development

✅ What Worked Exceptionally Well

1. PRD-Driven Development Creating detailed Product Requirements Documents before coding sessions yielded the best results. AI agents performed excellently when given:

2. Rapid Iteration The feedback loop between human review and AI implementation was remarkably fast. Typical workflow:

3. Boilerplate Reduction AI agents excelled at generating:

4. Architecture Validation AI agents helped validate architectural decisions by implementing them end-to-end, revealing issues early that might otherwise surface in production.

5. Cross-Cutting Concerns Pattern implementation for logging, validation, caching, and error handling was swift and consistent across projects.

⚠️ Challenges & Limitations

1. Deep Domain Logic Complex business logic involving multiple entities and state transitions required human oversight. AI agents sometimes oversimplified or missed edge cases.

2. Performance Optimization Initial implementations were functionally correct but not optimized. SQL query generation in LINQ providers needed refinement for production workloads.

3. Context Window Management Larger projects sometimes exceeded context limits, requiring strategic file breakdowns and focused sessions.

4. Dependency Management AI occasionally suggested packages without considering existing ecosystem compatibility or project constraints.

Best Practices for AI-Assisted Development

1. Write Comprehensive PRDs

- Problem statement
- User stories with examples
- API design expectations
- Validation & error handling rules
- Performance requirements
- Extensibility points

2. Start with Interfaces

Define public APIs and contracts before requesting implementations. This guides AI agents toward better architecture.

3. Review Unit Tests First

Always ask AI to implement tests alongside features. Good tests reveal implementation quality immediately.

4. Maintain Human Oversight

AI agents should be co-workers, not replacements. Critical decisions about:

…should remain with experienced developers.

5. Use Focused Sessions

Break large projects into 30-60 minute focused sessions with specific scopes. This prevents context bloat and maintains quality.

6. Version Control Everything

Treat AI-generated code like any external contribution. Use branches, code review, and CI/CD pipelines.

Tools & Models Used

Conclusion

AI agents have demonstrated exceptional value in rapid prototyping, boilerplate reduction, and productivity acceleration. However, they work best as co-workers alongside experienced developers, not as replacements.

The projects created during this holiday break prove that:

Whether you’re prototyping new ideas, exploring architectural patterns, or building a library ecosystem, AI agents can be your most productive pair programmer.

Next Steps

All projects are open-source and available on GitHub. Contributions and feedback are welcome!

Looking forward to exploring more ways to collaborate with AI agents in 2026.


What’s your experience with AI-assisted development? Share your thoughts in the comments!



Previous Post
The Darwin Incident
Next Post
Orchard Harvest 2025