the goal
build a marketing page for a mobile app companion using Sass for styling, the IntersectionObserver API to dynamically apply styles, and local storage save themes.
guy's inspiration
guy is a mobile app companion that actively listens to your conversations and responds to you via phone notification. This concept draws from Friend, an AI pendant that garnered a lot of attention for its potential to replace human connection.
Friend states that “your friend is always listening and forming their own internal thoughts,” which sparked conversation regarding the ethical concerns of the pendant.
due to the mixed reactions to Friend, i thought it would be fun to not only create a website inspired by its modern branding, but attempt to market an unsettling product to the average person using a SaaS-style approach.
using Sass
Sass was essential for organizing the project’s styling, particularly when
implementing features like dark mode and animations. by isolating color properties in a separate
.scss
file, i could easily manage and adjust light/dark mode without cluttering
other files.
leveraging localStorage
localStorage allows for data to be stored in a user’s browser, allowing for certain settings to be stored across different sessions. for guy, i stored the user’s dark/light mode preference so that it can be saved every time they visit the website or refresh the page, resulting in a pleasant user experience.
working with IntersectionObserver API
we were provided a script.js
file to integrate the IntersectionObserver
API. i customized it to trigger fade and slide animations as elements entered the
viewport, which enhanced the site’s modern feel and visually demonstrated how guy’s
notifications would appear on a phone. i also used the ::after
pseudo-element to
add a dynamic section indicator to the navbar, improving the site’s navigation and user
experience.
FAQ accordions
for the FAQ section, i implemented animated accordions using the
max-height
property. this kept the content organized and easy to access, with
smooth transitions when opening or closing each question.
bringing it together
the marketing page became a successful blend of modern design, interactive features, and smooth user experience. by leveraging Sass for organized styling, the IntersectionObserver API added an interactive layer, and localStorage integration i was able to explore the intriguing challenge of marketing a product through a sleek, SaaS-style website.