This document describes how AI tools were used to build the ML Model Registry & Deployment Dashboard, fulfilling the AI Dev Tools Zoomcamp 2025 project requirements.
Claude served as the primary AI coding assistant throughout the project development.
How Claude was used:
-
Architecture Design
- Discussed system requirements and trade-offs
- Generated system architecture diagrams
- Recommended tech stack based on project constraints
-
Code Generation
- Generated boilerplate code for FastAPI backend
- Created React components with TypeScript
- Wrote database models and migrations
- Generated OpenAPI specifications
-
Testing
- Generated unit tests for backend services
- Created integration tests for API endpoints
- Wrote frontend component tests
-
Documentation
- Created README and setup instructions
- Generated API documentation
- Wrote inline code comments
-
Debugging & Problem Solving
- Diagnosed issues with Docker configurations
- Fixed TypeScript type errors
- Resolved database connection issues
Effective prompts used:
-
Context-first prompts: Always provided context about the project before asking for code
"We're building an ML Model Registry. The backend uses FastAPI with SQLAlchemy. Generate a Pydantic model for representing an ML model with fields for: name, version, framework, metrics, and deployment status." -
Iterative refinement: Started with basic implementations, then refined
"The model registration endpoint works, but we need to add validation for: - Model name must be unique per user - Version must follow semver format - Metrics must be a valid JSON object" -
Example-driven prompts: Provided examples of desired output format
"Generate a React component similar to this pattern: [example component code] But for displaying a list of ML models with filtering by framework"
MCP (Model Context Protocol) is a standard protocol that allows AI assistants to interact with external tools and data sources. In this project, MCP was used to enhance Claude's capabilities.
-
File System Access
- Reading and writing project files
- Navigating project structure
- Creating new files and directories
-
Web Search
- Researching best practices for ML model registries
- Finding documentation for libraries (FastAPI, React, SQLAlchemy)
- Checking latest versions of dependencies
-
Code Execution
- Running Python scripts to test backend logic
- Executing npm commands for frontend setup
- Running Docker commands for containerization
Here's an example of how MCP enhanced the development workflow:
User: "Set up the FastAPI backend with SQLAlchemy and create the model schema"
Claude's MCP Actions:
1. [view] Check current project structure
2. [create_file] Create backend/requirements.txt with dependencies
3. [create_file] Create backend/app/models/ml_model.py with SQLAlchemy model
4. [create_file] Create backend/app/database.py with connection setup
5. [bash_tool] Run "pip install -r requirements.txt" to verify dependencies
6. [bash_tool] Run initial database migration
This MCP-enabled workflow allowed for:
- Real-time file creation without copy-pasting
- Immediate validation by running commands
- Contextual awareness of existing project files
- Faster iteration: Changes could be made and tested immediately
- Reduced errors: Claude could verify code by actually running it
- Better context: Claude maintained awareness of the full project structure
- Seamless workflow: No need to manually copy code between AI and IDE
- Defined project requirements and scope
- Created initial README with problem description
- Designed system architecture
- Selected tech stack
- Designed API endpoints based on frontend requirements
- Created OpenAPI 3.0 specification
- Defined request/response schemas
- Set up FastAPI project structure
- Created SQLAlchemy models
- Implemented CRUD endpoints
- Added input validation with Pydantic
- Initialized React + TypeScript project
- Created centralized API service
- Built UI components (Dashboard, ModelList, ModelForm)
- Added state management
- Wrote unit tests for backend services
- Created integration tests for API
- Added frontend component tests
- Set up test coverage reporting
- Created Dockerfiles for frontend and backend
- Set up docker-compose for local development
- Configured CI/CD pipeline with GitHub Actions
- Deployed to cloud platform
- Contract-first development: Starting with the OpenAPI spec made frontend-backend integration smooth
- Iterative prompting: Building features incrementally led to better results than asking for everything at once
- MCP file access: Being able to read/write files directly saved significant time
-
Context window limits: For large files, had to work on sections at a time
- Solution: Modular code architecture with smaller files
-
Outdated library knowledge: Some library APIs had changed
- Solution: Used web search to verify current documentation
-
Complex debugging: Some issues required multiple back-and-forth iterations
- Solution: Provided detailed error messages and context
To reproduce this AI-assisted development workflow:
- Use Claude or similar AI assistant with MCP capabilities
- Start with clear project requirements and constraints
- Use contract-first approach (design API spec before implementation)
- Work iteratively - build, test, refine
- Provide context and examples in prompts
- Verify generated code by running tests
AI-assisted development significantly accelerated the creation of this ML Model Registry. The combination of Claude's code generation capabilities with MCP's tool integration created an efficient development workflow. The key to success was clear communication, iterative development, and maintaining good software engineering practices even when using AI tools.
This document fulfills the "AI system development (tools, workflow, MCP)" criterion for the AI Dev Tools Zoomcamp 2025 project.