Portfolio / app.py
Niharmahesh's picture
Update app.py
0d18e86 verified
import streamlit as st
from PIL import Image
from streamlit_lottie import st_lottie
import json
from streamlit_option_menu import option_menu
from projects import display_projects
#setting layout to wide
st.set_page_config(layout="wide")
# Load CSS for styling with a minimalist grey background
with open("style.css") as f:
css_content = f.read()
css_content += '''
body {
background-color: #f0f2f6;
}
'''
st.markdown('<style>{}</style>'.format(css_content), unsafe_allow_html=True)
def load_lottiefile(filepath: str):
with open(filepath, "r") as file:
return json.load(file)
def display_header():
st.write('''
# Nihar Palem
#####
''')
# Assuming you have a Lottie animation to display
lottie_animation = load_lottiefile("bio.json")
st_lottie(lottie_animation, height=300, key="header_animation")
def display_summary():
#st.markdown('## Summary', unsafe_allow_html=True)
st.markdown("""Hello! This is Nihar Palem. I'm originally from Hyderabad and currently residing in the Silicon Valley Bay Area, San Jose. I'm a Graduate with Master's degree in Data Analytics (Applied Data Science) from San Jose State University. In this portfolio, you can explore my academic background, work experience, and projects in the data science field. You'll also find links to my skills, other hobbies, and certifications.""")
def display_education():
st.markdown('## Education')
st.write("""
- **Masters In Data Analytics**, *San Jose State University*, USA (2023-2024)
- Courses: Data Mining, Deep Learning, Big Data Technologies, Data Visualization, Machine Learning, Database Management Systems
- Achievements:
- A Grade in Deep Learning
- **Bachelor of Technology (B.Tech) in Electrical and Electronics Engineering (EEE)**, *Sreenidhi Institute of Science and Technology (SNIST)*, Hyderabad (2015-2019)
- Activities:
- Memeber of the Robotics Club:, built line follower and theft-alert detection bots.
- Member of the college cricket team; won the Hyderabad zone-level tournament
""")
def display_work_experience():
st.markdown('## Work Experience')
st.write("""
**San Jose State University, San Jose, CA, USA**
August 2024 - December 2024
- **Teaching Assistant**
- Mentored 80+ graduate students on data modeling projects, providing feedback on technical documentation
- Reviewed and debugged student data pipelines, offering solutions for data analysis and ML model challenges
- Improved student performance, with 75% of mentored students achieving an ’A’ grade
-Conducted weekly office hours to assist students with complex data science concepts and project implementations
**Bharat Electronics Limited, Hyderabad, India**
February 2021 - March 2022
- **Data Analyst**
- Optimized SQL queries for sales and payroll databases using indexes and CTEs, reducing execution times by 40%
- Developed and maintained 20+ Tableau dashboards, reducing production costs by 15% and improving sales forecasts by 10%
- Implemented automated billing checks using SQL procedures, reducing financial discrepancies by 30%
- Optimized ETL pipelines with staging tables and data quality checks, increasing ingestion efficiency by 25%
**Technical Writer**
2023-Present
- Embarked on a new journey in 2023 as a technical writer, sharing insights and developments in data science and data engineering with a growing audience.
- Authored numerous articles that explore complex topics in an accessible and informative manner, focusing on AI, data science, machine learning and data engineering.
- This new habit aims to educate and inspire, bridging the gap between technical expertise and practical application in the modern data landscape.
- Find my work on [Medium](https://medium.com/@nihar-palem) and [Substack](https://niharpalem.substack.com/publish/posts).
""")
def display_skills():
st.title('Skills')
# Define tab titles
tab_titles = [
"Programming & Core",
"AI & ML",
"Data Engineering",
"Data Architecture",
"Visualization",
"Specialized Systems"
]
# Create tabs
tabs = st.tabs(tab_titles)
# Programming & Core Technologies
with tabs[0]:
st.subheader("Programming & Core Technologies")
st.markdown("""
- **Programming Languages**:
- Python (Advanced)
- SQL (Advanced)
- Shell Scripting
- **Database Systems**:
- Relational: MySQL, PostgreSQL
- NoSQL: MongoDB
- Data Warehouses: Snowflake, Redshift
- **Development Tools**:
- Version Control: Git, GitHub
- Containerization: Docker
- IDE: VS Code, PyCharm
- Microsoft Office Suite
""")
# AI & Machine Learning
with tabs[1]:
st.subheader("AI & Machine Learning")
st.markdown("""
- **Machine Learning Frameworks**:
- PyTorch
- TensorFlow
- Scikit-Learn
- XGBoost, Random Forest, AdaBoost
- **Deep Learning**:
- Vision Transformers
- ResNet Architectures
- Neural Networks
- BiLSTM
- **LLM & NLP**:
- LLaMA-3 (70B/8B)
- GPT-3.5
- Sentence Transformers
- Advanced Prompt Engineering
- Multi-agent Architectures
- **Computer Vision**:
- MediaPipe
- OpenCV
- Image Processing Pipelines
""")
# Data Engineering & Cloud
with tabs[2]:
st.subheader("Data Engineering & Cloud")
st.markdown("""
- **Cloud Platforms**:
- AWS (Certified)
- Google Cloud Platform (GCP)
- Cloud Architecture Design
- **Big Data Technologies**:
- Apache Spark (PySpark)
- Apache Airflow
- BigQuery
- Hadoop Ecosystem
- **Data Pipeline Tools**:
- ETL/ELT Pipeline Design
- Workflow Orchestration
- Concurrent Processing
- Real-time Data Streaming
- **Infrastructure**:
- CI/CD Pipelines
- Infrastructure as Code
-Kubernetes Basics
""")
# Data Architecture & Analytics
with tabs[3]:
st.subheader("Data Architecture & Analytics")
st.markdown("""
- **Data Modeling**:
- OLAP/OLTP Systems
- Star/Snowflake Schema
- Data Normalization
- Database Optimization
- **Analytics Techniques**:
- Streaming Analytics
- Batch Processing
- Time Series Analysis
- Statistical Analysis
- **Data Processing**:
- Pandas, NumPy
- Data Wrangling
- Feature Engineering
- Data Quality Assurance
- **Performance Optimization**:
- Query Optimization
- Indexing Strategies
- Caching Mechanisms
""")
# Visualization & Deployment
with tabs[4]:
st.subheader("Visualization & Tools")
st.markdown("""
- **Business Intelligence**:
- Tableau
- Power BI
- Dashboard Design
- KPI Monitoring
- **Technical Visualization**:
- Plotly
- Seaborn
- Matplotlib
- Interactive Charts
- **Deployment & Interface**:
- Streamlit
- Flask
- Web Development
- **Collaboration Tools**:
- JIRA
- Notion
- Git Workflow
- Agile Methodologies
""")
# Specialized Systems
with tabs[5]:
st.subheader("Specialized Systems")
st.markdown("""
- **Recommender Systems**:
- Hybrid Filtering Techniques
- Content-Based Filtering
- Collaborative Filtering
- Matrix Factorization (SVD)
- **Ensemble Methods**:
- Multi-model Consensus Systems
- Classifier Combinations
- Voting Systems
- Stacking Implementations
- **Performance Optimization**:
- CUDA Acceleration
- Parallel Processing
- Resource Management
- Scalability Design
- **Custom Solutions**:
- Natural Language Processing
- Computer Vision Systems
- Time Series Forecasting
- Anomaly Detection
""")
def display_apps():
st.markdown('## Apps')
st.markdown("""
- [CNN arch](https://cnn-arch.streamlit.app/)
""")
st.markdown("""
- [TuNNe](https://huggingface.co/spaces/Niharmahesh/TuNNe)
""")
def display_certifications():
st.markdown('## Certifications')
certifications = [
{"title": "Python for Data Science and Machine Learning Bootcamp", "issuer": "Udemy", "date": "2023", "skills": "Python, Data Science, Machine Learning"},
{"title": "HackerRank SQL (Basic)", "issuer": "HackerRank", "date": "2023", "skills": "SQL, Database Management"},
{"title": "AWS Cloud Practitioner", "issuer": "Udemy", "date": "2023", "skills": "Cloud Computing, AWS Services"},
{"title": "AWS Certified Cloud Practitioner", "issuer": "Amazon Web Services", "date": "2023", "skills": "Cloud Architecture, AWS Best Practices"}
]
for cert in certifications:
with st.expander(cert["title"]):
st.write(f"**Issuer:** {cert['issuer']}")
st.write(f"**Date:** {cert['date']}")
st.write(f"**Skills:** {cert['skills']}")
def display_social_media():
st.markdown('## Social Media')
st.markdown("""
- [LinkedIn](https://www.linkedin.com/in/sai-nihar-1b955a183/)
- [GitHub](https://github.com/niharpalem)
- [Medium](https://medium.com/@nihar-palem)
- [Twitter](https://twitter.com/niharpalem_2497)
- [Email](mailto:[email protected])
""")
menu_items_with_icons = {
"🎓": display_education,
"💼": display_work_experience,
"📁": display_projects,
"🛠️": display_skills,
"🌐": display_social_media,
"🏆": display_certifications,
"📱": display_apps
}
def main():
# Initialize session state for selected function
if 'selected_function' not in st.session_state:
st.session_state.selected_function = None # Default to None to not display any section initially
# Display the header with your name and Lottie animation first
display_header()
# Display the summary section immediately after the header
display_summary()
# Create a row of buttons for each icon in the menu
cols = st.columns(len(menu_items_with_icons))
for col, (icon, func) in zip(cols, menu_items_with_icons.items()):
if col.button(icon):
# Update the session state to the selected function
st.session_state.selected_function = func
# If a function has been selected, call it
if st.session_state.selected_function is not None:
st.session_state.selected_function()
if __name__ == "__main__":
main()