GitHub Repository: https://github.com/nicorosaless/ecityclic

Inspiration

Our inspiration came from the challenge presented by eCityclic, focusing on solving a real-world problem within a tight 24-hour deadline. The opportunity to create an impactful solution in such a short time frame pushed us to innovate, collaborate, and think critically. The challenge tested not just our technical skills but also our ability to deliver under pressure, which mirrors real-world project constraints.

What it does

The project integrates a robust back-end model developed in Jupyter Notebook with an interactive front-end built using Streamlit. It analyzes, processes, and visualizes data to address a specific problem statement defined by eCityclic. This problem consists in suggesting recommended procedures based on the previous procedures the user has searched. The application delivers actionable insights through a user-friendly interface, allowing seamless interaction for both technical and non-technical users.

How we built it

Data Preparation and Modeling: Using Jupyter Notebook, we performed data preprocessing, feature engineering, and implemented the core machine learning model. Libraries such as NumPy, Pandas, and Scikit-learn were integral to this step.

Visualization and Insights: Leveraging Matplotlib and Seaborn, we generated insightful visualizations to communicate key findings.

Front-End Development: Streamlit was used to create an intuitive and interactive interface, making the model accessible and functional for end-users.

Integration: The model was deployed on the Streamlit app, ensuring seamless integration between back-end computations and front-end display.

Challenges we ran into

Time Constraints: Completing the entire project in 24 hours demanded careful prioritization of features and quick problem-solving.

Data Quality Issues: Handling inconsistent data required additional preprocessing steps, which added to the complexity. (specifically there were some rows that had arrays too large, having to cut the length of them)

Integration Hurdles: Combining the Jupyter Notebook model with Streamlit's framework posed some challenges, particularly in ensuring smooth execution with the model's classes (eg TokenAndPositionEmbedding, TransformerBlock).

Debugging Under Pressure: Identifying and resolving unexpected bugs in a high-pressure environment was both challenging and rewarding.

Accomplishments that we're proud of

Successfully creating a functional solution within the 24-hour window. Building a seamless integration between Jupyter Notebook and Streamlit. Developing a clean and user-friendly interface that effectively communicates complex insights. Overcoming data challenges to deliver reliable and meaningful results.

What we learned

Effective Collaboration: Working as a team under time constraints honed our communication and task delegation skills.

Streamlit Proficiency: We gained deeper insights into Streamlit’s capabilities and best practices for rapid app development.

Problem-Solving Skills: Tackling technical and time-management challenges enriched our ability to adapt and innovate.

End-to-End Project Development: The hackathon offered a hands-on experience in taking a project from concept to execution in a highly condensed timeframe.

What's next

Refinement: Improve model accuracy and optimize performance based on new feedback.

Scalability: Expand the solution to handle larger datasets or integrate additional functionalities tailored to eCityclic’s ecosystem.

Built With

Share this project:

Updates