Product
Project 02
You will create a functional, working product. The form of your product will vary depending on your objectives.
Regardless of format, the product should be accessible to a public audience. That means users should be able to access the content through a web interface (and not have to clone your Git repo to access and run files).
- Making a Shiny app? Publish it using Posit Connect Cloud or Shinyapps.io
- Writing a report? Publish it using Posit Connect Cloud
- Creating a multipage website? Publish it using GitHub Pages1
Your final product must be reproducible. All team members should contribute to the GitHub repository, with regular meaningful commits.
Your final product will be evaluated based on degree of difficulty and execution. You will receive feedback during the proposal stage as to the perceived level of difficulty of your project.
Evaluation criteria
| Category | Less developed projects | Typical projects | More developed projects |
|---|---|---|---|
| Product functionality | Product does not work or has major functionality issues. Core LLM features are broken or ineffective. | Product functions as intended with reasonable user experience. Core LLM features work correctly and deliver expected functionality. | Polished, robust product with excellent user experience. LLM features work reliably with thoughtful error handling and edge case management. Product demonstrates professional attention to performance and user experience. |
| User interface & accessibility | Interface is confusing or difficult to use. No consideration of accessibility or user guidance. | Interface is clear and functional with basic usability. Provides adequate instructions and reasonable accessibility. | Interface is intuitive and polished with excellent usability. Thoughtful attention to accessibility, user guidance, and diverse user needs. Visual design enhances rather than hinders user experience. |
| LLM integration | LLM usage is superficial or poorly implemented. Prompts are ineffective or produce unreliable results. No handling of LLM limitations or errors. | Demonstrates competent use of LLMs appropriate to the application. Prompts are reasonably designed and produce consistent results. Basic handling of common LLM issues (hallucination, rate limits, etc.). | Sophisticated LLM integration demonstrating deep technical understanding. Excellent prompt engineering with clear evidence of iteration and refinement. Robust error handling with graceful degradation and user-friendly messaging. |
| Deployment & accessibility | Product is not accessible or deployment is non-functional. Setup instructions are missing or unclear. | Product is accessible via provided URL. Basic setup/access documentation is provided. | Product is professionally deployed with excellent documentation. Comprehensive documentation covers setup, usage, and troubleshooting. Deployment demonstrates understanding of production considerations. |
| Code quality & reproducibility | Code is poorly organized, undocumented, or does not run. Dependencies are not documented. | Code is organized with reasonable documentation and runs successfully. Dependencies and environment setup are documented (e.g., requirements.txt, renv.lock). Repository follows basic organizational principles. |
Exemplary code organization with comprehensive, clear documentation. Professional-grade dependency management (pyproject.toml, renv.lock) with clear setup instructions. Code demonstrates best practices: version control, modular design, and separation of concerns. |
| Ethical implementation | No evidence of responsible AI practices. Product ignores data privacy, bias, or security concerns. | Demonstrates basic responsible AI practices in implementation. Implements reasonable safeguards for privacy, bias, and security. | Strong evidence of ethical considerations embedded in product design. Thoughtful implementation of privacy protections, bias mitigation, and security measures. Product design reflects awareness of broader societal implications. |
Footnotes
Ask the instructor to activate GitHub Pages in your repository to publish your site.↩︎