Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.

A8 - Tech Demo, pt.3

Choose a tag to compare

@Funkey08 Funkey08 released this 13 Nov 02:02
· 3 commits to master since this release
36ccdcf

Demo Release 3: Proprietary Dataset, Onboarding Steps, and Intelligent Ranking Agent

Direct Links

Roadmap Update

This release focused on refining our onboarding experience and digital identity schema (CUJ M1: User Onboarding) and building the intelligent recommendation pipeline central to our product (CUJ M2: Personalized Restaurant List). We implemented our first reasoning-based model powered by a LangChain Rank Agent, expanded our dataset using Google Places and Kaggle with richer metadata, and redesigned onboarding to feature shorter, more explicit questions. We also migrated backend reasoning from OpenAI to Gemini 2.5 Flash for faster, lower-cost inference, and introduced restaurant data-ownership standards for verified businesses. Thus, with many of our individual components nearing completion, these updates lay the groundwork for soon developing the full, end-to-end pipeline in future development.

Issue Summary

Most short-term development goals have now been completed or are currently under review:

  • ST-3: M1: Implement authentication -> Complete. Users can now sign in seamlessly with their email or Google Account.
  • ST-1: Initialize backend service with Python (FastAPI) -> Complete. We now have a stable FastAPI server environment for endpoint testing.
  • MT-3: M2: Recommendations with rationale -> In Review. Our early rank agent marks a major step toward our recommendation backbone.
  • ST-4: Validate onboarding questions and recommendation rationale clarity -> Complete. Received feedback from User Research, as discussed below.
  • ST-3: M1: Onboarding quiz -> In Review. Updated based on user feedback.

Roadmap Change Details

This release involved frontend and backend updates supporting all three main CUJs.

Architecture

The current architecture now:

  1. Connects to our proprietary Firestore database, enriched with more restaurants and more detailed metadata for more thorough agentic reasoning (ADR 024). -> CUJ M3; Filter Categories.
  2. Uses LangChain agents to reason about user preferences derived from onboarding responses (ADR 023). ->CUJ M2; Personalized Restaurant List.
  3. Provides API endpoints for the aforementioned functions, allowing for testing and future frontend integration.

Each agent (Search and Rank) remains modular, allowing prompt-level experimentation without code restructuring.

UI/UX

Our onboarding design evolved significantly following this sprint's user testing. Initially, we built an exhaustive, mandatory questionnaire to capture as much detail of a user’s food and restaurant preferences as possible. However, feedback from our User Research revealed this created friction and would likely increase churn, as Palate may risk turning into “just another unused app that doesn’t pass beyond signup.”

Thus, we redesigned onboarding to balance explicit (questionnaire) and implicit (behavioral) signals (ADR 025). Explicit data now comes from a shorter quiz identifying broad “archetypes” (e.g., "comfort-seeker," "explorer"), while implicit data will accumulate from actions like bookmarks, likes, and visits. This hybrid model allows user profiles to grow organically and remain adaptive over time (CUJ M1; Build a Hyper-Personalized Profile).

User Research

We conducted a light CUJ test with two computer science classmates to evaluate our initial onboarding flow. Each participant was asked to complete the full questionnaire naturally, as a new user would. Both classmates appreciated the depth of the questionnaire, but found it somewhat long and cognitively demanding, especially with open-ended mood-based questions.

Users stated that they appreciated more direct, explicit questions (e.g., "Do you prefer casual or fine dining settings?") rather than more nuanced ones (e.g., "How would you describe your ideal dining experience?"). Based on this feedback, we plan to narrow down our onboarding quizzes by reducing the number of abstract questions and focusing on quick prompts that can be answered instinctively. The new design (ADR 025) aims to reduce cognitive load and completion time.

Decisions Log

Summary

We now have a modular backend pipeline, a refined dataset, and an optimized onboarding experience that balances usability with personalization. Next steps will focus on connecting these modular components into a fully operational end-to-end pipeline capable of serving live, explainable recommendations to users.