Giter VIP home page Giter VIP logo

coffee-shiny's Introduction

CJ's Hoffmann V60 Ratio & Timing Guide

Check out the shiny app here: https://cjarayata.shinyapps.io/coffee-shiny/

This is a Shiny app to help me with making pour-over coffee in the morning. I have a lot of Post-Its with brew charts for varying volumes, pages in a notebook that tell me all the past ratios I've tried and which one tastes best for which coffee, etc. A lot of this is based on James Hoffmann's YouTube videos, but tweaked by me based on my experience thus far.

Over time, I've been adding improvements to this shiny and would like to include more brewing methods and more coffees as I explore them. I invite you to take a look at previously-closed issues and open issues to see what I've been doing and thinking about.

Watch James Hoffmann's Ultimate V60 Technique video.
Watch James Hoffmann's Ultimate French Press Technique.

Enjoy!

coffee-shiny's People

Contributors

cjarayata avatar

Watchers

 avatar  avatar

coffee-shiny's Issues

Add 'Currently Brewing' Dashboard Page as default

Now that you have the timings and amounts pretty much committed to memory, it would be more helpful if the 'main' page of your shiny app was actually a Dashboard-like page with the coffees you are currently dialing and allows exploration of your collected data.

It should focus on coffees that were brewed in the past week, and coffees where 'currently_brewing' == TRUE.

Regardless of whether the current stash is dialed or not, it should give a table of the last few brew-parameters, e.g. show line graph of this batch over time.

It could also be expanded to show historical data and benchmarks, e.g., for all similar brew volumes and method, show graph or table of mean draw down times. to see if this is within an expected range or not.

Move grind size and temperature into csv

Right now, the logic for what temp and grind size lives in coffee_functions.R. That's silly. It makes it difficult to add new coffees if/when they deviate from your defaults.

The task at hand is to remove all of the logic from coffee_functions.R and just read these columns instead.

Add custom timing options.

On UI, can add a tickbox that says "override timing defaults". Then, take in as inputs bloom phase, first phase, second phase, third phase? timing as well as amounts, e.g. "target total grams" for each phase.

Basically, give users the option to populate their own table.

Add highlighting on gt table that coincides with stopwatch time.

This will be a bit tricky because the brewing time intervals are pasted/glued into the gt table. I'll need to save them off elsewhere and refer to them. I might need to generate a reactive statement/observer event that adds on row-highlighting when the stopwatch time is within each interval.

Update coffee_data.csv

  • Need to churn through existing Google Sheets data to figure out what best ratios are
  • Port over changes to coffee_data.csv and push to shiny server

Add on-screen timer.

It would be helpful to have an on-screen timer to use along with the gt table.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.