Team Report 4/25

Unit Tests and Changes

This week we completed formal testing of the system against our quantitative design requirements. Our testing framework consisted of three components: predefined 20-word sentences for latency testing, paragraphs with labeled grammatical errors for accuracy validation, and repeated button-triggered actions across multiple trials to measure response consistency.

Across the four metrics we tracked, the system passed three cleanly. Autocomplete latency came in at a median of 0.661s and an average of 0.943s against a target of under 1 second. Grammar accuracy measured at 91%, clearing the 90% threshold. Context capacity came in at 8192 tokens, well above the 4000 token minimum. Full response time was the one inconsistent result, with a median of 1.861s but an average of 2.417s and a max of 7.161s against a 2 second target, indicating the system meets the requirement most of the time but has variability under certain conditions.

In addition to the quantitative testing, we conducted user testing sessions and collected verbal qualitative feedback from participants. That feedback was documented and summarized into a findings document that was handed off to inform refinement priorities going into this final week.

We decided to change the prompting  style as well as the display of the information to help with the context/flow. Now the summary has more context and is more descriptive.

Based on testing findings, Sida updated the LCD UI to reflect a revised button layout to keep the on-device display in sync with the updated hardware interaction model. Additionally, the synthesis feature was reworked so it now pulls context from all relevant open applications rather than only the currently active window, which meaningfully improves the quality and completeness of the summaries the system can produce. This was a direct response to feedback about output relevance during user testing.

Risk

The primary remaining risk is the inconsistency in full response time, particularly the long tail at the high end. The team is aware of this and the focus going into the final week is on reducing that variance through continued prompting refinement and any remaining integration cleanup. No major changes to requirements or the block diagram were made this week.

Next Week

Going into the final week, the team’s focus is on polishing features based on user feedback, cleaning up the repository, completing the final poster and demo video, and consolidating all technical specs and lessons learned into the final report.

Team’s Status Report for 4/18

This week, the team reached its most significant milestone: full system integration is complete and all features are (somewhat) working end-to-end. Sida closed out the final firmware and software integration, Tatyana cleaned up the front-end and resolved a content scraping issue that had been degrading output quality, and the fixes came together into a system stable enough to put in front of real users.

The other major focus this week was user testing. The team designed and ran a structured user study, with standardized tester and moderator guidelines to ensure consistency across sessions. Results were analyzed and compiled into metrics for the final presentation, and the qualitative feedback from sessions will directly inform the polish work going into the final demo.

Next week: The team’s final push will focus on incorporating user feedback to refine features, doing more user testing, and preparing for the final demo.

Overall status: On schedule. Integration is done, testing has begun, and the remaining work is refinement.

Team Status Report for 4/4

This week, the team performed relatively well during the interim demo. The demonstration showed that the project is making solid progress, and the overall system was able to present its core idea effectively. The demo also helped confirm that the team is moving in the right direction while highlighting a few remaining areas that still need refinement. The communication between the Jetson and the Pico has been proven stable and full system integration is now nearly complete. Most of the major hardware and software components are working together, and the project is close to reaching a more finalized operational state. There are still a few features that are being polished or completed, but the system as a whole is much closer to the intended final design MVP.

The team’s main focus will now shift toward testing and verification. This includes developing and refining testing suites, making sure each feature can be evaluated in a structured way, and verifying that the system performs reliably under the intended use cases.

Currently, the testing plan consists of 4 grading rubrics for each of the main functions respectively and are attached below. The grading rubrics are on a 5-point scale and each feature has 6 criterions. A rough draft of user guide for the testers are also attached and will be refined later.

Next week, the team will continue finishing the remaining features while placing the main emphasis on testing and verification. The goal is to further refine the testing process and evaluate the integrated system more thoroughly.

Team Status report 3/29

This week the team focused on development in preparation for our upcoming demo, with progress across both software architecture and hardware integration.

On the software side, we moved from a host-side prototyping to the a device-side execution model. The host is now responsible for packet sending and a scraping interface rather than running the full stack. A key decision this week was to send data in the form of SQL queries to the device, which reduces GPU load on the Jetson and better leverages host-side processing power. We are actively working through communication challenges between the Jetson and Pico as part of closing the full development loop.

On the hardware side, the PCB is in hand and system integration has begun. In parallel, we started work on the device-side UI and screen, which presents its own challenges given the constraints of a 2.4″ display. The UI is fully planned and prototyped, and button mapping is complete. While this is not yet connected to live data or the full system pipeline, we made the deliberate call to advance it as a parallel workstream to avoid blocking on system integration debugging.

Our demo objective is to showcase multiple subsystems working in isolation, demonstrating the breadth of what has been built. The critical success metric for the demo is achieving at least one complete end-to-end loop — a single full pass through the system from input to output. Outstanding work before the demo includes finalizing the prompting library and developing robust, dynamic suggestion generation, which remain active areas of development.

Following a meeting with our TA and professor, we finalized a testing plan that covers both dimensions of evaluation. On the technical side, system outputs will be graded against defined criteria. On the qualitative side, we will recruit a random selection of users to evaluate and grade system responses, giving us a human-centered signal on output quality alongside the technical metrics. This dual approach gives us a well-rounded framework for validating the system ahead of final evaluation.

Key decisions this week:

  • Shifted architecture from host-side to device-side execution
  • Adopted SQL query format for host-to-device data transfer to optimize GPU load
  • Started device UI development as a parallel track to unblock progress
  • Finalized dual-track testing plan with TA and professor sign-off

Current blockers:

  • Jetson and Pico communication stability
  • Full system integration and end-to-end data flow not yet complete
  • Prompting library incomplete; dynamic suggestion system still in development

Team’s Status Report for 3/21

This week, the team’s focus is on integrating the connections between each part of the system and building toward a fully functional demo.

Between the host-side software and the Pi Pico, Sida and Tatyana have produced an MVP using the RAW HID reports. The protocol remains to be tested for heaviers load and actual feature calls, but the basic communication is tested to be functional.

Between the Pi Pico and the Jetson, Sida has produced an MVP using a UART connection between the GPIO of the Pi Pico and the 40-pin expansion header of the Jetson.

On the hardware side, most components have arrived, but the PCB has been delayed and is now expected next week. Once the PCB is in hand, Leonard can start with the physical assembly. In the meantime, Leonard is working on the testing suite.

The team also completed the ethical considerations discussion this week, including a worst-case scenario analysis and red-teaming feedback from other teams. We will incorporate the feedback into our interim demo and final showcase.

Next Week: The primary focus will be on hardware and system assembly to bring all parts together for a full demo. We will have separate meetings of two members for the integration tasks.

Biggest open risk: Both the PCB delay and delays caused by personal situations have some impact on the overall progress. We are 2-3 days behind our schedule, but we will make up for it to build the demo.

Team’s Status Report for 3/14

This week, the team focused on reviewing the feedback received during the design review and identifying areas for improvement in the testing and verification plan for the SPARK system. Based on the comments from the reviewers, the team discussed ways to make the validation process more systematic and measurable.

For upcoming week, the team will work  to clarify how system performance will be measured, including accuracy of generated outputs and the effectiveness of the system in supporting user interaction scenarios.

The team will also have a ethics discussion related to the SPARK system. As part of this process, the team will hold a short discussion session to consider potential ethical implications of the product if it were widely used or misused. The results of this discussion will be summarized and shared within the team communication channel, and the ideas will later be refined and incorporated into the ethics section of the final project report.

Team Status report 3/7

This week the team finished and submitted the design report. The biggest change from the draft was how we tell SPARK’s story. Rather than jumping straight into architecture, the report now opens by building the case for why on-device AI is a hard requirement in legal, healthcare, and compliance settings, not just a nice-to-have. That framing ended up making the use-case requirements feel a lot more motivated, since every performance target is now tied to a specific reason the product would fail without it.

On the technical side, we finalized a number of specs that were still estimates going into the week. UART baud rate is set at 921,600, which keeps bridge latency to ~13 ms per packet and takes it completely off the critical path. We also reworked the latency model to use a Time-to-First-Token constraint instead of a hard round-trip budget, which is more honest about how multi-window summarisation actually behaves, since it’s the heaviest task in the system and shouldn’t be held to the same deadline as a single autocomplete call. For the LLM, we settled on Phi-3 Mini running via llama.cpp on the Jetson AGX Xavier, with benchmark data showing 25 tokens/s output speed which satisfies our 20 tokens/s requirement.

We also added detailed diagrams for all five subsystems following feedback from the design presentation. That was probably the most concrete deliverable this week, since the architecture is now fully documented with dedicated figures rather than described in prose alone.

Next Week: The goal is first integration between the host-side Python app and the Jetson inference stack, connecting the context capture pipeline over UART, confirming SparkDB is writing snapshots correctly, and getting the full Capture-Distill-Infer cycle running end-to-end. We’re expecting to find bugs, not a working system. Formal integration testing starts the week of March 17 per the schedule.

Biggest open risk: Whether the 500 ms TTFT target holds under real workloads once the full context retrieval pipeline is active, rather than the isolated benchmark conditions we’ve been testing against. Our early integration should give us time to identify and address any gaps before the evaluation phase.

A was written by Leonard, B was written by Tatyana and C was written by Sida.

Part A: SPARK is designed to be useful far beyond the academic environment in which it was built. For a non-technical user, the barrier to AI assistance has never really been access to the technology itself, it has been the trust and setup cost that comes with it. A small business owner, a community health worker, or a local journalist does not have an IT department to configure a local LLM, and they are unlikely to read a privacy policy carefully enough to understand what a cloud tool does with their data. SPARK removes both of those barriers: it is a plug-in USB device that works without configuration, and its privacy guarantee is physical rather than contractual, the data never leaves the machine by design. This matters most for users in contexts where a data breach or regulatory violation is not an abstract risk but a concrete one, such as a clinic in a rural area handling patient records, a small law firm without enterprise-grade cloud security, or a freelance professional working with confidential client material. These users exist everywhere and share the same underlying need: powerful writing assistance that does not require them to be technically sophisticated or to place trust in a company they have never heard o

Part B: .Different cultures carry different expectations around privacy, data ownership, and trust in technology, and SPARK’s design accommodates that variation by default. In cultures where institutional trust is low or where government surveillance is a lived concern, the premise of a productivity tool that requires work to pass through a third-party server is not favorable regardless of capability. SPARK’s local-only architecture removes that barrier entirely. There is also a meaningful economic dimension: because SPARK is built on open-source models and infrastructure, it avoids the subscription costs that make cloud AI tools inaccessible in lower-income contexts. In professional cultures where confidentiality is not just a legal requirement but a deeply held ethical norm, such as attorney-client relationships or doctor-patient communication, SPARK’s design aligns with the values of the user rather than asking them to compromise those values for convenience.

Part C:The environmental footprint of AI is increasingly a point of concern, and SPARK’s architecture takes a meaningfully different position than cloud-based alternatives. Every query sent to a cloud AI provider is processed in a large data center, consuming significant energy and water for cooling at scale. SPARK performs all inference locally using small, quantized models on the Jetson AGX Xavier, which are substantially more energy-efficient than the large models running in cloud data centers. Smaller models require fewer computational resources per query, which translates directly to lower power draw and a reduced carbon footprint per interaction. The system is also designed for longevity: by running on existing hardware rather than requiring a continuously updated cloud subscription, SPARK reduces pressure to frequently upgrade devices, which in turn reduces electronic waste. The Jetson AGX Xavier was deliberately selected from existing ECE inventory, which aligns with a reuse ethos rather than driving demand for new hardware manufacturing.

Team Status Report for 2/21

  • Finished the Design Review presentation together.
  • Met and worked with TA to further refine our use cases and user stories
    • Specifically, we pivoted the idea from a writing assistant to a more powerful workflow assistant, powered by the more advanced hardware(Jetson AGX Xavier) we were able to borrow from the ECE Inventory.
    • The workflow assistant keeps track of the state of the system to perform four core functionality:
      1. Quick Summarize: Summarize what the user has been working on for the last 20-minute session. This can quickly provide context to chatbots, co-workers, or personal jouarnal.
      2. Keyword Search: Search deeper into more distant records of inputs and context to quickly get back on track of last changes.
      3. Auto Edit: Based on the context, edit the previously typed sentence to be grammatically correct and matching in tone.
      4. Auto-completion suggestions: Based on previous context, generate smarter auto-completions with local LLM.
  • Started with the template for the Design Review Document

Team Status Report for 2/14

This week, after the meeting on Wednesday with faculty and TA, the team thought that defining the right use-case example and requirement are still the main issue.

The team decided to refine SPARK’s core use-case requirements, which include four primary action categories: Synthesis, Text Reformatting, Keyword/Phrase Searching, and Response Drafting. Each use case was rewritten to include measurable behavior and concrete examples to better define expected functionality.

The team also worked together on making the block diagram for the SPARK system and discussed and prepared the design review slides for the presentation next week.

=======================================================

Part A (Sida) with respect to considerations of public health, safety or welfare:

Regarding public health, some people have developed a psychological attachment/affinity to their chatbots. Although our project’s features don’t include chatting with the LLM, we still need to be cautious about the longevity of our project. Our usage of locally hosted and open-source LLMs ensures that users won’t suddenly lose access to the model.

Part B (Leonard) with consideration of social factors:

On the topic of social factors, there are many concerns about AI replacing the human workforce. Our project’s scope is to increase the user’s work efficiency, not to replace any human effort. It remains to be determined what AI’s impact on society will be, but our goal is to empower each user.

Part C (Tatyana) with consideration of economic factors:

The cost of using AI poses an economic barrier to people with different financial statuses. Large businesses can afford to pay hundreds of thousands of dollars to self-host SOTA models or use API services. Individuals can pay monthly subscriptions to use less-capable models at slower rates. Self-hosting a decent model for everyday tasks isn’t financially reasonable yet, but our project can show that smaller models can be used to perform specific tasks and can meaningfully empower users with a one-time investment.

Team Status Report for 2/7

After the faculty meeting on Wednesday, the biggest takeaways are:

  • [scope ]need to prove that our solution/feature is interesting and valuable
  • [technical feasibility] Uncertainty about whether the hardware can run the LLM well enough, and if the LLM can complete our tasks well enough.

So we

  • Put together a user story that describes the scenario and pain points of users, and how our solution solves the problem and compares to other existing solutions. We defined our users to students managing multi-source academic writing, individuals with communication impairments needing typing assistance, and professionals with privacy concerns around intellectual property. These stories demonstrate how SPARK solves real problems and clearly differentiate our solution from existing alternatives like cloud-based AI assistants and manual workflow tools. We documented specific use cases including context-aware citation formatting, intelligent autocorrection that preserves meaning, and private workflow acceleration without data exposure risks.
  • Working on deploying the most powerful model on Jetson Nano Orin, also waiting for more powerful devices that we can borrow.

Moving forward, we want to finalize our UI design with mockups of the touchscreen interface and physical button layouts, to make sure the flow supports our usability requirements. We’re also creating a very clear, step-by-step walkthrough of our product that shows the complete user experience from setup through daily use across different scenarios. This will serve as a way to keep us aligned later in development.

We are going to develop a testing plan that addresses both quantitative metrics like latency and acceptance rates, as well as the more qualitative parameters that faculty raised concerns about in our design presentation. Specifically, we need rigorous evaluation criteria for the correctness of grammar fixes, appropriateness of tone adjustments, and overall quality of generative content. Such as designing test cases with clear rubrics and planning what our user testing sessions would look like as well.

Challneges:

Time is our biggest blocker as we need to prove a lot that out lllm deployment is strong enough  to accomplish what we want to do for our project.

Tatyana: User story development, testing plan framework
Sida: LLM deployment on Jetson,
Leonard: hardware research