Inspiration

In the era of information overload, social media content is often fragmented and redundant, leaving users overwhelmed. We aim to build a product that acts like a personal information assistant, understanding user preferences and extracting truly valuable content from massive information streams.

Our inspiration comes from Perplexity’s product design, which enhances information acquisition through structured organization. Building on this, we aspire to create a more personalized briefing experience—leveraging user behavior data and large language models to deliver “a thousand briefings for a thousand users.”

What it does

intuitFlow is a personalized briefing platform powered by social behavior data:

  • Users log in via Google and authorize access to their data on X (Twitter), including likes, bookmarks, timeline, following, and profile info;
  • The system uses large language models to build a user profile, covering personality traits, interest areas, and representative topics;
  • Based on the profile, the system recommends several primary topics and dynamically generates secondary topic cards daily to form a personalized briefing;
  • Users can click cards to explore further or manually adjust their profile and regenerate content;
  • The system continuously tracks behavioral changes to update the profile and content recommendations.

How we built it

We built the web platform using Next.js + React + Tailwind + Shadcn + Supabase.

The sign-up and login process is based on the Shipany.ai template, enabling fast cold start while including built-in features like payment, CMS, and landing pages—paving the way for future commercialization.

The browser extension is built with Plasmo + React + Shadcn, with modifications to rettiwt-core to support Twitter data scraping within the extension.

  • During onboarding, we use the Perplexity API to summarize behavioral data and generate topic recommendations;
  • Daily content generation also uses the Perplexity API:
    • Primary topics use a search depth of “low” to focus on conciseness and summarization;
    • Secondary topics are set to “medium” to provide additional context and support deeper exploration;
  • Prompts are carefully designed to control output structure and density while avoiding citation noise to improve reading experience.

Challenges we ran into

  • Noisy user behavior data: We weighted likes and bookmarks more heavily than timeline data;
  • We experimented with integrating Gemini’s embedding model for interest vector modeling, topic ranking, and clustering. However, it was not integrated into the final version due to:
    • Perplexity not supporting embeddings—we focused on maximizing the existing API's capabilities;
    • The design complexity of embedding applications made it difficult to complete during the Hackathon timeframe;
  • Perplexity’s default citation format (e.g., [1], [2]) interfered with user profiling and summarization. We mitigated this through prompt design, but would prefer a future API option to disable citations;
  • Currently, Perplexity’s citation returns only URLs. We hope future updates will include metadata such as page titles and descriptions, allowing better frontend display without requiring extra scraping.

Accomplishments that we’re proud of

  • Successfully implemented a closed-loop workflow from social behavior → user context → user profile → personalized summary, achieving an automated pipeline without the need for manual input or questionnaires—enabling smart, hands-free onboarding;
  • Effectively leveraged Perplexity’s search depth parameter to fine-tune information density and structure across modules;
  • Took first steps in embedding-based modeling for interest recognition and content matching;
  • Designed a progressive disclosure interaction flow:
    • Primary topics reflect the system’s understanding of user interests;
    • Secondary cards simulate further exploration prompted by the user;
    • Together, they enable a natural, hierarchical information discovery experience;
  • Demonstrated the integration of prompt engineering, LLM strategy, UX design, website deployment, delivering a working prototype in a short time.

What we learned

  • User interests evolve, and the system must be able to update continuously;
  • Embeddings hold great promise for modeling user interests and should be more deeply integrated;
  • Prompt engineering is key to the quality and structure of generative content;
  • Perplexity’s search depth parameter is a valuable tool for content control and tuning;
  • Briefings should not just push content—they should serve as an entry point for dialogue with user interests.

What’s next for intuitFlow

  • Integrate embeddings and vector databases to build a dynamically updating interest vector system;
  • Introduce semantic reranking to improve content-to-interest matching;
  • Optimize topic clustering to enhance clarity and consistency of primary topics;
  • Integrate citation toggle support if Perplexity enables it, enhancing generative flexibility;
  • Introduce explainability mechanisms to help users understand why content is recommended;
  • Allow subscription and adjustment controls, encouraging users to actively shape their briefings;
  • Implement interest drift detection to analyze shifting trends in user behavior, likes, and bookmarks;
  • Introduce long-term memory mechanisms to better serve recurring interests over time.

Built With

  • nextjs
  • perplexity-api
  • plasmo
  • react
  • shadcn
  • supabase
  • tailwind
Share this project:

Updates

Submission history