Jahnvi’s Status Report for 4/18/26

This week I finalized the software architecture for the Magic Pillbox by working through various aspects of the backend design step by step. First I identified the core system requirements like structured medication and schedule data, reliable read and write operations between app and device a secure storage for our data, and a clean method to communicate with the ESP32.

Based on these requirements, I chose a relational SQL database because our system depends on strongly connected data such as users, devices, medications, schedules, and dose logs. After this, I compared various relational options and selected PostgreSQL as the best for due to its strong support for relational queries, data integrity and future adherence analytics. After this, I chose Supabase as a PostgreSQL platform because it provides authentication and secure user level access which aligns well with our Magic Pillbox requirements. After this, I finalized hybrid communication architecture in which the web app interacts with Supabase for user-facing data while the ESP32 connects over the Wifi using HTTPS requests to backend Route Handlers which then eventually reads from and writes to Supabase.

To make these design decisions, I had to learn and deep dive into backend system architecture, mainly the differences in databases, how webapps communicate with embedded hardware like ESP32 and I had to learn more about tools and concepts. To build this understanding, I used a mix of learning strategies rather than just using one website. I read some official documentation for the relevant platforms, which ones the industry prefers and uses and compared technical features as well as tradeoffs across options. This entire process helped me move from a broad understanding of possible software architectures to a more concrete and justified system design project.

I am a little behind schedule, I aim to finish most of the integration in the next 2 days so we can start testing. In terms of the overall schedule, I think we are on track for the final presentation, and we aim to start testing this week and complete all testing by mid next week, giving us enough time to write the report.

Jahnvi’s Status Report 4/4/26

This is week I just focused on fixing the app and making it ready for the interim demo. Most of the work went into improving stability and making sure the core workflows were in place. I also made sure they were smooth transitions between pages, and that time based features were correctly synced.

As we move into verification and validation, I mainly plan to test the app by running feature based tests for each of the major screen and user flow. This would include checking whether the medication setup saves and displays correctly, whether the Home page shows the right upcoming dose and countdown values, whether the logs appear with the correct status and whether the app handles issues like missing data or any other kind of errors. I will analyse the results by comparing the app’s actual output to the expected behavior for each requirement and noting which tests pass. This will also allow me to reveal bugs or any missing functionality. I will also test for structured test cases like expected user actions as well as edge cases. All in all, it will help show whether my software contribution meets the engineering and use-case requirements for reliability, clarity, and safe medication management support.

At the validation level, the app will be considered as part of the entire Magic Pillbox workflow rather than just an isolated sub-system. The key question here is whether the app supports our overall usecase of helping an older adult or caregiver safely manage medications. To evaluate this, we will look at whether the app makes it easy to set up medications, review the next scheduled dose and understand logs in a way that matches the goals for our project.

Currently, in terms of the schedule we are on track with the app. The only thing left is to integrate it with the software. I am currently researching methods that would be most ideal for such a system and will implement them by next week.

In terms of the overall schedule, we are slightly behind on the mechanical parts but should be caught up and ready by end of next week.

Jahnvi’s Status Report for 3/28/26

This week I built the frontend of the Magic Pillbox web app and made significant progress on the main user flow. I implemented the core pages including landing page, home dashboard, setup page, setup guide, logs page, signup age and login page along with a shared navigation bar to connect them all together. The setup page allows the user to add, edit, delete and clear medications while enforcing valid compartment assignments. The assignments make sure that caregivers/anyone filling up the pillbox can only assign pills to compartments 1 to 7 and prevent duplicate compartment use. The guide page includes the full step by step loading instructions for the pillbox. The home dashboard currently shows

  1. device status
  2. next dose
  3. countdown
  4. reminder information
  5. streaks
  6. refill alerts
  7. compartment status
  8. configured medications.

I also added a calendar style logs page with date-based summaries and detailed adherence records as stated by our use case requirements. I also added in app reminder banner and notification support.

There were some issues that i came across with time formatting, mock data consistency, page routing but was able to solve the after thorough debugging. Overall, the main frontend structure of the app is now built. This is on schedule with what our group had originally planned for our interim demo.

The goal for the coming weeks is to correctly integrate the software system with hardware and backend logic.

 

Jahnvi’s Status Report for 3/21/26

This week after the ethics lecture and red teaming discussion, our team reflected on an important risk in our design. One major issue we realised is that if a caretaker enters the medication schedule or plls incorrectly, it could create serious health hazards for the user. To solve this problem, we decided that the app should include a feature where the prescribing doctor can review or verify the entered schedule before it the pill dispenser starts dispensing. This is something I plan to add on to the software design. On the software side, I have been spending time learning Typescript and practicing it before fully starting the app development. I have completed the initial set up and now preparing to build out the core app parts.

I aim to finish the basic features by the end of the week so that the software part is ready for the interim demo. Overall, in terms of the timeline, it is looking fine.

As a team, we aim to finish the hardware and software separately and integrate it post the interim demo.

Jahnvi’s Status Report for 3/14

This week  I focused on planning the software side of our project which is the app for the system. I relooked at the main features we need the app to support namely medication setup, scheduling, reminders, dose logging and displaying the next scheduled dose. A major part of this week was comparing the different languages and framework options for the app. Initially, I was considering using Flutter. However, after weighing development speed and ease of use as well as what would fit our capstone timeline best, I decided that Typescript with React Native and Expo is the best choice for our project. This kind of stack would allow the app to support cross-platform development and do all the things it need to be able to do.

I also planned the order in which the app is built so that I can focus on the features that are most important. I created a personal schedule in order to stay on track for the interim demo. I also outlined the MVP around the core workflow which is medication setup, home screen, next dose display, reminders and dose logging.

Based on this, the first thing I will start building is the basic app structure. I will begin setting up the project on VS Code, creating the main screen skeletons and building the medication setup flow.

In terms of the overall schedule, I think there is enough time for our team to build all individual components as assigned in order to have something concrete for the demo.

Jahnvi’s Status Report for 3/7/2026

This week I worked on feedback based on our design presentation. We were asked to think of better ways to connect the pillbox and phone as well as look into more edge cases. The biggest change that we made to our design was switching from Bluetooth to home wifi using a REST API on the ESP32. I thought this change would be more straightforward and reliable for communication. Along with this, I also clarified online vs offline mode behavior. In online mode the app and pillbox stay synchronized with schedules and logging. In offline mode, the device continues to operate using a cached schedule and on device LEDs and buzzers. This allows dosing to be supported even when there is loss in connectivity.

Additionally, for multi-med doses, the device dispenses them into a single tray. If an error occurs, the entire dose is retried to avoid confusion. This was another edge case consideration.

We are a little behind schedule as we needed to already have the parts to build the box as well as have the app in the works. I think post spring break, we will use the week to catch up with our timeline and be on track in the coming weeks.

Jahnvi’s Status Report for 02/07

This week I helped revise and narrow the MVP to a clear use case for our smart pillbox. The target user requirements were strengthened through research and published U.S. data. NHANES and MEPS findings indicated that adults 65+ take about 4.3 medications on average. The refill model and capacity assumptions were made also more explicit, along with a concrete definition of what a missed-dose means. I mapped the state transitions: dispensed, pending, taken and escalation if not taken. Additionally, the online/offline behavior was made more concrete.

One key user requirement was defined: since each compartment stores one type of pill, multi-pill doses require sequential dispensing. If the dispense process begins about 2 minutes before the scheduled time, there would be enough time for pills to dispense in the tray before the scheduled time of the dose. The tray would then open at scheduled time. Such an approach would prevent any delays or waiting on the user end. Lastly, I helped with making the proposal presentation. 

Status: on schedule. Next week’s focus is to lock in all minute requirements in detail, finalize design decisions and tighten the app workflow.