Inspiration
Thinking about ideas for the SurveyMonkey challenge, we initially thought of ways to make a survey more engaging by gamifying it or by adding some kind of hook. However, when we reflected on what would improve our experience with surveys, we realized that the ideal survey is... not having a survey at all. This led us to our initial concept for InvisInsights. We're in the AI age! Based on one's behavior on the web, we could use AI to analyze and report feedback, while all the user has to do is use the website normally.
What it does
Connect your SurveyMonkey Access Token and choose a survey you already made with SurveyMonkey. Paste in the single generated script tag into your site and InvisInsights is up and running. InvisInsights will track passive user actions such as scrolls, hovers, idling, clicks, etc. Once the user exits the current session (reloads, closes the tab) those statistics will be processed through AI which will infer intent scores (e.g. confusion, satisfaction, trust). Those intent scores will be applied to relevant questions in the existing SurveyMonkey survey (e.g. "Was the website easy to use?" will use an ease-of-use intent analyzed by the AI). No pop‑ups, no forms, no bias from self‑selected respondents.
How we built it
Front-end: HTML/CSS/JavaScript.
- Landing page and SurveyMonkey Connection Endpoint.
Back-end: Node.js, Express, PostgreSQL.
- Server uses Node and Express -> create endpoints, GET & POST requests, interacting with APIs
- PostgreSQL -> stores SurveyMonkey access tokens & associated project keys, survey IDs and allowed domains.
Hosted on: DigitalOcean
- Hosts webapp over .tech domain, build and deploys webapp
- Connects database to webapp
- Environment variables for API keys
APIs: SurveyMonkey, Gemini
- SurveyMonkey API accesses user surveys, IDs, survey questions, etc.
- Gemini API allows usage of Gemini 2.5 Flash/Flash Lite models to analyze UX insights with custom prompts, configurations
Challenges we ran into
- Finding something every team member is able to work on
- Easily the most difficult project any of us have come across with
- Node files kept getting corrupted causing the server to hang on start multiple times, eventually fixed
- Using a Cloud platform for the first time — DigitalOcean locked up on me then I had to figure out how to connect the Postgres database to my webapp (I have also never used a database before)
- Changed the LLM we used for our project a few times, from Gemini to OpenAI to OpenRouter to Gemini again. Couldn't decide on one from the start
- AI prompt tuning and output skew — it kept giving negative feedback/incorrect observations so I had to adjust the prompt it was given a few times
- Issues with credits, DigitalOcean $200 credits not working and Gemini API couldn't figure out if there was free credits or not.
Accomplishments that we're proud of
- Finishing the product just as envisioned within 24 hours while only having one programmer
- I love how the SDK functions, I love how we made something that only requires one line of code to work with.
- As a Web Developer, proud of implementing Cloud, Databases, and an LLM for the first time.
What we learned
- GPT has gotten really good at code
- New technologies
What's next for InvisInsights
Might switch from Gemini API to OpenRouter after the event given I have credits on there. Maybe will keep running if I get my DigitalOcean credits
Log in or sign up for Devpost to join the conversation.