with Streaming Data
Fall 2026
In this course, you will build a series of AI-powered mobile applications, starting with a simple chatbot and progressively adding capabilities such as tool use, information retrieval, and memory. You will choose your own implementation stack — either SwiftUI or Kotlin Compose for the frontend, and Rust/Axum, Go/Echo, TypeScript/Fastify, or Python/Starlette + Granian for backend. Along the way, you will implement streaming interactions, persistent chat history, retrieval systems, and tool integrations such as location, maps, and weather services.
Whether you are new to mobile development or already have prior experience, this course is designed to take you from the fundamentals to complete full-stack AI systems. Throughout the course, we embrace AI-assisted development while ensuring that you understand and can defend the architectural and design decisions behind your work.
Note: This course has combined lectures with the MDE special-topic course EECS 498-002, Mobile App with Embedded AI Design and Development. Only the projects and exams are different between them. The MDE-version of the course ( 498-002) has a team-defined semester-long project with presentations but no exams. This ULCS version ( 498-008) has smaller projects throughout the term, with two exams, like other ULCS courses. You can sign up for either, but not both.
If you have any questions about either course, please feel free to ask Prof. Sugih Jamin ( uniqname: sugih).
Students who have taken EECS 441 Sections 3 & 4 with Prof. Jamin cannot take either course for credit.
Room & Time
Lecture
1005 EECS
Discussion
3427 EECS
Tues. & Thurs.
10:30 – 12:00
Fri.
10:30 – 11:30
Staff & Office Hours
Sugih Jamin (sugih)
Tues. & Thurs. after lecture
And by appointment — 4737 BBB
Ryan Chen (chenryan)
Mon. & Tues. from 6:00 – 7:00
BBB Learning Center, Table 1
Resources
Discord — important course-related information and answers to FAQs.
There is no textbook. Instead, the tutorial specs and lecture notes are both required readings.
Preliminaries
llmPrompt
Chatter
llmChat
Maps
Audio
Images
llmTools
Signin
Loading schedule…
Posted after the last day of final exams. There is no standard mapping from grade point ranges to letter grades.
Projects, homework, and tutorials may be completed individually or in teams of at most 2 people. You may partner differently for each assignment.
Acts of cheating and plagiarizing will be reported to the Engineering Honor Council. Cheating is copying, with or without modification, someone else's work not meant to be publicly accessible. Plagiarizing is copying publicly available work without acknowledging the original author. Review the College of Engineering Honor Code.
If you received substantial help from another person or AI/LLM, you must name and acknowledge them. Full citation required for any published materials used.
You have one opportunity to fix bugs in each graded tutorial by the assigned office hour following its due date. Corrected code credited up to 50% of original points. Do not modify code on your git repo past the due date to remain eligible.
For all other work, you have two business days from when a grade is communicated to request a regrade in writing with technical justification. A regrade covers your whole submission and may result in a lower overall grade.
Extensions given only for documented medical and family emergencies. Cloud outages, encoding delays, laptop crashes, Bitlocker lockouts, and CAEN slowdowns do not qualify — plan for them. Keep an off-site backup (e.g., a remote git repo).
Completing in-lecture code exercises earns extra credits that can top up your overall course grade. Missed opportunities cannot be made up.
Course Infrastructure
References