Our First Year at Ceto: Breakthroughs, Breakdowns, and a Pivot
Share
Before jumping into this post, I want to say that I can’t express how thankful I am to our customers who have trusted us, and continue to trust us, with their coffee purchases. It is not possible to appreciate how hard of a job financing, sourcing, roasting, QC’ing, fulfilling orders, and handling customer service is until you participate in the process. The pleasure of tasting interesting and rare coffees every day pales in comparison to the gratitude we receive from our customers and the enjoyment they share. It means the world to us when someone reaches out to us to say a coffee we roasted made their day. That encouragement, the positive feedback, and the broader coffee community is what keeps us going and is what will keep us passionate about coffee and improving our approach to sourcing and roasting in the years to come.
It has been an exciting and busy year for Alena and me at Ceto. Since launching in April we’ve fulfilled over 700 orders, sampled over 300 coffees, released 24 of those samples (with several more coming before the end of the year), sold out of 14 of those releases (as of the time of this writing), and kicked off a brand and business that we can both be proud of – all on top of having full time day jobs outside of coffee. This post will explore our journey during our first year and share with you some of the challenges that we've faced starting our business.
Before launching Ceto, I made it a point to sample and roast as many different coffees as possible. This resulted in hundreds of purchases from Roastmasters, The Captain’s Coffee, Showroom, and Sweet Marias, and hundreds of roasts on a Kaffelogic and shortly later our Kaleido M1. Eventually we partnered with a local café with the goal of bringing unique origins and high-quality light roasted coffee to our area (in New Jersey, the most densely populated state in the USA, there are surprisingly few roasters taking a modern approach to lightly roasted coffee). When the partnership with the café didn’t work out, (they ended up stiffing us on over $1k of purchases and left us with a few bags of green coffee we fronted the cost for) we decided to pivot into launching the brand with an online retail focus. While the first few coffees we released represented our local partnership, we quickly grew into our own with our sourcing and profiling.
The following months were full of early morning and late evening cuppings, building relationships with importers, reaching out to farms, and having fun conversations and in person gatherings with fellow roasters, influencers, and internet personalities: BK of https://minmaxcoffee.com/, Shoddy of https://banana-mouse-coffee.dm2buy.com/, and Maxwell of https://shoebox.coffee/. During this time, we tried to learn as much as we could about how our roasting approaches and the technology available to us impacted our green selection preferences and profiling.
And during that time, growth was good – we’ve increased sales fairly steadily each month since launch, participated in the US Mystery Coffee League https://us.mystery.coffee/, participated in coffee auctions, grown our Instagram to over 700 followers (maybe small for some, but I never thought it would happen!), and now even launched a blog 😊
But boy has it also come with its challenges.
Our main roaster is a Stronghold s7x. Generally, this machine works well – the product that is achievable is unique and can hit a modern ultra-light target. However, there are some major considerations when using the s7x – some specific to the machine, some shared by most electric roasters, and some most machines suffer from.
When we first started roasting, we did implement environmental controls – in the form of an air conditioning unit that kept the room around 68-69f – and we made sure our exhaust was direct without unnecessary turns or redirections in the exhaust hose. This worked – mostly. We noticed that during some roasts, on some days, on coffees that were a little more sensitive to heat application, we were getting some scorching of the coffees and minor off/roasty flavors, causing us to toss the batches. And as these things go, these problems usually popped up in the middle of production days, leaving us scrambling to try and fix the issue while delaying production. It was difficult to diagnose what was happening to the coffee with the low resolution and smoothed Stronghold graph data, which hid temp spikes and obfuscated issues in the roast data.
![]()
Above is a picture of an s8x roast curve from Jonas of https://shop.ordinarycoffeeroasters.com/ where the lack of resolution and smoothing in the bean RoR curve can be seen.
It was around this time that I was working on the first iteration of a project that allowed us to stream the Stronghold control and sensor data from the integrated tablet to a laptop running Artisan. It was a long road from getting the data streaming to reverse engineering what the data represented – none of the interfaces or communication protocols were documented anywhere, and I was very unfamiliar with this area of software development (my day job is primarily focused on web application development).
I felt like Neo from The Matrix when I initially got this working. Excitement levels were off the charts!
This consisted of a (mostly working) hack in the form of an Android app I installed on the integrated stock Stronghold tablet, which listened to the android device bridge communications between the tablet and the Stronghold on the loopback interface (a future post will go into the reverse engineering required to get this working) and streamed these using a WebSocket. I say mostly working – because of the specs of the integrated tablet, WiFi connection, and Artisan issues, there were occasional drops in packets – but it worked well enough for us to stream the data to Artisan and to begin to diagnose issues with the roasts.
After getting Artisan working, it was quickly noticeable that some roasts just ran hotter for no apparent reason. Before Artisan I expected it was just charge temp or BBP issues – the Stronghold doesn’t tell you the actual temp when charging, just that it is “ready” – but that was quickly ruled out. It wasn’t voltage: while we don’t yet have a voltage stabilizer in the room, one of the first things I did when installing the Stronghold was to have a way to easily monitor my main’s voltage – so it had to be either some issues with the controls of the device, or how the device was physically functioning. Identical charge temps (per Artisan and Stronghold probes) and settings with identical batches just sometimes ran significantly hotter, causing major issues during roasting

My voltage readout, that I still use every time I roast to adjust power: cheap, crude, and effective!
It took a bit of investigation, but we eventually realized that our issues were entirely due to airflow, primarily make up air in the roasting room. The roasts ran hotter when we had the door to the roasting room closed (especially when also running the cooling tray – which clarified why the issue was coming up primarily during production when we’d be cooling a roast while charging another more often) and no windows opened in the house. The fix was simple: keep the door to the roasting room cracked during roasting and open a window somewhere in the house. As soon as we started following this protocol all our overheating issues went away, and our profiles started being much more consistent – both in taste and in the data.

An early pic from some test roasts when we initially got the Artisan integration working. Ignore the test profile!
We hit a little bit of a stride here and put out some of our best coffee to date (in our opinion), and it was around this time that Café Imports https://www.cafeimports.com/ reached out to us with an extremely generous offer: they had three old Stronghold s7pro roasters that they couldn’t get working and wanted to get rid of, and offered to ship them to us. I thought they would ask for some payment for the machines, or at least for us to cover the freight – but no, after giving them our info they showed up at my house a few weeks later on a single crate.

Over the following months I began the process of restoring these machines. This involved disassembly, cleaning, repairing components, diagnosing issues, resoldering components (including tablet batteries), and testing, testing, and more testing. While I repaired the machines I began work on implementing my own Android application for controlling the Stronghold. Maybe the subject of a future blog post, the design decisions and work put into reverse engineering the protocol for controlling & reading sensor data was extensive, and it is fair to say that this was a significant amount of work over the following months. Eventually I got two of the machines working.
Having only one half-functioning stock tablet between the two pros wouldn't do, but I had some difficulty in selecting a tablet that would work with the Stronghold – I went through a few popular choices that would both run the stock application (for backwards compatibility if I wanted it) and tablets that were too new for the app that was targeted to a very old version of Android. Eventually, I did some research for tablets that shared some features with the stock tablet and found a RK3288 tablet called a “X101” available online that had a power plug and a USB port dedicated to ADB communications. I settled on the tablet available from “Sunsky” which proved to be a good choice, as this tablet runs both the custom app and the stock Stronghold app well and seems to have more reliable WiFi connectivity than the stock tablet. About $200 later, including shipping, we were in business.

Right before we could get the application in a state where it was producing a reliable product, and before we did any test roasts on our s7pro, in August our production machine (which was about six months old at this point) went offline with a 0302 error. We immediately reached out to Roastronix, and to their credit they did get us a replacement motherboard pretty quickly. However, this didn’t fix the issue and we had production roasts to complete, and the following few weeks were very large order weeks – we needed to either make the decision to offer refunds and suffer the fallout, or get the coffee roasted.
The next week consisted of me running from my computer to the roasting room carrying a tablet, making code changes, compiling the app, running back to the roasting room (in hindsight setting up a development environment in the roasting room or working on remote app deployment would have been a good idea), testing those changes, doing roasts, making more changes, tweaks, updates… and eventually... after a fair amount of test roasts and QC, we were able to put something together – on the s7pro – that produced a product we were happy with, just in time to fulfill orders (actually a few days late, breaking our "ship on Monday" promise).
This also involved modifying the s7pro for custom probe placement to resolve some hardware design issues with the Stronghold: the stock probes use a custom mounting solution attached directly to the drum that causes the probes to slowly heat up from the drum as you roast, causing significant probe reading drift. Our new bean temp probe is mounted directly to the outer case of the machine which is much cooler and uses a standard probe mount, with the drum temp probe being replaced with a surface probe attached directly to the side of the drum. Both these probes are compatible with the stock Stronghold app (though perform very differently from the stock probes) and the custom application we developed.

Picture of our custom bean temp probe placement on our s7x, before adding a standard mount, using standard and widely available 3mm probes.
The next couple of weeks orders were fulfilled on the s7pro using our custom software, custom probe placement, and a new approach that we tested and QC’d on the pro. Unfortunately, it was shortly after this that some of these roasts started to display light roasty notes after a week or two of rest, primarily “on the nose” when opening a rested bag, but also during QC brewing and during bean chew in some circumstances.
In developing our profiles on the s7pro we tried to stay within the parameters of our old s7x roasts – keeping charge temps and curves roughly in line with our old profiles to produce roasts that tasted and performed about the same. In doing this with the new app, probe setup, and layout, we were overheating the beans and causing environmental burn on the coffees.

Example of an earlier roast – where you can see the high drum temps at charge.
Shoddy, a friend from Discord, suggested lower drum temps and we started working together and experimenting with a few different roasting approaches, gradually reducing drum temps and roasting coffees while adding a gentle soak. This time was filled with profiling the coffees, tasting them, letting them rest, and revisiting to see if we eliminated the issues.
During this time we also experimented with drum heater and halogen to see how it was impacting the roasts (was this the source of the roast notes?) and started to settle on an approach that did not use any halogen or drum heating throughout the roast on any of our profiles. In blind cupping we preferred roasts without halogen or drum in 100% of cases. Generally we have good power at this location and have found that we do not need halogen or drum heat to achieve a fast roast.
What we eventually ended up with was an approach that used essentially no preheat for the drum other than what was imparted during heating with the hot air element. In our tasting this gave us a profile that was a little less forgiving for more processed coffees, but also expressed itself with bigger florals than our previous approach, and to our perception lacked any roast in the cup or on the nose. One downside about this approach – and something worth exploring further – is coffees roasted this way need a significantly finer grind compared to our old roasting approach, and generally can be (and often demand being) pushed harder with agitation and contact time. Compared to our original style of roasting, these coffees are presenting lighter and leaning more towards what we experience with ultra-light drum roasts, but are somewhat easier to extract.

Because of these changes we updated our brewing guidelines on the site: we now suggest grinding a little finer than you used to (actually, we suggest going about 1/5-1/4 finer on your grinder as compared to profiles from September and earlier) and adding in more agitation. Historically I suggested a coarse grind for Ceto coffees – with this new approach I am suggesting a “slightly finer than usual” PO grind for v60.
It was during this time that we had the pleasure of collaborating with Airworks coffee https://airworkscoffee.com/ on a fantastic washed Gesha Village lot. It was super fun to roast this coffee for Airworks, and I hope we have the opportunity to again in the future. We also were asked to be the featured roaster for October for the US Mystery Coffee League https://us.mystery.coffee/ - so you can see that we were keeping busy! Over 100 orders from MCL in a single week was a huge surprise for us. Fortunately we did have our custom automation solution working on our Stronghold s7pro (though we unfortunately hadn’t quite nailed the new roasting approach, these coffees were released on older profiles).

In the above image you can see how the automation tracked and dropped the profile just about perfectly on target. We coded this algorithm and system entirely in house, and are quite proud of the outcome and product.
We don’t use automation often, but when it is needed – like weeks where we have nearly 100lbs to roast – it is invaluable. The s7x and the s7pro are fairly small roasters (though they can be pushed to 1000g charge batches using our approaches for most green) and doing 50 or more production roasts in a single day is a lot for anyone. With automation, we have to be there in the room, but we can run two machines at once – either both automated or one automated and one manual – and double our production output. Most of the time I enjoy roasting “manually” but as we move forward I have found that the automated roasting profiles are reliable and the product is as good if not better than manual roasting once dialed in for that coffee.
The following weeks leading up to fulfillment for MCL were on the Pro while we tried to diagnose the issues with the s7x. Eventually I discovered during testing that if I unplugged the IR sensor for the Stronghold the machine worked without issue. I still need to discuss getting a replacement sensor from Roastronix (I never used the IR sensor so it isn’t very important to me, but since the machine is under warranty I figure it is a good idea) but for now we’re back to roasting primarily on the s7x and using the pro for testing & as a backup production roaster.
An added benefit to our new software and approach is that we can profile a coffee manually, save the profile, and bring it into our custom editing software to very slightly adjust settings for future automated roasting. This is super useful for making slight adjustments or experimenting with things like reduced charge temperature while keeping the other settings the same.

Above image of our “curve editor” that we developed to augment our new software.
All of these adjustments have brought us to where we are now: releasing and profiling coffees at an “ultra-light” roast level—about as light as we can go without introducing defects—while still developing the beans enough to make them approachable. We’re continually learning and refining our process, so our methods will naturally evolve as we experiment and gain new insight. For the moment, though, we’re pleased with the results: profiles that highlight acidity and florals and lack any detectable roast in the cup.
What’s next? Well, we have a few projects in the pipeline: we’re currently working on a rebrand of both the bags and the website, I would like to continue some software updates with the new custom app, I’d like to add “power profiling” to the Stronghold (or rather, see if it will work at all!) in the form of monitoring the power draw of the heating element & following a designed power curve, we will shortly be purchasing a voltage stabilizer that will be able to drive both Strongholds at once to prevent variations in voltage impacting roast consistency, and we’re always looking for ways to improve productivity around the roasting room, fulfillment, and to increase the product quality (destoner & color sorter are on this list!).
And, hopefully – if growth continues – setting up a dedicated commercial roasting and public tasting space, and liberating my guest bedroom 😊

These next few blog posts will focus primarily on how we modified our coffee roaster, repaired the broken s7pros, how we modified our roasting approach to match up against these new modifications, an overview of the gear that we’ve purchased to help facilitate a very-small micro roastery (our roasting room is about 90sqft, and part of that is occupied with a large chest freezer), and the personal challenges that come along with sampling dozens of coffees a week while working full time. Hopefully you enjoyed this post, and please feel free to comment if you have any questions about our setup or roasting process.
