-
Notifications
You must be signed in to change notification settings - Fork 0
CTE Project Presentation Feedback Thread #12
Description
Creating the Project
Prior to the project, both of our Period 1 and Period 3 groups had already wanted to do a project based on AI. We've all, in one way or another, have had experiences with AI in the past, and want to apply it to our school project.
| Name | Role |
|---|---|
| Alex (SCRUM MASTER) | Backend - LSTM, general AI research, document learnings |
| David | Backend - LSTM, Admin, Frontend - Styling |
| Adi | Backend - LSTM, User Details |
| Ethan Z (SCRUM MASTER) | Backend - Perceptron, Stock Database |
| Anthony | Backend - Perceptron, Image recognition login |
| Ethan T | Backend - Perceptron Connection |
| Tay (SCRUM MASTER) | Backend - The keeper of the APIs (FE-BE connector) |
| Krishiv | Backend - User Database |
| Emaad | Backend - Stock Database management/development |
| James (SCRUM MASTER) | Frontend - Orientation, login |
| Jishnu | Frontend - Interaction, stock data display |
| Yuri | Frontend - Presentation, stock data display |
| Period | Names |
|---|---|
| 1 | Alex (Lead/talker) , Jishnu, David, Ethan, Ethan, Krishiv, Emaad, Yuri |
| 2 | Adi (Lead/talker) , Tay, James, Anthony |
Agile Methodology
We will be using the agile methodology with whole group meetings during tutorial and working individually on our parts with online collaboration most of the time.
Sprint Planning Meetings:
The team begins each sprint with a sprint planning meeting, led by the Scrum Master (Alex). During this meeting, the team discusses and agrees upon the scope of work for the upcoming sprint. Tasks are assigned based on priorities, and estimates are provided for each user story or task.
Daily Stand-up Meetings Within Periods:
Daily stand-up meetings are conducted to ensure everyone is on the same page. Each team member, including Alex as the Scrum Master, Ethan, David, Adi, and James, provides a brief update on their progress, plans for the day, and any obstacles they are facing within their period group and from there they will report their updates to the project in the team slack/discord to track progress. These meetings promote transparency, collaboration, and quick problem resolution.
Bi-weekly Sprint Reviews:
At the end of each sprint, the team holds a sprint review to demonstrate the completed work to stakeholders, usually done within tutorial or within during the weekends over discord. This allows for feedback and validation of the delivered features. The team, led by Alex, discusses what went well, challenges faced, and improvements for the next sprint.
Retrospective Meetings:
Following the sprint review, the team conducts a retrospective meeting to reflect on the sprint. Led by the Scrum Master, the team discusses what worked, what didn't, and identifies areas for improvement. This will be done during the tutorial and discord meetings twice a week. This continuous feedback loop helps enhance team performance and the Agile process.
Collaborative Development:
Team members collaborate closely on both frontend and backend development tasks. Alex will also aid in the frontend and backend as necessary, however it will mostly be within the backend. Pair programming, where two developers work together on the same code, may be utilized to enhance code quality and knowledge sharing.
Specialized Contributions:
Each team member brings unique skills to the project. For example, Ethan focuses on neural network development with the held of Alex, Adi specializes in authentication, and James is dedicated to frontend styling. This specialization ensures a comprehensive approach to the project's diverse requirements.
Adaptability to Change:
The Agile methodology emphasizes adaptability to changing requirements. If the team encounters new insights or priorities during the development process, they can easily adjust their plans in response to feedback from stakeholders or changes in project priorities.
Meetings
Weekly Tutorial Meetings:
Frequency: Once a week
Day/Time: During the tutorial slot
Purpose: This meeting serves as the primary weekly check-in where the team, including Scrum Master Alex, Ethan, David, Adi, Rohin, and James, discusses progress, plans, and any potential challenges. It's an opportunity to align priorities and set goals for the upcoming week.
Weekend Discord Meetings:
Frequency: Once a week
Day/Time: Over the weekend (Choose a specific day and time convenient for all team members)
Platform: Discord
Purpose: This meeting provides a more relaxed setting to discuss ongoing work, share updates, and address any questions or concerns. It allows for a more informal collaboration and fosters a sense of camaraderie within the team.
Ad Hoc Issue Resolution Meetings:
Frequency: As needed
Initiation: Meetings are triggered when specific issues arise in the code or when there's a need for urgent collaboration.
Platform: Discord or other preferred communication channels
Purpose: These ad hoc meetings are focused on resolving immediate challenges in the code. Team members collaborate to troubleshoot and find solutions efficiently. Once the issue is resolved, the team may return to the regular meeting schedule.
Stock AI Predictions
Backend: Java Spring
Purpose
The Java Spring backend in our Stock AI Predictions project serves as the brain of the AI system, managing data processing, decision-making, data prediction, and communication.
Architecture
- Spring Framework: Employed for building a scalable and modular backend, ensuring efficient control and coordination of neural networks. Will attempt to integrate a deeplearning4j LSTM network into Spring.
- RESTful API: Facilitates communication between the AI backend and user interfaces on our frontend, enabling seamless data exchange.
- Data processing and cleaning: Incorporates modules for processing data from CSV or XML files. Some cells within the files may have blank, null, or NaN values. We must create sufficient filters that allow us to ensure that our data is filtered and cleaned for our model to work on. Possible ideas are to use Python scripts along with pandas library for greatest simplicity.
Key Features
- Stock Predictions: Uses LSTM along with other RNN implementations to see how past trends across stock tickers could be used to predict future values in the stock market. This would require a lot of data to be accurate and reliable.
- Model training and learning: The model needs certain learning, optimization, and parameters to enable the best form of learning. The group will also research vector calculus and stochastic gradient descent algorithms to learn how neural networks learn.
- Real-time Learning: Enables quick responses to external stimuli and user commands. As the stock market progresses, perhaps the model should learn on its own
Frontend: Jekyll
Purpose
This Jekyll interface works as a UI for the users to see the stock predictions that the AI outputs and for users to use this data to buy stocks that are predicted to perform the best.
Architecture
- Static Site Generator: Jekyll simplifies frontend development, generating static HTML files for quick rendering on active sites.
- Responsive Design: Ensures the interface adapts to various computer displays and phone screens.
- Status Updates: Displays real-time information about the stock predictions that the user follows and other similar stocks.
Key Features
- Fake Money: Allows the user to invest "money" based on the stock predictions and this will allow the users to test the program.
- Stock Page: Contains all of the stocks that the user follows and allows the user to add and remove stocks that they want to invest in.
- Organizations: People are going to be able to create organizations with other users to create groups in which they can compare their earnings and "compete".
Integration
Seamless Robotic Interaction
The Java Spring backend and Jekyll frontend seamlessly interact through RESTful APIs, enabling real-time data display in the stock prediction model.
Continuous Prediction Improvement
The modular architecture facilitates updates and improvements, ensuring the stock prediction evolves to meet changing data in the world of stocks and demands.
Project Planning
Main Idea: Combine Machine Learning with Sign Language to translate live sign language into English
For our project, we want to create an application (using a user's webcam feature) that allows people to show an ASL signal to the camera. Upon showing the hand symbol, the users will almost immediately be notified of the hand motion that they are displaying. For example, if the user showed the hand motion like this:
The application would output "Letter A." We would build our application so that it can read the ASL hand motions for many different things, including letters of the alphabet, numbers, specific words, and (maybe) even whole sentences.
Here is an example screen of our AI application:

Credit: Emaad Mir, Canva
Diagram of what is going on behind the scenes:
Diagram of the steps behind this application:

Credit: Tay Kim, draw.io
Diagram of the frontend connection to the backend:

Credit: Anthony Bazhenov, draw.io
Other possible aspects of project
- Allow users to upload videos of ASL and then transcribe the sign language into english and allow them to save the transcript
- Use the webcam aspects of our camera to work with other topics, such as voice/facial recognition, analyzing environmental surroundings - maybe recognizing plants or animals.
Updated plans for project
- Memory game (idea provided by Mr. Mort) where users can learn more about ASL
- ASL to English live translation through webcam
- Upload video feature to transcribe longer sign language sentences into English
Current Frontend Styling
What we need to work on currently
- Get webcam to work on the frontend using Javascript and send individual frames to backend
- Sync login/signup with backend and create user JWT's as well as user roles (admin, etc.)
- Code frontend so that the first thing users see are login/signup, and they can only access the rest of the website once they login'
- Admin can access user data
- Create backend repo and add online databases
Designs and Diagrams
Conclusion
This stock prediction program, powered by a Java Spring and Jekyll frontend, integrates artificial intelligence and visual representations into a prediction system aiding traders in choosing the best stocks for investing. The combination of model training and real time learning will allow the AI to always be updated with current data that will integrate visual representations for users to see.






