Project Info
Inspiration
In life, there are moments when we try our absolute best—yet the outcome feels beyond our control. But when we stay true to what we deeply want, life often opens a path. DestinyLens was inspired by this belief: that knowing yourself is the first step to finding direction. "As someone who faced both identity struggles and academic setbacks, I know what it feels like to stand at a crossroads with no clear direction. When I first realized I was different from others in terms of my sexuality, I began longing for a life where I could simply be myself—love freely, and build a life with someone I care about. That dream became a quiet source of strength, pushing me to go abroad and live more authentically. But it wasn’t easy. I didn’t get into my dream university the first time I took the Gaokao, China’s fiercely competitive college entrance exam. Watching others move forward while I stayed behind was heartbreaking. Still, I refused to give up. I studied harder, took the exam again a year later, and finally got into the school I had dreamed of. That same spirit carried me into grad school—I didn’t have the best scores or the most impressive resume, but I gave everything I had, and was accepted to NYU. Through those moments, I came to believe something deeply: you can’t always control the outcome, but if your intention is steady and your desire is true, the path will reveal itself. And in those uncertain moments, it’s incredibly powerful to have something that reflects your inner truth back to you." That’s when we turned to one of the world’s oldest and most profound systems of self-guidance: the Yijing (易经), or Book of Changes. Originating over 3,000 years ago, the Yijing is not just a tool of fortune-telling, it’s a philosophical framework rooted in Taoist and Confucian thought, centered on the dynamic flow of life, change, and harmony with nature (fire, water, wood, gold, earth). Through six symbolic coin (or dice) throws, the Yijing generates a hexagram, which reflects the user's current state and offers insight into patterns of transformation. It has been used for centuries by emperors, scholars, and seekers to make decisions not just based on logic, but on deeper alignment with timing, identity, and destiny. We asked ourselves: What if this ancient compass could be reimagined for the modern world—especially for young people standing at one of the most transformative thresholds of life? By fusing the symbolic wisdom of the Yijing with contemporary tools—personality profiling, urban data analysis, and intuitive design—we created a digital experience that helps users gain clarity about who they are, and insight into where they belong. We draw from city indices like cost of living, job opportunity, and cultural vibrancy, but we don’t stop there. Our goal is not to just suggest a city; it is to reflect a path that feels aligned with one’s inner character and current moment in life. In doing so, we aim to honor the richness of Chinese philosophical heritage and demonstrate how timeless wisdom can still guide us through today’s most pressing personal decisions. For the students who feel lost, floating, or stuck, we offer a moment of reflection, a ritual of discovery, and a gentle nudge toward their next chapter.
What it does
Through an interactive experience, the user receives one of the 64 hexagrams from the Yijing (Book of Changes). By combining this with insights gathered from the user’s facial expressions and voice analysis, DestinyLens interprets the hexagram using a curated Yijing knowledge base to provide a personalized fortune-telling experience. Based on the user’s information, it recommends a U.S. city that best aligns with their current life stage and inner character. Drawing from a comprehensive city database, DestinyLens then generates a short video featuring curated images and insights about the recommended city—offering both inspiration and direction.
How we built it
Coin-Based Oracle Implemented the traditional six-throw coin Yijing algorithm, representing yin and yang. City Match Database Aggregated open data on ~100 U.S. cities with their relevant data (longitude, latitude, population, career prospects, crime rates, education); Leveraged the direction produced by the coin based oracle and the oracle's fate for the user to determine their fortune. Frontend & Visualization Built a React interface with clear coin-roll animation, and incorporated the explanation of the ancient hexagram and the modern data metrics; Generated a video that displays relevant images of the city recommended.
Challenges we ran into
Translated the rich symbolism of the Yijing into code; Ensured that city recommendations were neither random nor strictly deterministic—honoring the oracle’s guidance; Generated videos from the insights provided by the oracle through image fetching and dynamic video generation based on those images. Rendered the coin animation, and data-heavy city matches according to the hexagram text
Accomplishments we're proud of
Reinterpreted an ancient Chinese philosophical system (Yijing) into a modern, interactive digital tool;
What we learned
Crafting a respectful “digital oracle” taught us to honor the spirit of the Yijing while thoughtfully translating its symbolic and philosophical depth into an algorithmic form. This process deepened our appreciation for the challenge of bridging ancient cultural wisdom with modern technology as a meaningful guide. In exploring the relationship between personality and place, we learned how personal identity such as need for stability vs. craving for change can influence which environment someone thrives in. By analyzing datasets on U.S. cities, we uncovered unexpected insights. Some cities pulse with creative energy, others offer contemplative calm. Understanding this dynamic helped us see city selection not just as a logistical choice, but as a deeply personal decision. DestinyLens taught us that technology can do more than inform; it can reflect, resonate, and guide.
What's next
Facial features and voice analysis of the user to analyze the user’s personality
Features
- Works across the entire Next.js stack
- App Router
- Pages Router
- Middleware
- Client
- Server
- It just works!
- supabase-ssr. A package to configure Supabase Auth to use cookies
- Password-based authentication block installed via the Supabase UI Library
- Styling with Tailwind CSS
- Components with shadcn/ui
- Optional deployment with Supabase Vercel Integration and Vercel deploy
- Environment variables automatically assigned to Vercel project
Demo
You can view a fully working demo at demo-nextjs-with-supabase.vercel.app.
Deploy to Vercel
Vercel deployment will guide you through creating a Supabase account and project.
After installation of the Supabase integration, all relevant environment variables will be assigned to the project so the deployment is fully functioning.
The above will also clone the Starter kit to your GitHub, you can clone that locally and develop locally.
If you wish to just develop locally and not deploy to Vercel, follow the steps below.
Clone and run locally
-
You'll first need a Supabase project which can be made via the Supabase dashboard
-
Create a Next.js app using the Supabase Starter template npx command
npx create-next-app --example with-supabase with-supabase-appyarn create next-app --example with-supabase with-supabase-apppnpm create next-app --example with-supabase with-supabase-app -
Use
cdto change into the app's directorycd with-supabase-app -
Rename
.env.exampleto.env.localand update the following:NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL] NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]Both
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEYcan be found in your Supabase project's API settings -
You can now run the Next.js local development server:
npm run devThe starter kit should now be running on localhost:3000.
-
This template comes with the default shadcn/ui style initialized. If you instead want other ui.shadcn styles, delete
components.jsonand re-install shadcn/ui
Check out the docs for Local Development to also run Supabase locally.
Feedback and issues
Please file feedback and issues over on the Supabase GitHub org.
More Supabase examples
Analysis
View
Metric
- 4
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- Next.jsIn code
- OpenAIIn code
- ReactIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- FastAPIClaimed
- JavaScriptClaimed
- PythonClaimed
8 of 11 appear in the indexed code. 3 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
145 KB
Source files
36
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
qimingliu1021/destiny-lens
69 files · 33.6 MB · @ 794e2d0
Structure
Interface
22 files · 32%Screens, components and styles rendered to the user.
+6 moreAPI & routing
6 files · 9%Request entry points: routes, handlers and controllers.
Application logic
9 files · 13%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript94%
- Markdown3%
- CSS3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 45- @anthropic-ai/sdk
- @google/genai
- @radix-ui/react-checkbox
- @radix-ui/react-dropdown-menu
- @radix-ui/react-label
- @radix-ui/react-slot
- @remotion/cli
- @remotion/eslint-plugin
- @remotion/player
- @remotion/renderer
- @supabase/ssr
- @supabase/supabase-js
- anthropic
- axios
- class-variance-authority
- clsx
- csv-parse
- csv-parser
- +27 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.