What a solo studio learns from anonymous play stats and a good page checklist

I run Nuts and Bolts Web Design. Most days that means IT support, web design and managed services for small organizations. On the side I build a video game, and it keeps teaching me things I use with clients. Two lessons from the last few builds.

Lesson one: get found

The game has a play page at play.culdesaccrew.com. In build 85p-37 I gave it the same checklist I use on client sites. A clear title and description. A canonical link. Share previews for Facebook, X and texts. Structured data that says what the page is. A sitemap. Plain text for visitors whose browsers cannot run scripts. I also put the build number in the game file names, so a new release loads clean and a browser never mixes old files with new ones. None of it is exciting. All of it is the difference between a page that exists and a page people can find.

Lesson two: measure the visit that leaves no trace

The browser demo gets visitors who load the page, look at the menu and leave. Until this week my stats could not see them. If a launch never started a run, it sent nothing. That made it impossible to tell a game that nobody opens from a game that people open and bounce off.

Version 85p-41 sends one small anonymous event when the menu first appears, with the number of seconds it took. A session that sends only that event is a bounce. Now I can count menu viewers separately from people who start a run, and I can see whether a slow load is costing me visitors.

Cul-de-Sac Crew: Suburban Survivor title screen showing the crew, version 1.0.4, build 85p-41
The Cul-de-Sac Crew: Suburban Survivor title screen, version 1.0.4, build 85p-41.

I also added a few more events: when a run reaches each Lieutenant, the boss and the finish, which level-up card a player picks and which kind of input they use, such as touch, keyboard, mouse or controller. Every one of those is a fixed word, a short code or a whole number. No free text, no accounts, no device details. One random code per launch, held in memory and never saved.

Gameplay on Maple Court with the status column, Respect meter, and mini-map visible
A run in progress on Maple Court, Rough Night difficulty.
Close-up of the status column showing HP, XP, level, chased off, and Respect
The status column: health, experience points, level, chased off count, and Respect.
Gameplay on Maple Court with squirrel enemies and the lieutenants counter at the top
Maple Court during Block Party, with the lieutenants counter running.
Level-up screen offering Home Cooking, the new Snow Cone, and Honor Roll
Level-up choices, including the new Snow Cone card.

Why the privacy line matters to a business

Small organizations ask me about analytics all the time. My rule is simple. Collect the least you need to make a decision, and write down what you collect. For the game, I wrote a spec first, listed every event and field, and listed what is not allowed. A new field needs approval before it gets added. That one-page spec saved me from drift, and it is the same habit I recommend to clients who run a website or a service.

A smaller lesson: let people skip the tutorial

The update also lets new players skip Practice. Forced onboarding is a quiet way to lose people. Give them the choice, keep the lesson one click away and watch what they pick.

Practice first card offering Practice Modes or Play Stage 1-1
New players choose: practice first, or skip it and play.

Want this for your organization?

If you run a small website, app or service and want to be found, with honest numbers that do not collect more than they should, reach out through nabwd.com. Nuts and Bolts Web Design does web design, IT support and managed services.

Demetrius Pinder
Nuts and Bolts Web Design

Cul-de-Sac Crew: Opening the Whole Block, and Doing Privacy the Right Way

Nuts and Bolts Web Design Β· Cul-de-Sac Crew update 85p-36 and 85p-37

Cul-de-Sac Crew is my game. It’s a top down roguelite bullet heaven where you build your Crew, chase off troublemakers and Take the Block Back. This round of work had two sides. One was the game itself: how you move through the story. The other was everything around the game that most players never see: privacy, consent, search and the plumbing that has to be right before a family game can run ads anywhere.

Both halves matter. Here’s what got done.

Part 1: The game (update 85p-36)

Stages 1 to 4 are open from the start

Until now, you had to clear each stage before the next one opened. That kept the story in order, but it also meant somebody who just wanted to see the Haunted Mansion had to earn their way there first. Now Maple Court, the Haunted Mansion, the Corn Maze and the Parking Lot are all open the moment you hit Choose Your Stage.

Clearing a stage still unlocks its crew member, in any order. Maple Mart, the finale, opens once all four are cleared. Just in time for Halloween, you can go straight to the Haunted Mansion.

Stage select

Keeping the story order easy to follow

Opening everything up only works if people can still tell where the story wants them to go. So the stage select does the guiding now:

  • Every stage card is numbered 1 to 5.
  • Your next stage in the story says β–Ά NEXT UP, and the cursor starts on it.
  • Anything ahead of your progress says TOUGH STAGE in red.

Pick a tough stage and the game gives you a heads up first. The big green button takes you to your next stage in order. The gray button lets you play the one you picked anyway. Esc or the B button backs out. Nobody gets locked out, and nobody gets surprised.

Heads up card

During a run ahead of your progress, the stage line at the top of the screen tags it as TOUGH STAGE too.

Tough stage tag

Cutting the chatter on screen

The game used to pop a lot of little callouts on screen: score bonuses, heal numbers, enemy news. With a full screen of action, it got hard to read. I cut it down for readability and accessibility. In a 4 minute test run, the callouts dropped from 601 to 50, and from as many as 36 on screen at once down to 3 at most.

Here’s how it works now:

  • Callouts that repeated what the XP bar, health bar and effects already show are gone.
  • Enemy and event news shows the first time per run only.
  • Everything else is capped at 3 on screen, and the same line won’t repeat for 20 seconds.
  • The important stuff always shows: level up picks, Respect gains, jackpots, claim prompts and growth spurts.
  • Damage numbers, speech bubbles, boss lines and banners didn’t change. Practice keeps every callout, because it’s there to teach.

Less chatter, before and after

Eight new lines were added and translated into all 16 languages the game supports. The update shipped for the browser version at play.culdesaccrew.com and the Windows, Mac and Linux versions on itch.io.

Part 2: Privacy, consent and search

Cul-de-Sac Crew is a family game for all ages, including kids under 13. That changes how everything around it has to be built. Here’s the setup now in place.

Consent messages for Europe and the US

Visitors from the European Economic Area, the United Kingdom and Switzerland now get a consent message before any advertising or analytics cookies are used. They can accept, decline with one click, or manage their options. The message runs in English plus every language Google supports for it that matches the site.

Visitors in US states with consumer privacy laws get a “Do Not Sell or Share My Personal Information” link, in English and Latin American Spanish. That covers all 20 states with these laws right now, Delaware included, and new states get added automatically.

On top of that, Google Analytics on culdesaccrew.com now starts with consent denied for European visitors until they choose. Personalized ads are turned off everywhere, for everyone. That matches the promise in the privacy policy.

Child directed by default

Every ad request the game will ever make is tagged for child treatment:

  • On the web, the game page’s ad code carries the child directed and under age of consent tags Google documents for browser games.
  • In the mobile version, now in testing, every request is child directed, tagged under the age of consent and capped at a G rating.
  • The site itself is marked child directed in Google Search Console.

Ads in Cul-de-Sac Crew are rewarded only. You choose to watch one for a revive. The paid desktop versions have no ads at all, and the main website never will.

Updated Privacy Policy and Terms

The NABWD Privacy Policy and Terms & Conditions were updated:

  • Privacy Policy: a new section explains the consent message for Europe, the UK and Switzerland, and a new section covers US state privacy rights and the opt out link.
  • Terms & Conditions: a new section covers Save Codes. The game lets you copy or download a Save Code to move your progress between devices. Keep it private, because anyone with it can load your progress. We never store Save Codes, so we can’t recover a lost one.

Gameplay telemetry stays anonymous. No cookies, no stored IP addresses, no names and no account IDs.

Search Console and the game page

  • I added a Domain property for culdesaccrew.com in Google Search Console. It covers the main site and every subdomain, including play.culdesaccrew.com.
  • The game page at play.culdesaccrew.com got a proper title, description, share previews and structured search data, so it shows up right in search and looks right when someone shares the link.
  • The game page has its own sitemap.
  • Both sites use a robots.txt that welcomes search engines and blocks AI training bots.

Why this matters

I’ve been building websites for clients for over 20 years, and I tell them the same thing every time: privacy isn’t the fun part, but it’s the part that protects you. A kids game raises the bar. Parents trust you with their children’s screen time, and the law expects you to earn that.

None of this changes how the game plays. It’s the foundation that lets Cul-de-Sac Crew grow the right way.

Play free in your browser: play.culdesaccrew.com
Windows, Mac and Linux: on itch.io, 30% off for the Halloween sale.

Have fun, and take back the block!

Shipping My Own Game: Revives, Save Codes and Building It Right

For 22 years, Nuts and Bolts Web Design has built websites and kept systems running for other people. Now I’m building something of my own: Cul-de-Sac Crewβ„’: Suburban Survivor, a game about a neighborhood crew taking back their block. I’m going to use this blog to share what goes into it, the business side and the tech side, the same way I’d walk a client through a project.

This first post covers the update I just finished. It took three builds and a few long days. Here’s what I built, and why I built it the way I did.

Start with the player, then the business

The headline feature is revives. When you go down, the game offers to bring you back. You get 2 per run, back up with 60% health and 8 seconds of protection.

The "YOU'RE DOWN!" revive offer with a REVIVE button, a NO THANKS button and a 10 second countdown
The “YOU’RE DOWN!” revive offer with a REVIVE button, a NO THANKS button and a 10 second countdown.

That sounds simple. The decisions behind it weren’t.

Revives are also how the free versions of the game will pay for themselves. On the browser and Android versions, a revive will cost a short ad, and only if you choose to watch it. I had to decide what happens in every case before writing a line of code:

  • The player watches the ad: they get the revive.
  • They close it early: no revive, and they’re back at the offer to decide again.
  • There’s no ad available: they get the revive free. Running out of ads is the ad network’s problem, not the player’s.
  • They’re running an ad blocker: no revive, and a friendly note explaining that ads keep the game free, with a link to support the game directly.
  • They bought the game on PC: free revives, no ads. They already paid.
  • They’re playing the free demo: free revives, no ads, ever. The demo’s job is to show the game at its best.

That last one was a late call. The demo didn’t have revives at first. Then I watched the effect in action and decided it’s one of the best moments in the game. Hiding it from the people deciding whether to buy didn’t make sense.

The point for any business owner: write down every path before you build. The edge cases are where trust gets won or lost.

Make the moment count

Theo getting back up as a ring of orange and gold pixels pushes the crowd away
Theo getting back up as a ring of orange and gold pixels pushes the crowd away.

A revive shouldn’t feel like a menu. When you get back up, your crew member blasts out a ring of pixels in their own dash colors, the crowd gets shoved back, and the screen hits with a new shock wave: a zoom punch, one thump, then a rolling wave. I made it different from the game’s other screen shakes on purpose. Your eyes and your gut should both know something big just happened.

No accounts. Ever.

The Save Code screen with Copy, Download, Paste and Load buttons
The Save Code screen with Copy, Download, Paste and Load buttons.

Every game runs into the same question: how do players move their progress from one computer to another? The usual answer is accounts, with logins, emails, passwords and a database of player info to protect.

I didn’t want any of that. This game is made for all ages, kids included, and the safest data is data you never collect. So I built Save Codes instead. The game packs your progress into a code. Copy it, paste it somewhere else, and you’re back. The code holds progress and settings only. No name, no ID, no date. The same save always makes the same code, so nobody can track anyone with it.

I also built in the safety nets I’d want as a user. The game shows you what’s in a code before loading it, backs up your current save first, and gives you an UNDO button. Every one of those came from asking “what’s the worst thing that could happen here?”

Measure what matters, keep nothing you don’t need

The full game now sends anonymous stats when a run ends: stage, crew member, difficulty, how long the run lasted, how far it got and how smoothly it ran. No names, no accounts, nothing typed by the player, and the stats server doesn’t keep IP addresses. Each launch gets a random session number that’s never saved to the device. The free demo sends nothing.

The stats go to a small server I run myself, not to a third party. That’s my IT side talking. If I’m asking players to trust me with even anonymous data, I want to control where it lives.

The stats have already paid off. The first live data showed every field arriving exactly as designed, and I could see quits, revives and save code use come in from real play the same day the update went out.

Fix the bug players can feel

This update also fixed a bug I’m glad to be rid of. Right after the game’s safe opening, enemies started arriving about 3 times faster than designed, all the way to the 5 minute mark. It felt like hitting a wall at 30 seconds. It came down to one piece of logic attached to the wrong condition. On Rough Night difficulty, the board at 45 seconds went from about 124 enemies to about 68.

That’s a lesson I’ve seen in client work for two decades. When something feels wrong in use, it usually is, even when the code “works.”

Small things, done right

Gabriella behind an autumn tree, showing through the leaves as a silhouette
Gabriella behind an autumn tree, showing through the leaves as a silhouette.

  • Your crew member shows through trees, houses and cars as a colored silhouette.
The crew showing through trees as colored silhouettes, full scene
Your crew member showing through trees, houses and cars as a colored silhouette.

  • The HUD shows the difficulty next to the stage name.
The HUD showing the Rough Night difficulty next to the Maple Court stage name
The HUD shows the difficulty next to the stage name.

  • The mouse wheel scrolls help screens from anywhere, and Esc goes back on every menu.
  • Every new line of text ships in all 16 languages the game supports.

None of these are headline features. All of them are the difference between a game that feels finished and one that doesn’t.

Hosting it myself

The browser version's title screen with Support Us / Donate, Privacy Policy and Terms & Conditions links
The browser version’s title screen with Support Us / Donate, Privacy Policy and Terms & Conditions links.

The full browser version lives at play.culdesaccrew.com, hosted by me instead of a game portal. That means I control the experience, the privacy and the support link you see on the title screen. Portals have their place. For a game I’m putting my name and my business behind, owning the platform was the right call.

What’s next

Android is in testing, and the Steam demo is on the way. In the next post, I’ll go deep on the work that went into keeping this game safe for kids, from how ads are requested to how the Privacy Policy and Terms match what the game actually does.

If you’re a business owner thinking about building something of your own, or you need help with your website or IT, you know where to find me.

Work hard and play harder.

Why I Made Cul-de-Sac Crew

I’ve been talking about Cul-de-Sac Crew for decades. Here’s why I finally built it, who it honors, and what comes next.

I always wanted to make a video game. It started in the 1990s, when I was a teenager playing Zombies Ate My Neighbors. I never let go of that feeling. Anyone who has known me long enough will tell you I’ve been talking about Cul-de-Sac Crewβ„’ for decades.

Then I played Vampire Survivors, and it clicked. That was the kind of game I could actually build.

I Wasn’t Starting From Zero

I’ve worked in IT since 2001 and have run my own web design and development business on the side since 2004. Back in the early 2000s I launched a resume building app, getnoticedfirst.com, which I plan to bring back soon. I’ve been an adjunct professor since 2015.

Over the years I’ve done media design, creative direction, project management, development, IT support and maintenance, planning, procurement, supervision, and training. Every one of those skills went into this game.

When AI got good enough to help build video games, I jumped right in. In July 2026 I started creating art and learning Godot. Now it’s October 2026, and it’s push to launch time.

What the Game Is

Cul-de-Sac Crew: Suburban Survivor is a top-down survivors game with a Saturday morning cartoon feel. You play as one of the kids on Maple Court, and the block is under siege. The animals want your Treats. The people want your Blessings. Your job is to take back the block.

Nobody gets hurt in this game. Everybody gets chased off, and every one you chase off earns you Respect. You fight through five stages: Maple Court, a haunted mansion, a corn maze, a parking lot, and the mall, where Big Bad Maple Man is waiting for you.

The four starting crew members outside a cafe, with pets and cookies

This Game Is Personal

The good neighbors who help the Crew honor real people in my life.

Grandma Lilly honors Ms.Β Leslie Coach, my teacher when I was a kid in North Philadelphia. Annie honors my late mother, Angela. Dad-Dad honors my late father-in-law, James. Sally honors my late sister, Saleah, and Farmer Tee honors my sister Tiara.

My daughter Gabriella helped design it.Β  The Crew itself comes from Gabby’s childhood drawings.

Where You Can Play

The game started on the web, mobile is next, and Steam follows in early 2027.

Everything lives at CuldesacCrew.com.

This Is Only the Start

I put my passion, my soul, my creativity, and my direction into Cul-de-Sac Crew: Suburban Survivor. And this is only the start.

Cul-de-Sac Crew is a series. My daughter and I are already working on our second game, Cul-de-Sac Crew: Living Large. More games under the Cul-de-Sac Crew name are on the way.

That’s my why.

Demetrius Pinder
Nuts and Bolts Web Design

 

Raspberry Pi, Cookies and Edge AI: CAS IT at the UD Tech Fair 2026

Updated on 3/14/26 (Pi Day!) with Pictures and Videos:

On, Tuesday, March 10th, I will be at the University of Delaware Tech Open House from 11am to 2pm, presenting alongside my colleague Eric Cantrell, Director of CAS IT. We are representing the College of Arts and Sciences Information Technology team with a booth that is simple, hands on, and genuinely fun to walk through. And yes, my daughter is bringing cookies, so come through hungry. πŸͺ

What the Tech Fair is about

The Tech Fair brings together departments, staff, and IT professionals from across UDEL, and it gives everyone a chance to see the projects that are actually running on campus. You get to see real systems, real experiments, and real work, not just slides or concepts.

Our theme this year is β€œHave some Pi with CAS IT” πŸ₯§ You will notice a pattern if you look closely.

What We Are Bringing

We are running four Raspberry Pi projects live at the table, no mockups, no screenshots, just the hardware doing what it does.

πŸ₯§ Raspberry Pi 5 with Hailo 8L, Real Time Person Detection

A Raspberry Pi 5 paired with a Hailo 8L accelerator, running person detection entirely at the edge. When someone enters the frame, the system sends a Telegram alert, then captures a delayed full body snapshot so the image is clean. Everything stays local, nothing leaves the room.

Click to download this project’s handout (.pdf format).

πŸͺ Raspberry Pi 5 with BVM and Windows 11 ARM, Zoom Rooms Digital Signage

This is our main project. A Pi 5 runs Botspot Virtual Machine, which boots Windows 11 ARM, which runs the Zoom Rooms Digital Signage client. Departments can update their own signage, including images, videos, and web content, directly through the Zoom Rooms portal. No IT ticket needed. We are actively exploring this as a real deployment option for CAS.

Click to download this project’s handout (.pdf format).

πŸ₯§ Raspberry Pi 4 with Stanford Alpaca, Offline AI Chatbot

A Raspberry Pi 4 running a fully offline AI chatbot using Stanford Alpaca 7B through llama.cpp with 4 bit quantization. No internet, no subscription, just a Pi having a conversation with you in a terminal window. It is slow, but the fact that it works at all is the point.

Click to download this project’s handout (.pdf format).

πŸͺ Raspberry Pi 4 with Batocera, Arcade1Up Countercade Conversion

An Arcade1Up Pac Man countercade, rebuilt from the inside out. I replaced the original PCB with a Pi 4 running Batocera, added an LVDS driver to keep the original eight inch vertical screen, routed audio through the same board, upgraded the controls, and added a second controller. It looks factory made, but it plays hundreds of classic games. It stays completely offline.

Click to download this project’s handout (.pdf format).

Who I Am

I am Demetrius Pinder, MBA, Computing Support Specialist II at the University of Delaware, Adjunct Professor at UDEL and Delaware Technical Community College, and Owner and Project Manager of Nuts and Bolts Web Design. I enjoy taking hardware that should not be able to do something, and making it do it anyway.

You can reach me at [email protected], find me on campus at UD, or see more of my work at nabwd.com.

Come Through

πŸ“… Tuesday, March 10, 2026 πŸ•™ 11:00am to 2:00pm πŸ“ Trabant Multipurpose room, University of Delaware

If you want to talk Raspberry Pi, edge AI, retro gaming, or you just want a cookie, stop by the CAS IT table. We will be there.

Demetrius Pinder and Eric Cantrell, CAS IT
Demetrius Pinder, CSS II, CAS IT
Eric Cantrell, Director, CAS IT

#RaspberryPi #EdgeAI #DigitalSignage #RetroGaming #UDel #CASITUDel #TechFair2026 #NutsAndBoltsWebDesign