Illustration of Shaun in a baseball cap holding a game controller, with the DiamondOps and RetroGhost Labs logos behind him

About the developer

Hi, I’m Shaun

I build DiamondOps and the apps at RetroGhost Labs, from idea to App Store, one person, no team. This is the long version of how a kid with a spiral notebook full of made-up baseball stats ended up running a Diamond Dynasty data site.

A life in games

A wood-grain Atari 2600 console with a joystick
The Atari 2600: Pac-Man, Journey Escape, Q*bert and Donkey Kong.

It started with an Atari 2600. Pac-Man, Journey Escape, Q*bert, Donkey Kong: those were the first games I played, and Pac-Man is the one that stuck. (It is the reason my company has a ghost in its name, but that comes later.) After the Atari came a Commodore 64, and at school there was the Apple IIe, which meant Number Munchers, The Oregon Trail, Where in the World Is Carmen Sandiego? and a space shuttle game.

Then, in the late 80s, the original Nintendo. That is where baseball games and I got serious. I played RBI Baseball, and then I played every NES baseball game I could get my hands on. I didn’t just play them, either. I ran full made-up leagues in a spiral notebook, in pencil: divisions, schedules, week-by-week stats, and standings I updated by erasing the row and writing it again.

The list kept going from there, and it is not even close to a complete history. There was Sega. There was a Tandy computer that ran Railroad Tycoon and Need for Speed. There was a Macintosh Classic in the 90s, which is where I played SimEarth and SimLife. There was a TurboGrafx-16, with Final Lap Twin, Splatterhouse and Bonk’s Adventure. Then the Super Nintendo, the N64, and the first PlayStation, with Tomb Raider.

Baseball was the thread through all of it. I have played baseball video games since NES Baseball, then the big baseball franchises through the 90s and 2000s, and every Madden along the way. When I wasn’t playing them, I was inventing my own. I threw a ball off the front of the house, off the garage door, or into a pitchback rebound net in the backyard, making up rules for whatever the bricks or the strike-zone target did to the bounce. I bought big sheets of cardboard from the craft store and made my own board games and card games out of cardboard and paper, mostly so I had something to track stats with, and I played out imaginary seasons with them.

I also bought Baseball Weekly every single week, so I could track real stats the way the magazine did. I would copy the standings page into my notebook. Looking back, that magazine was my original spreadsheet.

Then I stepped away from baseball games for about a decade. What brought me back was MLB The Show 20, in 2020. Two things pulled me in: online play, and how far stat tracking had come since the last time I had played. Diamond Dynasty let me build my own team and play real opponents, and the kid with the notebook woke right back up. I found myself tracking pitch tendencies and strike-zone tells by hand during games, because nothing in the game did it the way I wanted.

The original Nintendo Entertainment System with a controller
The NES, home of RBI Baseball and every notebook league I ever ran.
An Apple IIe computer
The Apple IIe: school-day Oregon Trail and Number Munchers.
A Tandy 1000 computer with its monitor and keyboard
A Tandy, like the one that ran my Railroad Tycoon and Need for Speed.
An Apple Macintosh Classic computer
A Macintosh Classic, where SimEarth and SimLife lived.
A TurboGrafx-16 console with its controller
The TurboGrafx-16: Final Lap Twin, Splatterhouse and Bonk.
The original Sony PlayStation with a controller
The first PlayStation, and a lot of Tomb Raider.
A pitchback rebound net with a strike-zone target
The kind of rebounder I’d throw a ball into for hours when the bricks weren’t enough.
Baseball Weekly magazine cover featuring Rickey Henderson, August 1991
The original spreadsheet. I’d copy the standings page into my notebook every week.

From a Commodore 64 to the App Store

A Commodore 64 computer
The Commodore 64, where I wrote my first code.

The same Commodore 64 that played games is where I started programming. From there it was C and C++, BASIC and Java through the 90s and 2000s. Out of college I went into enterprise software development, building J2EE applications, and then followed the work to the web: JavaScript, HTML and CSS, all the way through to Angular.

Over the years the stack has been Java, PHP, Node.js, Angular and React, and more recently Swift, SwiftUI and SwiftData for native iOS. The apps I build today are native iOS apps on a shared TypeScript and MongoDB platform, and the web side runs on Next.js, React and Tailwind.

Since the end of 2022 I have been building with AI, first with ChatGPT and then with Claude, which is my main tool today. It is a big part of how one person can go from an idea to an App Store listing. My GitHub profile sums up how I try to work in three short lines: ship it, own the stack, document everything.

All of this happens under RetroGhost Labs. The name is two loves combined: retro games and Pac-Man. It started as my avatar, the old ghost from Pac-Man, and the ghost became the company’s name. RetroGhost Labs is me: a solo developer and founder, doing everything from idea to App Store, one person, no team.

My first two baseball apps came straight out of the notebook habit. Back in 2021 I started tracking my opponents’ pitches on a whiteboard between at-bats: a hand-drawn grid, a dry erase marker, a tally mark for every location. It worked, so I kept doing it. The whiteboard was across the room, so I moved to paper at my desk, and then designed and printed my own tracking sheets with a strike-zone grid on them. Then I built a small web app, just for myself, in TypeScript with an HTML front end and MongoDB behind it, and ran it on my PC right next to the TV. I kept building on it for years. Eventually it became PitchGuessr, a SwiftUI app I spent a fall and winter building, and I launched it the same week MLB The Show 26 hit early access. I built it because I needed it.

The problem it solves is one every online player knows. Between pitches you are managing pitch count, handedness, zone tendency and the game situation, all in a few seconds. My brain isn’t built to hold three innings of pitch locations in working memory and still hit. I would forget, or mix up what happened at 1-2 last time with 0-0 this time. So PitchGuessr does the remembering. It has no backend and no server: it runs entirely on the phone, and your data never leaves it.

TunnelVision, which started life as PitchTunnels, has a similar story. I kept losing online because I had no real pitching plan, so I went looking for one: YouTube videos where real MLB pitchers explained their tunnels, Statcast breakdowns, Reddit threads, and good players on Twitch, whose pitch sequences I tracked by hand. The concept is simple once it clicks: two pitches look identical coming out of the hand, then break to completely different spots, and the batter has to commit before they can tell the difference. I turned all of that into my own location charts, one per handedness matchup, laminated in plastic sleeves and stacked on my desk. The problem was using them. By the time I had flipped to the right chart, the pitch clock had run out. So I put them on my phone, filtered to the pitches my pitcher actually throws. It came from being annoyed at how long it took to find the right sheet, not from some business idea.

The RetroGhost Labs logo: an orange ghost on a circuit-board pattern
RetroGhost Labs: retro games plus the old Pac-Man ghost.
Hand-made pitch location charts in plastic sleeves, one per handedness matchup
My laminated pitch-tunnel charts, before they became an app.

Why I built diamondops.gg

A PlayStation 4 console with a DualShock 4 controller
Back to baseball games with MLB The Show 20.

Looking at numbers is my favourite thing. I track things with graphs and charts, and I have since that spiral notebook. So it was probably inevitable that I would end up building something for the Diamond Dynasty market and its cards.

I want to be clear about one thing first: I didn’t build DiamondOps because good tools were missing. There are good tools, and I still use those sites. I have used ShowBase and ShowZone for years, I pay for both, and I open them every day. DiamondOps isn’t here to replace them or beat them.

What kept happening was smaller than that. I would be on a site and think, “I wish this site could do this and that.” There was always something missing for the way I wanted to look at the game. As a developer, it was easier to build something tailored to what I wanted, and to go from an idea to something running in minutes, than to wait on someone else to build it. Honestly, I enjoy building tools for this game almost more than I enjoy playing it. I would rather design an analytics view than grind one more Conquest map.

So I built the things I kept wanting, and at some point realised other grinders might want them too. DiamondOps opened in Early Access in May 2026, after about a year of building, and it has kept growing since. It is built by a Diamond Dynasty player, for Diamond Dynasty players.

It is for the grinder who tracks pitch tells in their head, who cares about quirks and missions, and who wants to know which 89 is actually more useful on Legend than some 92. If you quick-sell every card the day you get it and never think about it again, that is a perfectly good way to play. DiamondOps just isn’t built for that.

The bigger idea is a community. I want DiamondOps to be a place where people suggest the things they want to see, and I build them quickly so we can try them out together. It should be easy for anyone to reach out with an idea, and that’s what the DiamondOps Lab is for: works in progress that may change, break or graduate. If you have an idea, send it through the contact page and pick the Feedback topic. That inbox is how the next tool gets chosen.

A printed sheet of eight blank strike-zone grids for tracking pitches by hand
One of my printed pitch-tracking sheets: eight at-bats a page.

How the site is built and run

The Diamond Radar accuracy page on DiamondOps, showing how every graded card did by score band
Diamond Radar publishes how every past prediction turned out.

DiamondOps is run by RetroGhost Labs, which is to say by me: a one-person studio, not a company with a marketing department. It is independent, and it is not affiliated with, endorsed by or sponsored by Sony Interactive Entertainment, San Diego Studio or MLB.

The data starts with MLB The Show’s own card database and Community Market. DiamondOps ingests that data, normalises it and keeps a rolling history, so you can see trends instead of a single snapshot. Prices are real marketplace numbers, not estimates, and the pages show when each number was last updated. The methodology page sets out where the data comes from, how fresh it is and how each number is calculated, so you can judge it for yourself.

A few things on the site are my own takes on problems I kept running into. OpScore rates a card separately for each difficulty, because the same card plays differently on All-Star than on Legend. Flips are ranked by profit after the game’s 10% market tax, not by the raw spread. And Diamond Radar predicts which cards will be upgraded at the next roster update, then publishes the measured accuracy of every past prediction, including the misses. If I am going to show you a prediction, I think you should be able to see how the last ones turned out.

The market tools work the same way. Anomalies flag a card whose price has moved sharply outside its recent rolling average, whether the cause is real demand, a roster update or manipulation. Bot risk estimates how likely a card’s recent movement is driven by automated trading rather than real players, so a manufactured rally is easier to spot. And the best times to buy and sell come from averaging prices by hour across recent history.

The same goes for limits. DiamondOps reads the market; it does not control it. The signals describe what has happened and what is statistically likely, and they are not guarantees. Treat them as a sharper starting point for your own judgement, not a crystal ball.

The site runs on the web at diamondops.gg, and the native iOS app connects to the same account, so one subscription covers both. Most of the platform is free, and the paid tiers unlock the deeper data. I will always be upfront about what costs what.

Off the clock

A crowd with raised hands in front of a concert stage
Music and concerts: a big part of life off the clock.

Away from the keyboard, music is the big one. I love music and going to concerts, and if you are curious what I have on repeat, my listening history is on Last.fm, and the shows I have been to are on setlist.fm.

I used to boulder and climb. These days it is running, lifting and the everyday life stuff that fills the rest of the week.

An indoor bouldering gym with colourful holds on angled walls
Walls like these, from my bouldering and climbing days.

What comes next

A whiteboard sketch of a strike-zone grid with pitch-count notes beside it
The whiteboard where PitchGuessr started.

DiamondOps is meant to be an incubator for Diamond Dynasty ideas: mine to start with, and more and more yours. I have a long list of things I want to build. So do you, probably, and I want the next round of tools to be things players ask for, not just what is in my head.

The easiest way to make that happen is to tell me. Use the contact page (the Feedback topic is for ideas), or look around the DiamondOps Lab to see what is being tried out right now. If something on this site is wrong, I want to hear that too.

You can also follow along. DiamondOps posts on YouTube, Instagram and TikTok, and the RetroGhost Labs YouTube channel is where I show the apps and how they get built.

Thanks for reading. Now go check the market.

Image credits

  • Shaun with a controller (illustration), by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.
  • Atari 2600, four-switch wood-grain model, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • Nintendo Entertainment System, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • Apple IIe, by Bilby. CC BY 3.0. Source. Resized and converted to WebP.
  • Tandy 1000, by Jud McCranie. CC BY-SA 4.0. Source. Resized and converted to WebP.
  • Apple Macintosh Classic, by htomari. CC BY-SA 2.0. Source. Resized and converted to WebP.
  • TurboGrafx-16, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • Sony PlayStation, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • Pitchback rebound net (from the DiamondOps intro post), by Unknown. Source and licence unknown. Source. Resized and converted to WebP.
  • Baseball Weekly cover, August 1991 (from the DiamondOps intro post), by Baseball Weekly. © its publisher. Source. Resized and converted to WebP.
  • Commodore 64, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • RetroGhost Labs logo, by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.
  • Laminated pitch location charts, by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.
  • Sony PlayStation 4, by Evan-Amos. Public domain. Source. Resized and converted to WebP.
  • Printed pitch-tracking sheet, by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.
  • Diamond Radar accuracy page (screenshot), by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.
  • Concert crowd, by Hannah Rodrigo. CC0 1.0. Source. Resized and converted to WebP.
  • Indoor bouldering gym, by Bondarev.gal. CC BY 4.0. Source. Resized and converted to WebP.
  • PitchGuessr design whiteboard, by RetroGhost Labs. © RetroGhost Labs. Source. Resized and converted to WebP.