Spaces:
Running
Running
import streamlit as st | |
from PIL import Image | |
import numpy as np | |
# Page config | |
st.set_page_config( | |
page_title="Sign Language Project", | |
page_icon="π€", | |
layout="wide", | |
initial_sidebar_state="expanded" | |
) | |
# --- Custom Style --- | |
st.markdown(""" | |
<style> | |
body { | |
background-size: cover; | |
background-attachment: fixed; | |
background-position: center; | |
font-family: 'Segoe UI', sans-serif; | |
color: #222; | |
animation: fade-in 2s ease-out; | |
} | |
.sidebar .sidebar-content { | |
background-color: rgba(255, 255, 255, 0.8); | |
padding: 1rem; | |
border-radius: 16px; | |
box-shadow: 0 4px 12px rgba(0,0,0,0.1); | |
backdrop-filter: blur(8px); | |
} | |
.hero { | |
text-align: center; | |
padding: 5rem 2rem; | |
background: linear-gradient(135deg, #8e2de2, #4a00e0); | |
border-radius: 24px; | |
color: white; | |
margin-bottom: 3rem; | |
box-shadow: 0 20px 40px rgba(0,0,0,0.1); | |
animation: fade-in 2s ease-out; | |
position: relative; | |
} | |
.hero h1 { | |
font-size: 3.75em; | |
font-weight: 700; | |
margin-bottom: 0.3em; | |
animation: glow-text 2s infinite alternate; | |
} | |
.hero p { | |
font-size: 1.3em; | |
font-weight: 300; | |
margin-top: 0.5em; | |
animation: slide-in-bottom 1.2s ease-out; | |
} | |
.hero img.logo { | |
width: 120px; | |
position: absolute; | |
top: 20px; | |
left: 20px; | |
border-radius: 50%; | |
border: 2px solid white; | |
box-shadow: 0 4px 12px rgba(0,0,0,0.4); | |
} | |
.section { | |
background: rgba(255, 255, 255, 0.95); | |
border-radius: 20px; | |
padding: 2.5rem; | |
margin-bottom: 2.5rem; | |
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06); | |
backdrop-filter: blur(4px); | |
animation: fade-in-up 1s ease-out; | |
} | |
h3 { | |
font-size: 1.8rem; | |
color: #2e2e2e; | |
margin-bottom: 1rem; | |
} | |
ul, ol { | |
font-size: 1.1em; | |
line-height: 1.6; | |
color: #444; | |
} | |
.contact-block { | |
text-align: center; | |
padding: 3rem; | |
border-radius: 20px; | |
background: linear-gradient(to right, #ff6a00, #ee0979); | |
color: white; | |
margin-top: 3rem; | |
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); | |
animation: fade-in 2s ease-out; | |
} | |
.contact-block a { | |
color: #fff; | |
text-decoration: underline; | |
} | |
@keyframes fade-in { | |
from { opacity: 0; } | |
to { opacity: 1; } | |
} | |
@keyframes fade-in-up { | |
from { opacity: 0; transform: translateY(30px); } | |
to { opacity: 1; transform: translateY(0); } | |
} | |
@keyframes slide-in-top { | |
0% { transform: translateY(-100px); opacity: 0; } | |
100% { transform: translateY(0); opacity: 1; } | |
} | |
@keyframes slide-in-bottom { | |
0% { transform: translateY(100px); opacity: 0; } | |
100% { transform: translateY(0); opacity: 1; } | |
} | |
@keyframes glow-text { | |
from { text-shadow: 0 0 5px #fff, 0 0 10px #bca7ff, 0 0 20px #7e57ff; } | |
to { text-shadow: 0 0 10px #fff, 0 0 20px #b388ff, 0 0 30px #7e57ff; } | |
} | |
</style> | |
""", unsafe_allow_html=True) | |
# --- Hero Section --- | |
st.markdown(""" | |
<div class="hero"> | |
<img src="https://cdn-icons-png.flaticon.com/512/3062/3062634.png" class="logo" alt="logo"> | |
<h1>Sign Language Project</h1> | |
<p>AI-powered Sign Language App</p> | |
</div> | |
""", unsafe_allow_html=True) | |
# --- Features --- | |
st.markdown(""" | |
<div class="section"> | |
<h3>β¨ Key Features</h3> | |
<ul> | |
<li>β‘ Real-time AI gesture recognition</li> | |
<li>π§ Optimized for Russian Sign Language</li> | |
<li>π₯οΈ Lightweight and browser-based interface</li> | |
<li>π Promoting accessibility and inclusive communication</li> | |
</ul> | |
</div> | |
""", unsafe_allow_html=True) | |
# --- How it works --- | |
st.markdown(""" | |
<div class="section"> | |
<h3>π How it works</h3> | |
<ol> | |
<li>Camera captures hand gestures</li> | |
<li>Frame is processed via ONNX deep learning model</li> | |
<li>Text prediction appears instantly on screen</li> | |
</ol> | |
</div> | |
""", unsafe_allow_html=True) | |
# --- Contact block --- | |
st.markdown(""" | |
<div class="contact-block"> | |
<h3>π¬ Let's collaborate!</h3> | |
<p>For demos, partnerships, or research opportunities:</p> | |
<p>Email: <a href="mailto:your@email.com">osheina9@gmail.com</a></p> | |
</div> | |
""", unsafe_allow_html=True) | |