-
Notifications
You must be signed in to change notification settings - Fork 0
Meeting minutes
Josua Louw edited this page Sep 9, 2026
·
16 revisions
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 27
Meeting Type: Internal sprint-planning meeting
Date: 07/09/2026
Time: 10:30
Location: In person (Colabs)
-
Attendees
Frikkie, Heindrich, Darius, Josua
-
Apologies
Nico let us know that he was sick
-
Discussion Summary
- Josua agreed with Darius to set up a local LLM to add phishing score to reported emails that are not ours.
- Darius will be implementing a system to create on the fly emails between two users based on context. He will also be looking into spear phishing email generation.
- Josua and Heindrich will work on a service that tracks communication between users on Slack to create more context and recommended senders for the simulations.
- Darius and Josua will see how to add CSV variables from the company service to the mailing service. The mailing service will then add company structure information.
- Josua will add security certificates to services for encrypted traffic across all the services.
- The team as a whole will work on moving DTOs to global DTOs for easier maintenance for backend communication.
- Frikkie and Nico will polish frontend (animations / grey-outs / page fits)
- Josua and Darius will see how they can fix the websocket communication.
-
Next Meeting
- 10 September Industry Client meeting
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 26
Meeting Type: Internal sprint-planning meeting
Date: 31/08/2026
Time: 10:30
Location: Online (Discord)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion Summary
- An update on which critical features needs to be implemented/completed before Demo 3 was given.
- Work to be done includes the service contract part that was recently lectured to show how frontend and backend communicates and what is expected from backend. Counts ~15 marks in demo 3. NFR testing (Heindrich to start with this using postman approach).
- Frikkie is to update the Help Centre page with more FAQs, more clickable links, as well as useful tutorials as the website features have expanded since Demo 2.
- All mock data on the remaining pages (Dashboard (2 views), Analytics, Reports, User profile) is to be replaced by actual data calls (or derived/inferred) by Frikkie
- Nico is to complete the last Wave page integration, as well as provide further help with the Mailing service or as needed.
- Deployment diagram finalisation (Josua).
- Deployment (to the domain) to be done by Josua - need up to date backend and frontend branches in dev and main. Might require assistance of another available group member.
- Company service card backend that allows admins to add a list of company employees using a csv (Josua), ready to be implemented on frontend (Frikkie).
- Employee ID to be added on Register page (frontend) - without this cannot register (Frikkie and Josua).
- Mailing page (Nico and Darius) integration to be completed.
- Change password (as admin from Users page), and also per user from settings page to be completed (Frikkie).
- Setting up of page once user has clicked on a phishing email that has a tracking ID and backend can track which user to deduct xp from said user (Frikkie and Darius).
- Any outstanding documentation to be done before Demo 3 to be done by all group members.
-
Next Meeting
- TBD (Internal meeting)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 25
Meeting Type: Industry mentor meeting
Date: 28/08/2026
Time: 15:30
Location: Online (Google meets)
-
Attendees
FiveGuys (all members present), Gilles Teuwen
-
Apologies
None.
-
Discussion Summary
- An update on the general progress of the project was made, and a general feeling of the group in terms of the general progress made.
- Frikkie demonstrated the current look and functionality of the analytics and reports pages, as well as the notifications function of the website. The last few features of the website that features mock data is to be replaced by actual data calls and/or derived data before Demo 3.
- Gilles commented that he is happy to note the progress, and also asked whether the group has considered any wow factors before Demo 4. The group commented that the main wow factor that will be focused on is spoofing of likely accounts to enhance the believability of the phishing 'campaigns'.
- Josua also added on the recent LLM developments regarding the setting up of mails which are rather successful, and further enhancements of this service will be done before Demo 4.
- Gilles also recommended the use of PostHog if the team is interested in using it as an all-in-one product analytics and developer platform that helps engineering and product teams understand user behavior, test features, and fix bugs in a single tool. He proceeded by demonstrating a few features (including analytics and session replays), and also commented that clients or examiners interested in devops often consider the use/integration of such a tool as an added 'bonus'.
-
Next Meeting
- 31 August (Internal meeting)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 24
Meeting Type: Academic mentor meeting
Date: 25/08/2026
Time: 13:30
Location: Online (Google meets)
-
Attendees
FiveGuys (all members present), Dr Avinash Singh
-
Apologies
None.
-
Discussion Summary
Note: relatively few activities are planned for this week as it is test week. Only a few additional updates were provided by the team in terms of progress relevant to Demo 3:- Opportunities were provided to ask Dr Singh specific questions regarding the expectations for demo 3. This included specific questions on documentation.
- Frikkie demonstrated the current look and functionality of the analytics and reports pages. As explained, only a few missing statistics-based features on the analytics page is to be implemented by the end of the week. The required endpoints and functions (backend, Heindrich) has since been implemented. The associated reports page is also functioning, with the exception of the Wave-related features (pending completion and integration from the backend side). Darius (backend) and Nico (frontend) has been busy with this.
- Dr Singh wanted to know if any other analytics-based statistics are planned to be displayed to which Heindrich answered that we are considering other useful statistics to be shown (both on the analytics page and dashboard pages, for example), but careful consideration regarding what is insightful and useful to calculate and show must be made.
- Josua also added on the recent LLM developments regarding the setting up of mails which are rather successful. This feature is to be refined more and will be fully functional by Demo 3.
- Dr Singh also advised us to have several accounts registered and ready to help demonstrate certain email-based functionality (especially during demo 3 and 4), which will add more value to the demonstration on the day.
-
Next Meeting
- 28 August (Industry mentor meeting)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 23
Meeting Type: Catch-up meeting
Date: 24/08/2026
Time: 16:30
Location: Online (Discord)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion Summary
Note: relatively few activities are planned for this week as it is test week. Only a few additional updates were provided by the team in terms of what was completed in the second week of the sprint:- The Wave service is essentially completed from the backend perspective (Darius). Nico is to complete the frontend integration by the end of the week.
- Emails: Add, edit, and delete functionality is yet to be integrated into the Email page frontend (Nico).
- The remaining functionality on the frontend of the analytics page is to be integrated (Frikkie) as Heindrich has completed the required functionality/services from the backend.
- The reports page integration (frontend) is to be completed using existing and new backend endpoints (Frikkie)
- Efforts regarding the update of documentation is required before Demo 3. The team is requested to consider specific questions to the academic mentor in order to ensure the documentation meets specific requirements for Demo 3.
- Discussions surrounding the planning of meetings during test week concluded where the Academic mentor meeting was then scheduled for the 25th of August, and the industry mentors meeting is to be arranged for the 28th of August (pending confirmation).
-
Next Meeting
- 25 August (Academic mentor meeting)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 22
Meeting Type: Catch-up meeting
Date: 21/08/2026
Time: 9:00
Location: Online (Discord)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Team discussed what all was done so far in the sprint covering the following items:
a) Wave service will be completed soon and will be able to be integrated with the outstanding basic functionality (Darius, Nico).
b) Emails: add edit and delete functionality will soon be integrated into the newly designed email frontend (Nico).
c) Demonstrated basic LLM functionality and email generation (Josua).
d) Frontend analytics design has been partially integrated and waves analytics is being prepared (Frikkie).
e) Role guards with Auth0 has been added on all existing endpoints (Heindrich).
f) The OTP and login endpoint is moved fully to the api-gateway(Josua).
- Team discussed what all was done so far in the sprint covering the following items:
-
Next Meeting
- 24 August (TBC)
- 24 August (TBC)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 21
Meeting Type: Sprint Planning meeting
Date: 17/08/2026
Time: 10:30
Location: In-person (Colabs)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Team agreed the sprint plan for the current sprint (17-28 August), covering the following items:
a) Wave service: complete the outstanding basic functionality (Darius, Nico).
b) Emails: add edit and delete functionality (Darius, Nico).
c) Set up basic LLM functionality (Darius).
d) Fix the emails page; move template edit/delete and scheduling functionality across to the wave service (Nico).
e) Fix the flow for where emails and waves are sent from (Darius, Josua).
f) Add frontend unit tests (Frikkie).
g) Fix account authentication with Auth0 (Heindrich, Josua).
h) Add CSV import functionality (Frikkie, Heindrich).
i) Move the OTP endpoint (Josua).
j) Set up a company data import service (to be confirmed - Frikkie).
k) Continue work on documentation (all members).
- Team agreed the sprint plan for the current sprint (17-28 August), covering the following items:
-
Next Meeting
- 20 August (TBC)
- 20 August (TBC)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 20
Meeting Type: Academic mentor meeting
Date: 14/08/2026
Time: 13:40
Location: Online
-
Attendees
Avinash Singh (Academic mentor); FiveGuys (4 members present)
-
Apologies
Nico Theron (unforeseen circumstances, car broke down).
-
Discussion summary
- Reviewed the Demo 2 grading rubric: total score 175/230 (76.09%).
- Largest mark losses: Architectural Requirements 12/20 (–8); Five (5) Core Features 43/50 (–7); - Updated Brand Style Guide 0/5 (–5, might be due to AI checks, to be confirmed with Keith as he was the marker for that section); Testing Policy Document 5.5/10 (–4.5); CI/Testing 15/20 (–5); Coding Standards Document 6/10 (–4); Updated Use Cases + Use Case Diagrams 6/10 (–4); Lecturer Mentor score 7/10 (–3).
- Full marks retained on: Project Overview, Updated Functional Requirements, Deployment Diagram, User Manual Document, and Industry Mentor score.
- Q&A (8/10) and Overall Demo Presentation (7.5/10) deductions not fully explained by the rubric.
- Avinash explained that the marks obtained were in general good, and also pointed out specific improvements that could be made in the areas where the most marks were lost.
- Agreed improvement actions ahead of Demo 3: submit the Brand Style Guide; expand the Testing Policy and Coding Standards documents; strengthen Architectural Requirements justification; revise Use Cases and Use Case Diagrams; tighten core feature delivery and Q&A preparation.
- Reviewed the Demo 2 grading rubric: total score 175/230 (76.09%).
-
Next Meeting
- 17 August (Internal)
- 17 August (Internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 19
Meeting Type: Industry mentor meeting
Date: 13/08/2026
Time: 13:45
Location: Online
-
Attendees
Michael Horwitz and Gilles Teuwen (Industry Mentors); FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Reviewed Demo 2 outcome: team achieved a distinction overall, but lost marks on documentation, overall presentation, and Q&A on the five core features (7 marks lost) – reasons unclear, team to query the markers.
- Agreed to send Michael the Demo 2 recording and a short written summary rather than doing a live walkthrough.
- System status: leaderboard and XP live (XP awarded for correct incident reports; incorrect reports assign an education-page task that also awards XP); user management page complete; email, scheduling, and campaign functionality working (campaigns being refactored); admin analytics page still outstanding; LLM service and analytics service remain the two MVP blockers.
- Domain names: Michael has permission to register the project domains; the registration gateway was down at the time, so he will retry or purchase directly and reconcile later.
- DevOps update (Josua): moved from a single Docker Compose file to separated production and staging environments with resource limiting configured; performance and resource usage are better than expected.
- Phishing email difficulty tiers (Darius) proposed: Low (generic, non-personalised), Medium (common user data via shared templates), Hard (additional personal data, sourced from client-provided company data or possibly data scraping), plus a new “bonus” tier for a single admin-crafted targeted (spear-phishing) email kept outside MVP scope.
- Data-sourcing options discussed: third-party scraping services vs. searching existing leaked/aggregated data, both raising ToS/ethical concerns (e.g. LinkedIn).
- Michael's guidance: prioritise legitimate company-provided data and common workplace-tool APIs (Slack/Discord/CRM) over external scraping; if scraping is explored later, keep it narrowly targeted rather than mass/automated, use a proxy, and restrict testing to consenting participants.
- Suggested an organogram upload feature so simulated emails reflect plausible reporting lines, and a communication-graph visualisation (from Slack/Discord data) showing phishing/priming emails as coloured arrows over legitimate communication links.
- Registration: Josua proposed importing an employee list (e.g. CSV) to restrict registration to verified employees; agreed as a good direction, to be demoed with a handcrafted sample CSV.
- Reviewed Demo 2 outcome: team achieved a distinction overall, but lost marks on documentation, overall presentation, and Q&A on the five core features (7 marks lost) – reasons unclear, team to query the markers.
-
Next Meeting
- 14 August (Academic mentor)
- 14 August (Academic mentor)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 18
Meeting Type: Catch-up meeting
Date: 10/08/2026
Time: 10:30
Location: In-person (Colabs)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Reviewed the sprint board (GitHub Wiki): Backlog 6/10 items (estimate 17 points, not started); Ready 2/5 items (estimate 9 points); In Progress 6/10 items (estimate 24 points); In Review 1/5 items (estimate 1 point); Done this sprint 19 items (estimate 58 points).
- Darius in progress on moving batch-emails to the Wave Service (#350) and adding the waves/wave-recipient table (#351); Ready items #307 (variable substitution for email sending endpoints) and #306 (user variable table for mailing) queued up next.
- Heindrich in progress on the analytics service (#290, 83% complete) and per-user stats (#334); general stats for overview (#331) currently in review.
- Frikkie completed accessibility functionality under Settings (#309) and the “for other companies” landing page section (#311).
- Nico completed the Outlook add-in logo change (#319).
- Josua completed Docker image compaction via multi-staging (#339). Agreed priority is to close out the remaining In Progress P0 items (analytics service, wave-service migration) before the team picks up new Backlog items.
- Reviewed the sprint board (GitHub Wiki): Backlog 6/10 items (estimate 17 points, not started); Ready 2/5 items (estimate 9 points); In Progress 6/10 items (estimate 24 points); In Review 1/5 items (estimate 1 point); Done this sprint 19 items (estimate 58 points).
-
Next Meeting
- 13 August (Industry Mentors)
- 13 August (Industry Mentors)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 17
Meeting Type: Catch-up meeting
Date: 06/08/2026
Time: 13:30
Location: Online
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Team members suggested a selection of possible domains, from which we selected the top 3 selected as a group (example-company.co.za; gmaill.co.za; office365.co.za). To be presented to Industry mentors for a final selection of two domains to be used - example-company.co.za and gmaill.co.za was selected.
- Official decision to change "Campaigns" to "Phishing Waves".
- Josua would also like to request 8GB (instead of the current 4GB) of RAM for the server (to support the service to create medium difficulty phishing emails). To be also presented to the Industry Mentors.
- Nico to streamline the owl logo on the frontend and email widget (MS Outlook).
- Darius explained what he envisioned for the web hook, as well as the possibility of setting up and using ngrok.
- Team members suggested a selection of possible domains, from which we selected the top 3 selected as a group (example-company.co.za; gmaill.co.za; office365.co.za). To be presented to Industry mentors for a final selection of two domains to be used - example-company.co.za and gmaill.co.za was selected.
-
Next Meeting
- 10 August (Internal)
- 10 August (Internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 16
Meeting Type: Sprint planning
Date: 03/08/2026
Time: 10:30
Location: Co-labs (IT building)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Josua confirmed a list of team members' "to-do" items for the new sprint (3-14 Aug).
- Heindrich and Frikkie was tasked with setting up the frontend and backend for the Analytics Service. Frikkie should communicate which services/endpoints is required from the backend to display correctly and remove the current mock data.
- Darius and Nico was tasked with working on the mailing service by enhancing/improving the current functionality. A suggestion was made to separate the Campaigns page into a "Phishing Waves" (or similar) page, and a separate Emails page. This obviously also affects Frontend.
- Josua advised on setting up specific issues on the project board for each team member, along with an effort estimate, start and end dates, priority, and Demo 3 goal. The burndown chart also needs to be updated accordingly. The idea is to have at least three issues completed by the end of the first week, or six by the end of the second week.
- Darius is also to be involved in the expansion of the LLM-based service.
- Josua is also to be involved in the setting up of the LLM-based service, and the improvement of Waves (Campaigns) service, resource limits, and staging to production pipeline.
- Josua confirmed a list of team members' "to-do" items for the new sprint (3-14 Aug).
-
Next Meeting
- 06 August (Internal)
- 06 August (Internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 15
Meeting Type: Demo 2 planning
Date: 27/07/2026
Time: 10:30
Location: Orbital, Chemistry building
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Josua confirmed how many of each team members' "to-do" items have been completed.
- Darius and Frikkie was tasked with completing the websocket-related live XP updates by having full integration of the frontend and backend. This seems to be completed and functioning. Confirmation followed later the same day with all members present.
- Heindrich and Nico was tasked with completing the training service by having full integration of the frontend and backend. This also seems to be completed and functioning properly.
- Josua completed additional documentation according to the guidlines and advice from Avinash from the previous meeting. Each of the other team members also had documentation tasks assigned to them. Each member gave a brief update on the progress of updating the documentation. The majority confirmed completion by Wednesday.
- Heindrich also completed an upgrade of user-related details saved upon registration for use in the website.
- It was mentioned that a set of slides is still to be set up for Demo 2.
- Josua confirmed how many of each team members' "to-do" items have been completed.
-
Next Meeting
- 30 July (Industry mentors and Demo 2 mock presentation)
- 30 July (Industry mentors and Demo 2 mock presentation)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 14
Meeting Type: Capstone project demonstration to Industry mentors and clients
Date: 24/07/2026
Time: 09:30
Location: COZA house, Midrand (in-person)
-
Attendees
FiveGuys (all members present); Michael Horwitz; Gilles Teuwen; Mark Botros; Inge Odendaal; DNS staff; Avinash Singh (online).
-
Apologies
None.
-
Discussion summary
- The purpose of the meeting was to demonstrate the latest progress of the PhishShield platform and receive technical feedback from the industry mentors in preparation for the final stages of the Capstone project.
- The team presented the project vision as an enterprise human-risk management platform that combines phishing simulations, employee awareness training and gamification to improve organisational cybersecurity. A live demonstration showcased campaign management, phishing email reporting through the Outlook add-in, administrator functionality and the current analytics dashboard.
- The Outlook add-in was demonstrated, allowing users to report suspicious emails directly from Outlook. The team explained the planned deployment process together with the use of webhooks and event-driven communication to monitor user interactions throughout phishing campaigns.
- A discussion followed regarding the business value of the analytics service. The mentors indicated that the analytics dashboard should become one of the primary features of the platform by providing organisations with measurable statistics, including the number of users who ignore, open, click, reply to or correctly report phishing emails. Additional analytics should allow administrators to identify departments or individuals requiring additional awareness training over time.
- The team discussed the current gamification system based on experience points and leaderboards. Although concerns were raised that competitive elements may encourage undesirable behaviour in a corporate environment, it was agreed that gamification remains an appropriate feature for the Capstone project as it demonstrates additional system functionality and educational value.
- The workflow for incorrectly reported emails was discussed in detail. The mentors recommended that users who repeatedly submit false reports should be assigned additional educational exercises or quizzes before recovering lost experience points. This would reinforce positive user behaviour while maintaining the educational focus of the platform.
- Further discussion focused on the practical business value of the system. Rather than simply classifying emails as phishing or legitimate, all reported emails should be retained as auditable units of work, allowing organisations to investigate reports, close the feedback loop and distribute internal security bulletins where appropriate.
- The mentors strongly recommended implementing realistic phishing simulations through controlled email spoofing. It was agreed that spoofing trusted internal users, such as managers or executives, would better simulate real-world phishing attacks provided that organisations explicitly authorise this functionality. Administrators should therefore be able to configure approved spoofed sender addresses within defined organisational policies.
- Josua presented the overall microservices architecture, including the API Gateway, RabbitMQ event-driven communication, WebSocket updates, Docker containerisation and the continuous integration and deployment pipeline. The mentors were satisfied with the architectural approach and encouraged the team to continue improving deployment stability and documentation.
- The meeting concluded with discussion of the remaining work before the final demonstration. The team agreed to focus on completing the campaign microservice, simulation service, Outlook add-in deployment, analytics improvements, spoofing functionality and restoration of the staging environment. Note that not all of this before Demo 2.
- In the online meeting (separately with Avinash Singh) Josua proceeded to take Avinash through the latest version of the Software Requirements Specification and supporting documentation to confirm that the overall structure and level of detail were progressing in the correct direction. Minor suggestions regarding the organisation of the documentation were discussed. Frikkie requested clarification regarding the expected scope of the "Help Centre" listed within the project specification. Avinash explained that the feature should provide an integrated help resource for users through documentation and guidance within the application (with associated screenshots in the User Manual). Avinash commented that the overall implementation progress remained satisfactory. However, he noted that the project documentation was beginning to fall behind the implementation and advised the team to prioritise updating the SRS, design documentation and supporting GitHub documentation during the following week in preparation for Demo 2.
- The purpose of the meeting was to demonstrate the latest progress of the PhishShield platform and receive technical feedback from the industry mentors in preparation for the final stages of the Capstone project.
-
Next Meeting
- 27 July 2026 (Internal)
- 27 July 2026 (Internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 13
Meeting Type: Sprint planning and catch-up
Date: 20/07/2026
Time: 12:30
Location: in-person
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Josua opened the meeting by outlining the objectives for the final development sprint before Demo 2. The primary focus would shift from implementing additional functionality towards refining the existing system, improving stability and completing deployment tasks.
- Darius indicated that he would complete the campaign microservice and continue refining the mailing workflow. He would also assist with integrating the simulation service where required.
- Nico reported that the Outlook add-in was functioning well and would focus on final deployment together with improvements to the administrator dashboard and campaign management interface (with Darius).
- Heindrich stated that he would continue improving communication between services, complete outstanding backend integrations and assist with testing of event-driven functionality between the various microservices.
- Frikkie indicated that he would complete the remaining frontend integration work, improve the Leaderboard page and ensure that all API gateway endpoints were correctly connected to the user interface. Additional effort would also be spent improving the overall consistency and responsiveness of the frontend.
- Josua discussed preparations for Demo 2, including presentation structure, system architecture explanations and ensuring that documentation reflected the final implementation. The team agreed that the demonstration should emphasise the overall workflow from campaign creation through phishing simulation, reporting, leaderboard checking and user training.
- The group also agreed that final testing should prioritise realistic end-to-end scenarios and that all major services should be deployed to the staging environment before the industry mentor meeting.
- Josua opened the meeting by outlining the objectives for the final development sprint before Demo 2. The primary focus would shift from implementing additional functionality towards refining the existing system, improving stability and completing deployment tasks.
-
Next Meeting
- 24 July 2026 (Industry mentors, Academic mentor)
- 24 July 2026 (Industry mentors, Academic mentor)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 12
Meeting Type: Catch-up
Date: 29/06/2026
Time: 12:30
Location: online
-
Attendees
FiveGuys (all members present); Avinash Singh
-
Apologies
None.
-
Discussion summary
- The purpose of the meeting was to review the team's progress since Demo 1 and to discuss the technical direction for the next development sprint.
- Josua explained the current integration of the microservices and provided an overview of the deployment pipeline. The authentication, accounts and mailing services were communicating successfully through the API gateway, while additional work remained on several event-driven interactions.
- Nico demonstrated the progress made on the frontend together with the Outlook add-in. The user interface had become considerably more dynamic, with live updates replacing several remaining mocked components. Feedback was received on improving the consistency of the user experience across administrator and employee pages.
- Darius explained the progress made on the campaign management functionality and the mailing service. Discussion focused on ensuring that campaign creation, scheduling and email delivery remained sufficiently modular to support future expansion.
- Heindrich explained improvements to the accounts service and authentication flow, particularly with respect to user roles, permissions and endpoint security. The importance of maintaining clear service boundaries while exposing only the required API endpoints was emphasized.
- Frikkie demonstrated the latest frontend integration work, including role-based pages and improved communication with backend services through the API gateway. Minor interface improvements and consistency between components were suggested.
- Avinash indicated that the project continued to progress well and that the architectural decisions remained appropriate. He encouraged the team to continue replacing mocked functionality with fully implemented features before the next demonstration and to focus on measurable completion of the remaining functional requirements rather than implementing additional features.
- The team also discussed strengthening automated testing and ensuring that documentation remained synchronized with the implementation as development continued.
- The purpose of the meeting was to review the team's progress since Demo 1 and to discuss the technical direction for the next development sprint.
-
Next Meeting
- 20 July 2026 (ongoing recess, internal)
- 20 July 2026 (ongoing recess, internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 11
Meeting Type: Sprint planning meeting
Date: 26/05/2026
Time: 12:30
Location: online
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Josua spoke with Darius about the emailing system on what steps need to be done next.
- Darius said that he will work on the mailing service to make sure it has all the required functionality. He will also merge the current scheduling endpoint into the backend branch.
- Josua showed the team on the next few steps that the team will need to work on in the current sprint.
- Nico said he will work on the frontend page for the scheduling of campaigns to work with Darius's scheduling endpoint. Nico also said he will continue working on the outlook add-in component so that it can work for other outlook versions etc.
- Heindrich said he will work on the accounts service to make sure it does all that it needs to especially focusing on returning email and roles of users.
- Frikkie will work on the frontend design and begin connecting API-gateway endpoints to the frontend so that the two systems can begin to be more dynamic.
- Josua explained how one can just make API-gateway endpoints without implementing them currently so that the frontend and backend developers can just have an idea on all the data needed for the frontend.
- Josua also said he will begin setting up new services and do research for the event system. He will also continue working on the docker files to make sure that the containers are secure as well as looking into deploying the current accounts service so that CD can begin to be setup.
- At the end of the meeting Darius and Josua spoke on some potential questions that can be asked with the industry mentors on how to have a proper CD line and project file management.
-
Next Meeting
- TBD (exam season and recess)
- TBD (exam season and recess)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 10
Meeting Type: Follow up meeting
Date: 21/05/2026
Time: 12:30
Location: Orbital (Chemistry 2-1)
-
Attendees
FiveGuys (all members present); Michael Horwitz; Gilles Leuwin; Avinash Singh
-
Apologies
None.
-
Discussion summary
- The purpose of this meeting was for the team to refine their demo strategy and technical presentation where specific approaches such as the inclusion of user story narratives.
- The team demonstrated the preliminary implementation of a microservices architecture using Docker and an Application Programming Interface (API) gateway. They established a sandwich testing methodology with an acceptable coverage across the integrated tool stack.
- The focus of Demo 1 would be more on the documentation side, while also monitoring general system progress. In terms of the documentation, specifics mentioned included: the Github repo - documentation loaded, a link to the Wiki and integrated README's, link to use cases and other specification documents, user stories, and test cases.
- Avinash mentioned that he is in general satisfied with the progress made. He advised on also looking at the non-functional requirements (i.e. that more needs to be done on this end; in addition to each requirement we would need some sort of metric to measure how "usable" the feature/system is. We need to make a decision on which "tools" to use, and which metrics would be appropriate.
- Avinash also required clarification on the use of the queue in the Architecture Diagram; it decided that renaming it to accounts events queue for clarity would be better.
- Design specifications: Avinash advised the inclusion of pictures of actual colours, the cards, modals, toasts, etc. used in the frontend to feature in the documentation. This then needs to be linked in md formmat on Github.
- Nico then proceeded to demonstrate parts of the system fuctionality.
- The group proceeded to do a mock presentation using prepared pptx slides and a live demo of what currently was available in order to receive feedback for Demo 1 (Friday, 22 May 2026).
- The industry mentors and academic mentor were all satisfied with what the group had to present at the moment and advised on specifics to improve during Demo 1. Gilles indicated that as an important point, the team will need to clearly distinguish between mocked and functional data and outline planned future features during the demo to properly manage marker expectations. Complete rehearsals were also suggested to help improve the flow and instill more confidence of the speakers. We would also need to provide a technical explanation for the specific use of Jest and Vitest in the development stack. The latest working version would also need to be merged to the main branch as soon as possible. The use of user stories to demonstrate how the system components fit together cohesively according to the user that uses is was also recommended.
-
Next Meeting
- 26 May 2026 (internal)
- 26 May 2026 (internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 09
Meeting Type: Follow up meeting
Date: 20/05/2026
Time: 12:30
Location: Orbital (Chemistry 2-1)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Darius indicated in order to complete a core use case, he requires a fage on the front end that would enable a user (later only an admin) to create and send an email (as an existing draft) to start a campaign. He also indicated that the endpoints need to exist for the requests that would need to be made (POST, GET).
- Darius also indicated that we would need to implement the ability to view users' XP live as the user successfully reports an email as spam, such that the XP update feature is dynamic and not based on mock data. We also would need some sort of notification feature.
- Josua worked on finalizing any outstanding documentation required for Demo 1 (this included an updated Architecture diagram, migration of sprint-related documents to the repository's Wiki page, etc.).
- Nico indicated that he needs to work on adding Darius' custom add-in notifications with XP updates related to when a user successfully flags an email as spam. He also had success with the Outlook add-in (along with isolated testing that also works). He then said he will continue to work on viewing individual user XP from the frontend side - where it should update dynamically as updates occur.
- Heindrich assisted with issues related to the integration of front-end and back-end.
- Frikkie finalised the addition of missing front-end pages, and then also helped with the front-end and back-end integration specifically for registration and login.
-
Next Meeting
- 21 May 2026 (Industry mentor; Academic mentor)
- 21 May 2026 (Industry mentor; Academic mentor)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 08
Meeting Type: Standup meeting
Date: 18/05/2026
Time: 14:00
Location: Colabs
-
Attendees
Josua, Darius, Nico, Heindrich
-
Apologies
Frikkie excused himself since he needed to attend a graduation
-
Discussion summary
- Nico shared on how the frontend development is going. The design specifications website is being set up and that Frikkie has set up a few of the pages for the frontend website view.
- Heindrich said that the auth service should be good and that the accounts service will be seen to as well as the api-gateway.
- Darius said that the mailing service should be almost done and that he will also work on the api-gateway.
- Josua shared that the last weeks work will be soon integrated into the dev branch and that integration should soon start taking place.
-
Next Meeting
- 20 May 2026 (standup)
- 20 May 2026 (standup)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 07
Meeting Type: Standup meeting
Date: 18/05/2026
Time: 14:00
Location: Colabs
-
Attendees
FiveGuys (all members present); Michael Horwitz; Gilles Teuwen
-
Apologies
None
-
Discussion summary
- Technical progress updates and architectural guidance facilitate finalizing the primary vertical slice for the upcoming demo.
- The team decided to implement the Remote Procedure Call (RPC) pattern for managing event-driven dependencies that require request-response feedback.
- Backend services and Outlook add-ins are deployed. Unit testing for account services is currently underway.
- The team prioritized a functional vertical slice for the demo. Continuous deployment was mandated to mitigate integration risks.
- Mockups were reviewed with additions requested for event tracking. A practice demo is scheduled for next Thursday.
- The team decided to include a granular email reporting feature in the project scope to allow users to track specific email event statuses and outcomes.
- The team decided to use the GitHub Container Registry for storing and managing container images for the project.
- More meeting details: (i) Josua reports that the team has focused on documentation and initial setup, including the frontend project files and Figma designs. Nico is developing the Outlook add-in, while the team has successfully deployed the account service, email service, and API gateway on the backend. (ii) Heindrich confirms that the basic account service, specifically the login and registration functionality required for the first demo, is complete and utilizes Auth0 for authorization. He is currently transitioning to writing unit and end-to-end tests for this service. (iii) Darius has established the emailing service for saving and sending emails and has created the necessary Docker file templates and configuration files to support the service. (iv) Nico has the Outlook add-in working on the web version of Outlook and is currently resolving mobile manifest issues. Frikkie and Nico have completed extensive Figma wireframes and design work, with plans to begin React development after upcoming tests to ensure backend-to-frontend endpoint integration. (v) Michael and Gilles emphasize that for the demo scheduled for next Friday, the team should prioritize a functional "vertical" slice of the system rather than focusing solely on design polish. They highlight that demonstrating a working use case is more valuable for this stage than having multiple unfinished components. Gilles strongly advises the team to implement continuous deployment immediately. He notes that identifying and fixing individual deployment errors as they occur is significantly more efficient than attempting to resolve a large stack of integration issues at the end of the project. Gilles explains the technical distinction between HTTP and event-driven systems, noting that event-driven architectures do not provide request-response behavior by default. He recommends that the team use Remote Procedure Calls for operations requiring confirmation—such as user creation—while confirming that standard publish-subscribe patterns are appropriate for "fire-and-forget" events like XP updates or general email notifications. (vi) Michael intends to coordinate with the DevOps team regarding the DNS records. Additionally, they instruct the team to test SSH access to the server using port 24822 to verify VPN requirements. Gilles suggests that the team utilize the GitHub Container Registry for Docker builds, as the project repository is public.
-
Next Meeting
- 18 May 2026 (standup)
- 18 May 2026 (standup)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 06
Meeting Type: Standup meeting
Date: 11/05/2026
Time: 14:00
Location: Chemistry 2-1 (Orbital)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Frikkie + Nico: Display and discuss wireframes (Figma) currently available, and features to be added on selected frames.
- Nico mentioned certain difficulties conntected to the insert of the "Report Phishing" add-in in Outlook - specifically across the different platforms. It was decided to use the web-based version for Demo 1 as this is currently working.
- Heindrich mentioned that Auth0 is set up and ready to use (backend, stores passwords securely). Mention of type ORM is useful since it does not formally require a set up DB, it allows for (pseudo) mock ups. Login and Registration is almost set up.
- Josua: Documentation update - move some to github Wiki (i.e. Scrum Documents). Test cases for Demo 1 (use cases) to be set up. Josua also mentioned that the Architecture diagram is to be finalised by him, and that he started with the construction of the Domain Model.
- Frikkie + Nico: Get started on several role-dependent React pages that need to be rendered (especially for Demo 1).
- Darius: Succeeded in the setting up of the env file (also mentioned that there will be several adjustments/versions) in the future. He also has
succeeded in the setup of Docker (template), and that the Mail Service is currently being set up.
- All of the above features mentioned is in relation to the specific use cases that is to be implemented for Demo 1.
-
Next Meeting
- 14 May 2026 (Catchup with Industry Mentors)
- 14 May 2026 (Catchup with Industry Mentors)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 05
Meeting Type: Catchup meeting
Date: 11/05/2026
Time: 13:30
Location: Chemistry 2-1 (Orbital)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Discussion of branching strategy – use parentheses to indicate source for branching.
- Get started with installation and setup (see previous meeting notes).
- Distribute use case implementations for Demo 1.
- Thoughts about database design (i.e. tables required for Demo 1, microservice-dependent).
- Frikkie + Nico: Get started on wireframes (Figma) for several role-dependent pages that need to be rendered.
- Heindrich + Darius: Get started on backend (register, login, auth implementation) where mocking could be used where necessary.
- Josua indicated that we need to try and separate logic and rendering (on the frontend) for testing purposes later.
5.** Next Meeting**
- 13 May 2026 (standup)
1.** Meeting Details**
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 04
Meeting Type: Catchup meeting
Date: 10/05/2026
Time: 13:00
Location: Online (Google Meets)
2. Attendees
FiveGuys (all members present)
3. Apologies
None.
4.** Discussion summary**
- Josua indicated that he is busy setting up the CI/CD pipeline for the repository. All pull requests to dev and main branches will undergo CI/CD testing. Discussion of the layout/structure, as well as the API Gateway that is set up for API development.
- Each should install Outlook and have a “test” account ready.
- Pnpm + NestJS should be installed (Globally), and then inside each relevant folder (i.e. backend, frontend) pnpm install again.
- Use Obsidian to view docs (live changes) including scrum files.
- Create sub-issues where appropriate, each member should update and create new issues as appropriate. Demo 1 is fast approaching.
- The group needs to focus on the implementation of 3 identified use cases.
- Design and Specifications document – Frikkie and Nico: Finalise and upload.
5.** Next Meeting**
- 11 May 2026 (internal)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 03
Meeting Type: Architecture and design decisions
Date: 02/05/2026
Time: 13:00
Location: Online (Discord)
-
Attendees
FiveGuys (all members present)
-
Apologies
None.
-
Discussion summary
- Each member presented research topics assigned to them (Github project board) in the following order:
- Heindrich Jansen: LLM fall back & LangChain orchestration (including NestJS implementation); Auth0 vs Firebase for RBAC and Outlook SSO; Architecture (authentication and authorization)
- Nico Theron: Tailwind CSS; Office.js APO capabilities and Outlook add-in lifecycle; Data anonymisation and POPIA/GDPR compliance
- Darius Erasmus: Mail technologies (problems and solutions, use of Resend and Mailu – choice of architecture first needs to be considered)
- Frikkie Malan: Tailwind CSS; Office.js APO capabilities and Outlook add-in lifecycle; Auth0 vs Firebase for RBAC and Outlook SSO (in all cases, coherence with what Heindrich and Nico presented)
- Josua Louw: Architecture style (Service-Oriented (SO) versus Microservices (MS)) – with each incorporating an event bus feature; Docker and CI/CD setup; Real-time gamification and websocket architecture
- Josua elaborated on the proposed architecture diagrams for both SOA and MS architectures.
- The group voted for a preferred architecture: SOA vs MS. Outcome: MS (5 out of 5 votes)
- The group voted for a preferred Agile methodology: Scrum vs Extreme Programming. Outcome: Extreme Programming (4 out of 5 votes).
- Use case prioritization for implementation was discussed. The proposed traceability matrix was consulted, along with the revised functional requirements and use cases. It was decided to focus on UC1, UC6, and UC10 (with UC13 as a fallback) for the first demonstration (Demo 1, have it implemented).
- The research documents (Word and PDF) also to be converted to its md version for loading/linking to GitHub.
-
Next Meeting
- 11 May 2026 (internal)
- 20/21 May 2026 (Industry mentors; to be confirmed)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 02
Meeting Type: Catchup meeting
Date: 29/04/2026
Time: 11:00
Location: Online (Google Meets)
-
Attendees
FiveGuys (all members present); Michael Horwitz
-
Apologies
None.
-
Discussion summary
- Michael opened the meeting to catch up, review functional requirements and architecture, and plan for Demo 1, including bi-weekly meeting schedules.
- Meeting reviewed project requirements and architecture with decisions regarding team methodology and development timelines.
- Functional requirements and microservices architecture were reviewed for granularity and atomicity. Teams gained flexibility to switch to Service Oriented Architecture.
- Michael expressed overall satisfaction with the team's functional requirements, noting that they had the "right idea for the most part," though one or two items needed adjustment or to be more granular. The architecture was also described as a "good microservices" approach that would benefit from more grouping and elaboration.
- Josua asked if justifications for non-functional requirements should be included in the document for the demo. Michael advised that having the justifications written down, even if not strictly in the document, is important for the team to understand the reasoning behind their choices and to be prepared to justify them during marking or demos.
- Update Architecture: Review microservices versus service-oriented architecture; finalize the chosen architecture; elaborate component grouping in the diagram.
- Michael cautioned the team about ensuring the microservices remain atomic and modular, suggesting that if the architecture becomes too complicated or involves a central orchestrating API gateway, it moves away from a true microservices model.
- Josua noted that the API gateway handling data from multiple services felt like it was performing business logic, expressing curiosity about switching to a Service-Oriented Architecture (SOA). Michael confirmed that the team is allowed to switch architectures, especially if they find that forcing a microservices model is making things too complicated, and stressed that the ability to justify the chosen architecture is the key requirement.
- Document NFR Justifications: Write down reasons supporting selected non-functional requirements for team understanding.
- Team considers shifting from Extreme Programming to Scrum methodology. Development is scheduled to commence after test week for the 22 May demo.
- Start Development: Initiate project development immediately, setting up the repository; ensure basic landing pages are functional.
- Choose Use Cases: Decide on 3 project-specific use cases for Demo 1 implementation; use the system requirement specification document for selection.
- Michael urged the team to begin development as soon as possible after test week, as early development often reveals necessary changes to requirements.
- Josua asked if switching from Extreme Programming to Scrum would be acceptable for their team management, particularly given the potential move away from microservices. Michael supported the move, stating that the team should modify their process to fit their specific needs as university students, and encouraged them to still utilize continuous delivery even with a Service-Oriented Architecture
- VPN access for servers will be investigated for demo day simplification. Strategic project goals focus on Capstone awards and career advancement.
- Resolve VPN Access: Follow up with Mark and DevOps to obtain the WGO configuration file. Negotiate moving server access outside the VPN requirement later.
- Michael explained that the VPN is necessary because the servers are housed securely and confirmed they will follow up with Mark to obtain the WGO configuration file, while also investigating the possibility of moving the server out of the VPN completely to simplify demo day access.
- Josua opted to send a preliminary meeting schedule: Finalize the consistent schedule for team and client meetings; send the finished schedule to Michael later.
- Capstone Goals and Awards: The team shared their goals, which included completing the project and aiming to secure some of the Capstone awards. Michael provided an overview of potential awards, such as those for excellence in software engineering, security, DevOps, and agile development, suggesting that aiming for a specific award can help guide their development and documentation practices.
- Michael proposed that for the next meeting, the team should have revisited and decided on their final architecture, cleaned up the diagram, and ideally begun development work, even if only setting up the basic repository structure and landing pages.
- The meeting concluded with both sides expressing satisfaction and agreeing to meet again in two weeks.
-
Next Meeting
- 13/20/21 May 2026 (Industry mentors; to be confirmed)
- 13/20/21 May 2026 (Industry mentors; to be confirmed)
-
Meeting Details
Project Name: Tyto-PhishShield
Client: Tyto/DNS
Meeting Number: 01
Meeting Type: Introduction/Requirements
Date: 23/04/202
Time: 15:00
Location: Regus, Lynnwood Bridge (In-person)
-
Attendees
FiveGuys (all members present); Mark Botros; Inge Odendaal
- **Apologies **
None.
-
Discussion summary
- Project stakeholders were introduced (Tyto, DNS)
- Team FiveGuys was introduced
- Mark stated:
- Dedicated servers will be provided for the project (8 GB RAM initially, with possible expansion if needed; a domain will also be provided)
- Installation and use of WireGuard was recommended
- The team is permitted to use OCR and other cloud-based APIs/services (e.g., OpenAI). The client will provide the required API key.
- For phishing-email processing, the client suggested considering a local model to clean/remove sensitive employee data. Human validation should remain part of the workflow to verify responses to AI-generated phishing attacks.
- SMS smishing system can be ignored for now due to possible expenses. May potentially send phishing attacks over WhatsApp or Telegram.
- The client enquired on the group’s role allocation; it was confirmed that the group already has a working internal structure where Josua (team lead and integration roles); Darius and Heindrich (backend role); Nico and Frikkie (UI/design roles) have dedicated roles to play, with some overlap as needed
- Bi-weekly meetings were recommended
- Communication channels were established (Discord, Whatsapp, regular meetings – in-person preferred)
- Client also recommended the codification/automation of documentation as an important note to focus on (also consider using Swagger) during the course of the project
- Client was asked to confirm the suitability of the proposed technology stack and whether there are any other recommendations/suggestions:
- Mostly acceptable and suitable to proceed (based on what is currently proposed)
- shadcn/ui was recommended for UI components/templates.
- Use pnpm as the package manager
- Client stated that flexibility on architecture changes is permissible if the project requires such changes
- Use of more advanced AI models such as GPT-5 was recommended
- Use of Puppeteer as a frontend testing tool was recommended
- Use of Zustand as state management tool was recommended
- Use of ORM in database management was recommended
- Both the client and the FiveGuys team expressed enthusiasm and confidence regarding the proposed project
-
Next Meeting
TBA