Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
Rate, map and remember every espresso martini.
Translation pending
LifestyleJavaScript · CSSGitHub @ptbabcock-gifOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The Cheers is a mobile-first web app for rating espresso martinis at bars and restaurants. Log each drink against a five-part rubric, record what went into the glass, pin the venue on a map, and let the leaderboard, history and stats tell you where to go next.
It is a Progressive Web App with no build step and no runtime dependencies: plain HTML, CSS and ES modules. Open it in a phone browser, "Add to Home Screen", and it works offline (map tiles and address search need a connection).
docs/GROUPS.md.npm start # serves http://localhost:8080 (zero dependencies)
Any static file server works too (python3 -m http.server, GitHub Pages, Netlify…).
Serve over HTTPS or localhost so geolocation and the service worker are allowed.
npm test # unit tests for scoring, ingredients, store and geo (node:test)
npm run e2e # Playwright browser tests: solo smoke test + two-phone group test
npm run icons # regenerate PNG icons from icons/icon.svg (needs Playwright)
The browser test stubs map tiles, place search and geolocation, so it runs offline and deterministically; it walks the whole app: load sample data, search/sort, map pins and "near me", rate a new venue with address lookup and ingredients, edit, delete, export, theme switch, and persistence across reload.
index.html app shell (header, view container, tab bar)
styles.css design tokens, components, map styling, light/dark themes
manifest.webmanifest PWA manifest
sw.js offline app-shell service worker
src/app.js router and all views
src/scoring.js rubric, overall score, aggregates, ranking (pure)
src/ingredients.js ingredient model and insights (pure)
src/store.js persistence, validation, import/export (pure, Storage-agnostic)
src/geo.js haversine, Web Mercator tile math, geocoding (pure)
src/places.js nearby-places discovery via OpenStreetMap Overpass (pure + fetch)
src/map.js dependency-free slippy map (tiles, pan, pinch, pins)
src/ui.js DOM/format helpers
src/sample-data.js demo venues and tastings
src/config.js Supabase URL + anon key (empty = solo mode)
src/cloud.js Supabase REST client over fetch (auth, tables, RPC, storage)
src/sync.js offline-first sync engine for groups
supabase/schema.sql database schema, security rules and functions
tests/fake-supabase.js in-memory Supabase stand-in used by the tests
tests/*.test.js unit tests
tests/e2e.smoke.js Playwright smoke test
scripts/serve.js static dev server
scripts/make-icons.js icon generator
docs/DESIGN.md design rationale, data model, scoring maths
docs/GROUPS.md group setup and how sync works
Map data and place listings © OpenStreetMap contributors. Please respect the
Overpass API usage guidance,
OSM tile usage policy and
Nominatim usage policy if you
deploy this for more than personal use; swap OSM_TILE_URL in src/map.js for your own
tile provider at scale.