BeanBook
A coffee tasting journal app.
Inspired by my most favorite person in the world, BeanBook is a coffee tasting journal app that features a fun “conversational form” for submitting entries. The UI is simple and soft; I hoped to invoke the small, quiet moments found in the first sip of late weekend morning coffee, sitting in your favorite corner of your favorite cafe, the steam rising from a fresh, hot cup.
![BeanBook's Splash Page and Mobile Mockup.](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2F43j0p1b04cfm%2F45klOvK8IonY68AOM3qvnN%2F0b8b87d73361ecb78e19343c8129f184%2FBeanBookHero.webp&w=3840&q=75)
Features
Track notes on traditional coffee aspects such as: origin, price, producer/roaster, roast date, process, variety, brew method, taste
Flexibility to include personal notes that do not fit within the above criteria
Add entries through an intuitive chat
Search by filter
![Mockup of BeanBook Entry](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2F43j0p1b04cfm%2F6UqlgbCBrssd0cAzi4e6dI%2Fbc5dbe9dd49099b8ae46e0c9eb240235%2FBeanBookTwo.webp&w=3840&q=75)
Challenges
Speeding up database queries: this is something I’ll continue to work on, but so far I’ve resorted to refining my SQL queries in the GraphQL resolvers as well as database indexing.
Optimizing filtered search: this was my first time building out search functionality and hope to refactor my crude SQL search query.
Building a GraphQL server using NextJS API routes.
Integrating form validation through
yup
andreact-hook-form
![Mockup of BeanBook's Dashboard and Chat to Add Entry Feature](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2F43j0p1b04cfm%2F9ju77URREQfDgUcfW6wRD%2Fcbe17818587d338cdfbd853cbd134276%2FBeanBookOne.webp&w=3840&q=75)