Inspiration
Student life is a fragile ecosystem. A single unexpected expense triggers financial anxiety, which ruins sleep quality and ultimately tanks academic performance. Existing applications treat these pillars in isolated silos. We were inspired to build Zenith—an intelligent, AI-powered "Guardian" that crosses secure financial data with real-time psychological states to provide holistic, contextual intervention, directly supporting UN SDG #3 (Good Health and Well-being).
What it does
Zenith is an Agentic AI Guardian managing the intersection of wealth, health, and academics:
AI Purchase Interceptor: Blocks stress-induced impulse spending. Try buying a $60 game while highly stressed? Zenith evaluates your psychological state, calculates the risk, and intercepts the transaction.
Pulse Check (Vitals): A dynamic tracker where users log their stress levels, which directly alters the AI's behavioral algorithms and restriction strictness.
Z-Enclave Mainframe: A centralized audit log delivering actionable, real-time AI insights based on your unique spending profile and mental state.
How we built it
We engineered a decoupled, high-performance, enterprise-ready stack:
Frontend: Built with Next.js 14 (App Router) and React. We styled it strictly to Google's Material Design 3 (M3) specs, brought to life with GSAP (GreenSock) for fluid, physics-based UI animations.
Backend & Security: A lightweight Python Flask API securely hashes and persists data in a server-side SQLite database, simulating a highly secure enterprise enclave.
The Brain: Backboard AI wrapped in a custom ThreadPoolExecutor architecture. The backend aggregates user data into a JSON context window and streams it to the LLM to evaluate purchase decisions in real-time.
Challenges we ran into
The Animation Memory Leak: Layering complex GSAP ScrollTrigger instances inside React useEffect hooks caused severe DOM artifacting and memory leaks upon re-renders. We rigorously audited our codebase, implementing .kill() cleanup functions and transitioning to immutable gsap.fromTo tweens with overwrite: true to ensure 60fps performance.
Synchronous AI Bottlenecks: Blocking HTTP requests to the Backboard AI hung our Flask server. We solved this by refactoring the AI service to offload execution to a background thread pool via concurrent.futures.
Accomplishments that we're proud of
The AI Interceptor Logic: The AI doesn't just read a prompt; it evaluates a complex state matrix using a weighted risk model. The system calculates a localized Risk Factor before querying the LLM:
$$\mathcal{R} = \alpha \left( \frac{\text{Item Cost}}{\text{Available Balance}} \right) + \beta \left( \frac{\text{Current Stress } (1-10)}{10} \right)$$
If R exceeds the threshold, the Guardian steps in to block the transaction.
"Windowed" Survey Experience: We engineered a custom, interactive OS-style window for onboarding—complete with draggable title bars and edge-resizing, animated flawlessly via GSAP.
Immaculate UI/UX: A 100% accurate, from-scratch implementation of M3 paradigms with physics-based micro-interactions that feels incredibly premium.
What we learned
State vs. DOM: We mastered the intricate dance of marrying React's Virtual DOM state management with GSAP's direct imperative DOM manipulation.
Database Connection Pooling: We learned that thrashing SQLite with multiple open/close cycles per request causes locking. We optimized this by utilizing Flask's global g object for an efficient, per-request database connection lifecycle.
What's next for Zenith
Real-world Financial Integrations: Hooking Zenith to the Plaid API to securely pull live bank transactions rather than relying on simulated widgets.
Expanding the Ecosystem: Implementing standalone micro-tools like spaced repetition flashcards and automated sleep calculators directly into the dashboard.
Mobile Port: Rebuilding the core logic in React Native/Expo so users can log their "Pulse Checks" on the go.
Built With
- backboard.io
- css
- docker
- flask
- flask-cors
- github
- gsap
- html
- javascript
- linux
- next.js
- python
- python-dotenv
- react-native
- requests
- server
- sqlite
- tailscale
- tailwind
- typescript
- ubuntu
- vercel
- werkzeug



Log in or sign up for Devpost to join the conversation.