Nearly 30 Years Later… My Lottery Checker Lives Again
Sometimes software has a funny habit of refusing to die.
Back in the late 1990s I wrote a little Windows application to check UK National Lottery tickets. Originally it was nothing more than a way of automatically tracking and checking our work syndicate. We never won more than a tenner though… Unfortunately the software worked perfectly. It was our choice of numbers that was rubbish.
It seemed easier than everyone huddling round Teletext or waiting for Ceefax to update… if that sentence means nothing to you, congratulations on being younger than me. 🤣
I released it as freeware.
Then something rather unexpected happened.
It took on a life of its own.
Over the following years it was downloaded more than 600,000 times, featured by ZDNet as a recommended utility (and appeared on one of their cover CDs… remember those?), I was interviewed by BBC Radio, and one user even emailed me to say the software had spotted a winning ticket worth £5,000.
Not bad for something I originally knocked together for myself.
Then life happened…
Like so many side projects, development gradually stopped.
Work became busy.
Life changed.
Technology moved on.
And somewhere along the line I managed to lose around five releases worth of source code.
If you’ve ever had a hard drive fail before GitHub existed, you’ll understand the sinking feeling.
I assumed that was the end of the project.
Fast forward to 2026…
Last week I stumbled across an older copy of the source code. Sadly it wasn’t the latest version. Somewhere over the years I’d managed to lose around five releases, but at least I had something to work with.
I honestly wasn’t expecting much.
I fired up Visual Studio 2026 inside a Windows 11 ARM virtual machine running under Parallels… on a Mac.
Visual Studio upgraded the old project files without complaint.
I clicked Build.
And then something rather unexpected happened…
It compiled.
Not after days of work. Not after a complete rewrite. It simply… compiled.
Even more surprising, it actually ran.
I just sat there staring at the screen for a moment, wondering how code I’d last worked on well over a decade ago had survived countless versions of Windows, multiple processor architectures and a completely different development environment.
Of course, that wasn’t the end of the story. The compiler had plenty to say about nearly 30 years of changing C++ standards. There were warnings to clean up, deprecated APIs to replace and a fair amount of general housekeeping before I was happy to call it “modern”.
But the important part was this:
The software wasn’t dead… It was “asleep”…
It had simply been waiting patiently for someone to press Build again.

I genuinely sat there grinning like an idiot.
So… what’s changed?
Rather than trying to rewrite everything, I’ve been gradually modernising the original application.
One thing that genuinely surprised me is just how portable it’s become.
It now runs on Windows 32-bit, Windows 64-bit, Windows ARM64, under Parallels on Apple Silicon Macs… and even under CrossOver on macOS.
When I started writing it, Apple still made beige Power Macs and “ARM” was something you found attached to your shoulder. The thought of running the same executable on an M4 Mac simply wasn’t a thing.
It does rather more than check six numbers…
The software automatically downloads the latest results for:
- Lotto
- Thunderball
- EuroMillions
It also includes:
- Automatic result downloads
- Historical draw database
- Prize breakdowns
- Ticket checking
- Multiple saved tickets
- Lottery syndicate management
- Member management
- Statistical analysis
- Hot and cold numbers
- Gap analysis
- Trend analysis
- Pair frequency heatmaps
- Random ticket generation
- Export to PDF
- HTML reports
- CSV exports
- Text reports
- Clipboard support
- Printing
Basically, it has accumulated features for nearly three decades.




The Member Manager returns…
One feature I’ve recently been rebuilding is the Member (Syndicate) Manager.
This keeps track of regular players, draw days, winnings and syndicate entries.
It’s currently the part of the application receiving the most attention as I recreate functionality that disappeared with those missing releases.

The manual…
While digging through old backups I also found the original user manual.
It’s dated January 2006.
It contains helpful advice such as:
- How to configure Internet Explorer.
- How to stop dial-up caching your lottery results.
- How to use InstallShield.
- Where to click in Windows XP.
It’s basically an archaeological artefact.
I don’t think I’m going to replace it.
I’ll archive it.
Software deserves a history too.
What about Dark Mode?
People have already asked. The honest answer is…
Not yet.
The application still sits on a classic MFC codebase that predates Windows Dark Mode by many years. Supporting Dark Mode properly would mean custom painting almost every control in the application. Likewise, true High DPI support would involve replacing much of the artwork and redesigning many of the dialogs.
Could it be done?
Absolutely.
Would it still be the same project afterwards?
That’s the balancing act.
Or… rewrite it?
Possibly.
Before life took a very different turn, I’d actually started writing a completely native macOS version from scratch.
Unfortunately that project stopped when my wife became ill, and quite understandably software dropped to the bottom of the priority list.
The code still exists.
Seeing what modern AI coding tools are now capable of makes me wonder whether a complete cross-platform rewrite is no longer the impossible mountain it once seemed.
Maybe one day…
Why bother?
That’s probably the obvious question.
After all… There are countless websites. There are mobile apps. The National Lottery has its own app.
So why spend evenings bringing an old Windows desktop application back to life? Honestly?
Because I enjoy it. Because I wanted to know if software I’d written nearly thirty years ago could still survive in 2026. Because sometimes preserving software is just as rewarding as writing something new.
And because seeing software compile successfully after all these years gives a strangely satisfying feeling that only another developer will truly understand.
Over to you…
This is where I’d really appreciate some honest feedback.
Is there still a place for software like this?
Would you actually use it?
Would you prefer a modern cross-platform version?
Or has the world simply moved on?
If there’s enough interest, I’m happy to continue developing it.
If there are people who’d like to help test new builds, I’d also love to hear from you.
Constructive criticism is welcome.
Feature suggestions are welcome.
Bug reports are… slightly less welcome… but probably inevitable. 😄
Whatever happens, this little project has already reminded me why I started programming in the first place.
Sometimes it isn’t about building the next big thing.
Sometimes it’s about opening a project you wrote nearly thirty years ago, pressing Build, expecting complete disaster…
…and instead discovering the old bugger still had a bit of life left in it.
Now if you’ll excuse me, I’m off to argue with some 1998 C++ that still thinks Hungarian notation is the future…


