DSA 587 Fall 25 Midterm Thursday 10/16/2025
1. Part 1: In class activities 10/16/2025
2. Part 2: (50 points) Mini project discussed on 10/16/2025 and due 10/23/2025
AI Engineering Mini Project (DSA 587)
Purpose
The goal of this mini project is to build a small but functional AI-powered product using the technologies you have practiced in DSA 587.
You will integrate:
- An AI model (local or remote e.g., Ollama or Llama on your laptop, or an API such as OpenAI, Anthropic, or Hugging Face)
- Python backend using Flask
- PostgreSQL database
- A simple HTML front-end
- Deployment on your AWS Lightsail server
Your final product should demonstrate an end-to-end AI workflow from user interaction to inference, database storage, and live deployment.
Learning Goals
- Integrate an AI model within a Flask web app.
- Design and implement a Postgres schema to store data and model outputs.
- Deploy a live application on AWS Lightsail.
- Communicate results clearly in a report and short demo.
Deliverables
1 Live App URL hosted on your AWS Lightsail server.
2 Git repository containing:
* Flask backend (in a folder such as @/app/@)
* HTML templates (in @/templates/@)
* Postgres schema and SQL scripts (in @/db/@)
* requirements.txt
* .env.example
* README.md with setup and run instructions
3 Technical Report including:
* Abstract
* Problem statement and user story
* System design and architecture diagram
* Postgres ERD and data flow
* Model selection and reasoning
* Evaluation and limitations
* Deployment notes and future work
Return to: Purpose Timeline Grading Rubric
Minimum Functional Requirements
- AI functionality: at least one meaningful AI task (e.g., classification, summarization, recommendation, generation).
- Database: store user inputs, model outputs, and metadata (timestamps, model version, etc.).
- User flow: at least two complete actions (e.g., submit request → receive result; view history → inspect previous results).
- Deployment: live Flask app accessible publicly on AWS Lightsail.
- Reproducibility: all setup steps documented.
- Ethics and safety: no personal data or secrets in code.
Suggested Project Ideas
- AI Assistant for Documentation a RAG-based helper using course notes or syllabus.
- FAQ or Email Triage Bot classifies and drafts responses.
- Code Explainer explains or comments on code snippets.
- Nutrition Text Parser extracts and structures menu or ingredient data.
- Creative Writing Aid generates story starters or editing suggestions.
Architecture Requirements
- Backend: Flask app.
- Database: PostgreSQL.
- Frontend: HTML + CSS.
- Logging: record requests, latency, and status.
- Deployment: via Lightsail.
Timeline (2 Weeks)
- Week 1 Proposal and Alpha Version:
Submit a one-page proposal including the problem, AI model, data schema sketch, and deployment plan.
Implement a local working version with the database and at least one Flask route.
- Week 2 Final Version and Demo:
Deploy a live AWS version accessible by URL.
Finalize report, demo video, and GitHub repository.
Present a brief in-class or recorded demo.
Return to: Deliverables Grading Rubric
Grading Rubric (100 pts)
| Category | Points | Description |
| Proposal & Planning | 10 | Scope, feasibility, clarity |
| Database Design | 15 | Schema design, normalization, ERD |
| AI Integration | 20 | Model selection, usage, evaluation |
| Backend Engineering | 15 | Code structure, error handling, configuration |
| Frontend UX | 5 | Usability and presentation |
| Deployment | 15 | AWS setup, stability, accessibility |
| Documentation & Report | 10 | Clarity, completeness, insight |
| Demo | 5 | Professional presentation |
| Professionalism (Bonus) | +5 | Creativity, robustness, polish |
Return to: Timeline Requirements
Technical Notes
- Python: version 3.10 or higher
- Environment: use @venv@
- Secrets: store API keys in environment variables (never commit)
- Postgres: include schema migration scripts
- Testing: include basic sanity checks
- Logging: store logs to file or database
Report Checklist
- Problem and motivation
- Architecture diagram and ERD
- Model rationale and parameters
- Evaluation and discussion
- Ethical and safety notes
- Deployment and testing notes
- Future improvements
Return to: Technical Notes Rubric
Submission
- Live app URL
- Git repository link
- PDF report
Collaboration & Integrity
Projects may be completed individually or in teams of up to three.
Each members contribution must be described in the appendix.
All external code, models, and datasets must be properly cited.