Everyone has a coffee they loved and lost. A bag a friend brought over. Something grabbed on a whim at the grocery store. A pour-over at a café in a city they were visiting. They remember loving it. They remember thinking they should buy more. Then the name faded, the roaster faded, and the discovery disappeared.
tāst reimagines that experience as one clear loop: scan, recognize, react, remember, recommend, buy. A new user completes a playful ninety-second quiz built entirely from lifestyle questions, so nobody has to admit what they do not know, and lands on a taste profile with their first recommendations. From there they point their camera at any coffee bag and receive results in seconds. They rate, tag flavors through a hierarchy that reaches down to personal memory associations, and answer whether they would buy it again. Every rating teaches the platform who they are. The journal logs every scan so nothing is lost, and the For You feed explains why each recommendation fits. To bring this vision to life, Chop Dawg designed and developed React Native mobile applications for iPhone and Android, a responsive Roaster Partner Portal, and a desktop-only Internal Administrative Website Application, all running on Google Cloud Platform with Firebase Authentication, Firestore, Cloud Functions, and Cloud Storage.
Before tāst, the tools available to curious coffee drinkers were built by experts for experts. Tasting notes assumed vocabulary nobody had taught them. Discoveries evaporated because there was no place to record them. On the other side of the transaction, specialty roasters had no way to see who actually loved their coffee, only generic demographics that told them nothing about taste.
tāst needed to solve multiple challenges simultaneously. Onboarding had to seed a real taste profile without asking a single intimidating coffee question. Scanning had to feel instantaneous and accurate enough to earn trust on the first attempt, with a graceful path forward when recognition failed. The flavor vocabulary had to be structured enough to power recommendations yet approachable enough for a beginner. Recommendations had to explain themselves so users understood what the platform was learning about them. The roaster experience had to deliver genuine analytics and control while staying entirely web-based so partners never paid a platform transaction fee on their own subscriptions. Internal operations covering the coffee database, user submissions, the flavor taxonomy, rewards, content, and partner support all had to run without a developer in the loop. Subscriptions had to satisfy Apple App Store and Google Play Store requirements exactly, including native purchase flows, honest paywall language, and account deletion with complete data eradication.
Building a Platform Where Beginners Feel Like They Belong
From the very first conversation, we understood that tāst would live or die on whether a first-time user felt welcomed rather than tested. Working closely with the In Great Taste team, we mapped journeys for the curious drinker standing in front of a wall of bags, the home brewer who could not explain why some coffees taste better, the roaster who wanted real visibility into their customers, and the operator who needed to approve a user submission without filing a ticket. We defined how the onboarding quiz should translate music, dessert, and travel preferences into weighted taste profiles, and how every recommendation should carry a plain-language reason.
Figma served as our collaborative design hub where wireframes evolved into polished, high-fidelity screens across both light mode and dark mode. Weekly meetings during design and bi-weekly meetings during development kept all teams aligned as we iterated on the harder problems, including recognition confidence thresholds, the Coffee Not Found flow that turns a miss into a first review, and the moderation queue that keeps the database trustworthy as it grows. In parallel, we formalized a technical approach centered on React Native for mobile, React for both web applications, Node.js with Cloud Functions and Cloud Run on Google Cloud Platform, Firestore, Firebase Authentication with Sign in with Apple and Google Sign-In, a large language model API for recognition and recommendation reasoning, Apple StoreKit and Google Play Billing, and Firebase Cloud Messaging for notifications. Through Slack, Jira, and Confluence, every decision stayed documented throughout the engagement.
We designed and developed mobile applications for iPhone and Android that turn a wall of unfamiliar coffee bags into a personal journey users can actually remember and build on.
tāst opens with a playful quiz that gives every new user a real starting point in roughly ninety seconds. Seven visual-first questions cover music genre, breakfast choice, art style, dessert preference, travel destination, color palette, and film or television genre, so nobody is asked to explain what anaerobic natural processing means before they have earned that knowledge. Each answer maps to weighted scores across seven taste profiles: Bright and Fruity, Chocolatey and Nutty, Bold and Earthy, Sweet and Floral, Rich and Syrupy, Funky and Fresh, and Clean and Balanced. The results screen presents a primary profile with a visual badge, a brief description of what it means in plain language, and the first recommendations drawn from it. The profile is a starting point rather than a verdict, and real rating activity progressively outweighs the quiz as the user engages. This removes the biggest barrier to entry in specialty coffee, which is the fear of being asked a question you cannot answer.
Scanning is the core differentiator, engineered to feel like a small piece of magic. A full-screen camera view provides framing guidance, and the captured image is sent to a large language model API that extracts brand, product name, roaster, origin, and roast level, then matches those attributes against the database with confidence scoring against a target response time under two seconds. A successful match returns the coffee with full identity details and a relevance indicator showing how well it aligns with the user’s profile. When confidence is low, the app presents a best guess the user can confirm or reject rather than silently guessing wrong. When recognition fails, the Coffee Not Found flow reframes the moment as an opportunity to contribute. The user confirms their photo, enters a coffee name and roaster name as the only required fields, optionally adds origin, roast level, processing, and price, and submits for moderation. They are then prompted to rate it, which makes them the first reviewer and credits them as contributor once approved. A dead end becomes ownership.
The rating system produces high-quality recommendation signals while staying quick and welcoming. Users rate on a five-point scale with half-step granularity from 0.5 to 5.0. Flavor tagging runs through a four-tier hierarchy that meets people wherever their vocabulary happens to be. Tier one covers primary flavors including Fruity, Sour, Sweet, Green, Floral, Nutty and Cocoa, and Roasted. Users drill into tier two subcategories and tier three specific flavors when they want precision. Tier four is the memory layer, where users attach personal associations to what they taste, with custom memories saved to a personal vocabulary that resurfaces on future ratings. A would-buy-again prompt captures the highest-value intent signal on the platform. An optional short review with a character limit keeps contributions approachable rather than turning into blogging, and users can tag a brewing method and attach up to five moderated photos. Tapping any flavor tag anywhere in the app opens a brief explainer, so the vocabulary teaches itself rather than being assumed.
The journal solves the original frustration, which is loving a coffee and forgetting it. Every scan is logged with a timestamp whether or not it was rated, and unrated scans appear as incomplete entries with a gentle prompt to finish the loop. Entries display coffee name, roaster, the user’s rating where present, and scan date, and can be sorted by date or rating and filtered by rated versus unrated. A search bar finds any coffee or roaster from the user’s own history in seconds, and tapping an entry opens full details where the rating can be edited or deleted. Lists capture intent rather than history. A default want-to-try list offers quick-add from coffee details, scan results, and recommendations, and users can create custom lists for favorites, gifts, or seasonal selections. Between the two, a coffee discovered six months ago is always one search away.
The For You feed is the personalized home screen that ties the entire loop together. Recommendations are generated through rules-based matching enhanced by large language model reasoning, drawing on onboarding responses at first and shifting toward real rating signals including flavor tags, roast preferences, and would-buy-again responses as activity accumulates. Every recommendation carries a plain-language explanation of why it appeared, such as a reference to the fruity Ethiopian coffees the user rated highly, so the platform’s understanding stays visible rather than mysterious. The feed also surfaces prompts for scans left unrated, milestone progress toward the next reward, and new releases from roasters the user has rated well. Educational content unlocks through activity rather than sitting in a library. Scanning and rating an Ethiopian coffee unlocks the Ethiopia origin profile. Roaster stories build connection beyond the transaction, and brewing guides for six methods appear as utility content with equipment, ratios, grind size, and instructions.
tāst connects discovery to action through three paths that respect both the user and the platform rules. Milestone rewards trigger at rating counts configured in the administrative application, with a celebration modal and a reward code displayed in the app with copy-to-clipboard functionality and delivered by email as a backup. Progress toward the next milestone stays visible in the profile alongside full reward history. The premium subscription is a monthly tier purchased exclusively through Apple App Store and Google Play Store native in-app purchase systems, with a paywall that states benefits, pricing, and renewal expectations plainly, a Manage Subscription control that routes to device settings rather than pretending the app can cancel on the user’s behalf, Restore Purchases for device changes, and server-side receipt validation. Purchase link-outs appear on verified partner coffees, opening the roaster website with affiliate-friendly link structures and attribution event logging. Version one deliberately carries no cart and no native checkout, keeping the experience honest about where the transaction actually happens.
Beyond the consumer experience, we developed a responsive Roaster Partner Portal and a desktop Internal Administrative Website Application that give partners real control over their presence and give the tāst team full operational independence.
The Roaster Partner Portal is a responsive web application supporting desktop, tablet, and mobile, so partners can manage their presence from wherever they happen to be standing, which for a small roaster is often the production floor rather than a desk. Keeping the portal entirely web-based means partners never pay platform transaction fees on their own subscriptions. Profile management covers company name, story, sourcing philosophy, logo and cover imagery, contact information, and location, with a preview showing exactly how the profile will appear to consumers. Product management gives roasters authority over every field that powers discovery: coffee name, description, tasting notes, origin, processing method, roast level, price, purchase link, and images, with sorting, filtering, and quick actions across the product list. Inventory status offers in stock, out of stock, and limited availability with individual or bulk updates, plus an optional Shopify integration for partners who are ready. Every change flows to the mobile applications so what consumers see reflects what the roaster intended.
The analytics dashboard delivers what no other platform gives specialty roasters, which is direct visibility into the people who love their coffee. Metrics include scan frequency per product showing how often each coffee is encountered in the wild, rating activity with averages and counts, purchase link-out activity that signals real intent, and aggregate taste profile data describing the users who rate their coffees highly. A summary view shows overall performance with drill-down into individual products, date range filtering, and CSV export, and every metric is presented honestly as a directional indicator. Review management lets roasters see every rating and review with sorting and filtering by date, rating, or product, including flavor tags and photos, and write one moderated response per review. Access is governed by three roles: Owner with full access including team management and billing, Manager with access to profile, products, analytics, and reviews, and Editor limited to profile and product editing.
The Internal Administrative Website Application gives the tāst team authority over the data that makes the entire platform trustworthy. The coffee database view covers every entry with search by coffee or roaster and filters by status and source, and detail views expose every field alongside rating summaries, submission source, and moderation history. Administrators can edit any field, replace images, and correct roaster associations, with every change written to the audit log. Duplicate entries merge cleanly with ratings and reviews consolidated under a single record. The moderation queue handles submissions arriving from the Coffee Not Found flow with approve, edit and approve, or reject actions and immediate publication upon approval. Roaster verification status is managed here as well, controlling badge display and portal access. Flavor tag management governs the complete four-tier taxonomy with usage counts visible, plus the ability to add, rename, move, merge, and deprecate tags so retired terms disappear from new ratings while remaining intact on historical ones. Because recommendation quality depends on taxonomy consistency, this control matters more than almost anything else in the application.
The remaining modules cover the daily work of running the platform. User management supports search and filtering by status and subscription tier, with detail views showing taste profile summary, rating and review counts, journal entries, and subscription status. Administrators can trigger a password reset without ever viewing a password, suspend an account, deactivate it while preserving data for reporting, or delete it with complete data eradication, each gated behind a confirmation and recorded in the audit trail. Content management covers origin profiles, processing explainers, roaster stories, flavor explainers, and brewing guides, with unlock condition configuration and publish controls. Rewards management defines milestone thresholds, creates codes tied to participating partners with expiration dates and usage limits, and tracks redemption with export for reconciliation. Subscription oversight provides totals, tier breakdowns, and trends alongside individual lookup, with the deliberate constraint that administrators can see subscription state but never override it, because Apple and Google own that relationship. Partner operations rounds it out with verification status, onboarding tracking, and issue resolution.
Our partnership extended beyond design and development. We served as strategic advisors, helping the In Great Taste team make confident decisions about security, store compliance, and data architecture so tāst could launch as a premium product and grow into the roadmap already sitting behind version one.
Throughout development, we implemented security measures appropriate for a consumer platform holding personal preference data and subscription entitlements. Firebase Authentication handles email and password sign-in with encrypted password storage, alongside Sign in with Apple positioned at the top when options stack vertically as Apple requires, and Google Sign-In for cross-platform convenience. Password recovery uses secure, time-limited email links, and sessions persist until explicit logout with optional biometric unlock through Face ID, Touch ID, or Android fingerprint. In-app account deletion performs complete data eradication and sends a confirmation email, with unmistakable messaging that deleting a tāst account does not cancel an active subscription. Both web applications enforce role-based access in routing and interface, with idle timeout protecting shared machines. Every sensitive administrative action including account deactivation, role changes, database modifications, and content approvals is written to an audit log capturing who acted, when, and what changed. API keys and credentials live in Secret Manager rather than application code.
Together, we designed monetization and permissions that satisfy Apple App Store and Google Play Store requirements without hiding anything from the user. Subscriptions run exclusively through Apple StoreKit and Google Play Billing with server-side receipt validation, and no external payment method bypasses those systems. The paywall states benefits, pricing, and renewal expectations plainly, and Manage Subscription routes to the Apple Settings app or Google Play Store app rather than implying the app controls billing. Restore Purchases handles device changes, and lapsed subscriptions receive clear messaging and a path to resubscribe instead of a locked screen. Permissions follow a strict point-of-need model. Camera access is requested only when a user initiates their first scan, notifications only after an in-app explainer shown at a moment of genuine value, and photo library access only during a contribution or review upload. Apple privacy nutrition labels and Google Play Data Safety questionnaires reflect actual SDK usage and real data flows, and store screenshots match the experience users will encounter rather than an idealized version of it.
Beyond core functionality, we architected tāst so version one performs like a premium product and version two does not require a rebuild. Performance budgets concentrate on the flows users feel most: app cold start under three seconds, recognition response under two seconds, API response under five hundred milliseconds at the ninety-fifth percentile, and portal page loads under two seconds, all validated on mid-range devices and variable networks rather than only on flagship hardware. Cloud Functions and Cloud Run handle recognition, recommendation signal calculation, subscription verification, and rewards eligibility as background work so the interface stays responsive. Every rating, flavor tag, memory association, and would-buy-again response is stored in a structured format deliberately shaped to train the machine learning recommendation engine planned for a future release, which means the rules-based system shipping today is simultaneously building the dataset that will replace it. Firebase Analytics, Crashlytics, Cloud Logging, and Cloud Monitoring cover engagement, stability, and observability.
Our partnership with the In Great Taste team was built on a shared conviction that taste is personal and that nobody should feel unwelcome in specialty coffee. The team arrived with genuine preparation, including detailed documentation, defined psychographic profiles, a mapped four-tier flavor hierarchy, established roaster relationships, and a design direction already underway, which meant our earliest work focused on translating strong thinking into buildable specification rather than starting from a blank page. Weekly meetings during design provided alignment on the harder decisions, including recognition confidence thresholds, the shape of the Coffee Not Found contribution flow, and how much of the roaster analytics picture could be presented honestly without overpromising attribution. Bi-weekly meetings during programming kept development on track across three connected products and both light and dark mode. Figma served as our collaborative design canvas where feedback happened in real time. Jira tracked every feature and bug through completion while Confluence captured scanning workflows, recommendation logic, and account lifecycle policies. GitHub stored version-controlled code with complete commit history. A dedicated project manager coordinated across design, development, and quality assurance teams spanning the United States, Brazil, and Pakistan, with testing covering every consumer flow, both web applications, and accessibility touchpoints.




tāst replaces gatekeeping with guidance. A curious drinker downloads the app, answers seven questions about music and dessert and travel, and walks away with a taste profile and their first recommendations before admitting a single thing they do not know. They scan a bag in a grocery aisle and get an answer in under two seconds. They rate it, tag what they tasted using words that feel like their own, and tap a flavor to learn what it actually means. Three weeks later the For You feed tells them they keep gravitating toward bright, fruity Ethiopian naturals, and they recognize it as true because they discovered it themselves rather than being told. The coffee they loved last month is one search away in the journal instead of gone forever.
tāst delivers specialty roasters something the market has never given them, which is direct visibility into the actual people buying their coffee. The Roaster Partner Portal shows scan frequency per product, rating activity, purchase link-out taps that signal real intent, and aggregate taste profile data describing the users who rate a coffee highly. A roaster can see that their Yirgacheffe consistently reaches drinkers with a Bright and Fruity profile and adjust their sourcing and storytelling accordingly. They control their full presence including story, product catalog, imagery, pricing, and purchase links, update inventory in seconds, and respond to reviews in a moderated way. Because all of it lives on the web, partners keep the full value of their subscription instead of surrendering a platform transaction fee. tāst succeeds when roasters succeed, and the architecture reflects that alignment.
The Internal Administrative Website Application gives the tāst team complete authority over daily operations. A user-submitted coffee arrives from the Coffee Not Found flow in the morning and an operator approves it before lunch, making it discoverable to everyone. Duplicate entries merge cleanly with their ratings consolidated. Flavor tags are added, renamed, merged, or deprecated as the vocabulary matures, and the mobile apps reflect it without an app release. Rewards milestones and partner codes are configured and their redemptions exported for reconciliation. Educational content is written, given unlock conditions, and published. Every sensitive action lands in an audit trail. The team that once would have filed a ticket and waited now simply does the work.
Imagine giving your users a product that learns who they are through what they actually do, explains its own reasoning back to them in plain language, remembers every discovery so nothing gets lost, and gives your partners real visibility while your own team operates the whole platform without engineering support. That is what we built with tāst, and it is the same level of strategic thinking, technical excellence, and user-centered design we can bring to your own platform. Whether you are opening up wine, fragrance, skincare, cannabis, books, or any other category where expertise has become a barrier instead of an invitation, our team is ready to partner with you from vision through development and beyond.