Inspiration
Here's how American Express (AMEX) describes their private concierge service:
The modern-day well-to-do person sees value in access to an efficient personal concierge service that responds perfectly to his need for experiences that are both exclusive and luxurious. For example, a coveted seat at a much-awaited music concert or clubhouse access to a sold-out cricket game is some of those wins that a great concierge service can set you up for.
These services are only accessible through premium credit cards that charge OVER $800 dollars every year in annual fees.
Premium services don't need to be hidden behind hefty paywalls or premium credit cards. That's our belief and that's exactly why we've built Lumière.
What it does
Lumière is an AI-driven private concierge service that ignites the possibility of traditionally luxury services to the general public. By leveraging ability of large-language models to develop low-cost personalization, we equalize access to quality service everyone deserves.
Users interact with Lumière through a two phase process: (1) Profile Registration, and (2) Requests.
(1) Profile Registration Users enter key information such as name, occupation, travel style, budget, loyalty programs and more into our UI. This information is then stored in MongoDB, paired to the user, and subsequently referenced during logins and requests.
(2) Requests Once they have a complete profile, users can then request services from Lumière's private concierge service. These services include: travel planning, event bookings, experiences, dining experiences and more. Upon selecting the relevant request, users fill out a quick form with some basic information about dates, budget, interests and location. This information is then sent to our backend via Axios.
Backend Logic Once the information is received, our backend follows a four step process detailed below.
- Orchestration - Gemini begins planning the search and sends agents to look for keywords on webpages, all while referencing both the user profile (in MongoDB and the request inputs)
- Web Discovery - Agents collect relevant information and brings it back to be parsed.
- Parsing - Web crawlers are then generated by Crawl4AI and parses the information found by the agents.
- Parallel Execution and Ranking - Gemini takes the parsed information and ranks them against a defined criteria. The criteria is made using the user's request inputs and profile. A final output is then generated specific to the type of request the user initially initiated.
Once the planning is generated (also including the total expected cost), the user may accept or reject the plan.
How we built it
Our process for building Lumière was first to determine the most important user inputs we would need as a team. We then split into a frontend and backend development team. In the frontend team, there was a strong focus on user experience and the branding of the application to align with our goal. In the backend team, the focus was primarily on functionality and ensuring that the plan for different requests could be generated without issue. After both teams were done, we began working on the merging of the frontend and backend. This step led to several challenges (which we will cover in greater detail in the next section), but, in the end, we were able to merge everything successfully together.
Challenges we ran into
As briefly touched on in describing our process, we developed the frontend and backend in parallel. This led to the biggest (and most frustrating) challenge we ran into. Specifically, we encountered the issue of APIs endpoints with different payloads. Essentially, both teams had similar ideas of what to receive and what to send, but similar does not mean exact. As a result, we had to take the time to modify the payloads to ensure they match on both ends and learned a lesson on improvements to our engineering process for future projects.
Accomplishments that we're proud of
There were many things for us to be proud of during ConUHacks X. For one, this was all our first times working with supabase (a backend-as-a-service platform). To be able to successfully learn and implement it is a reminder of our ability to challenge ourselves and of how last we can learn. At the same time, this was the first time the four of us worked together (we formed together as two pairs). Being able to successfully adapt to each other's coding practices and styles, while delivering a successful application is also a part of ConUHacks X that is extremely memorable.
What we learned
Teamwork was a big part of what we learned this weekend, especially as we started as teams of two that merged together to make this project happen. Learning to understand, accept and quickly adapt to each other's norms under tight and stressful timelines was a crucial component to our success. As part of this adaptation, we were also all challenged to learn and compromise with new tools and frameworks that the other pair typically used.
What's next for Lumière
Our main plans focus on two key areas: (I) cybersecurity and (II) special features. As a platform with user profile data, it is incredibly important that we build our system with security and input validation in mind. These features range from data encryption to verifying inputs against injection attacks. Simultaneously, in our ideation discussions at the beginning of the hackathon, there were many features we labeled as "bonus", which would be really cool to implement if there was more time available. These range from UI features to more complex functionality (such as autobooking the accepted plan using securely stored credit card information).
Built With
- crawl4ai
- fastapi
- gemini
- mongodb
- next.js
- python
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.