惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
WordPress大学
WordPress大学
Martin Fowler
Martin Fowler
博客园 - 聂微东
L
LangChain Blog
D
Docker
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
C
Cisco Blogs
L
LINUX DO - 热门话题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
Forbes - Security
Forbes - Security
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
N
News and Events Feed by Topic
Latest news
Latest news
PCI Perspectives
PCI Perspectives
TaoSecurity Blog
TaoSecurity Blog
博客园 - 司徒正美
量子位
Stack Overflow Blog
Stack Overflow Blog
Know Your Adversary
Know Your Adversary
SecWiki News
SecWiki News
美团技术团队
C
CERT Recently Published Vulnerability Notes
Attack and Defense Labs
Attack and Defense Labs
AWS News Blog
AWS News Blog
C
Check Point Blog
S
Security Affairs
Vercel News
Vercel News
Google DeepMind News
Google DeepMind News
K
Kaspersky official blog
IT之家
IT之家
A
About on SuperTechFans
Help Net Security
Help Net Security
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Recorded Future
Recorded Future
月光博客
月光博客
博客园_首页
小众软件
小众软件
H
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
I built a new word game
qrush · 2026-05-05 · via Hacker News

I've been playing word games my whole life. My mom has been regularly beating me at Scrabble since I could spell. I lose frequently to my wife Maya at Scrabble, and my kids beg to play Wordle every time we are waiting for a food order. My brother-in-law even made us a crossword to commemorate our wedding date.

Cam THINK Maya scrabble Wedding scrabble

After trying out NYT's Crossplay recently for a few weeks, I set out to build a new word game from scratch. I had a few goals for myself:

  1. It's easy for my family members to play - and challenging
  2. Build a game you can put down and walk away from
  3. A familiar tech surface (simple mobile web, native apps)

What is Wordtrak?

Wordtrak is a 1v1 word battle. There's 3 or 5 "traks" - you can pick any trak to play a word on, and your opponent chooses one to play on as well. The winner of a trak is who has the highest point total. There's definite strategy and tension based on what letters you draw, and which tile you picked. Here's an example 5-trak game where shockingly, my mom lost against my dad:

Thanks to Kevin Purdy, I had a tag line too: "Scrabble that doesn't drag". Sadly, I can't trademark that one verbatim. For the game dev curious, here's how I built it from scratch, with a ton of help from Claude and some friends' feedback.

Design, Design, Design

I started first with just laying down the rules for the game with Claude and sticking purely to markdown docs - I'd bounce ideas back and forth with Maya, and try to get to a game loop going. I even had a few practice / "mock" games purely in the LLM to test that out. This phase lasted nearly a week, with no real code being committed.

design markdown ux markdown

Early on I knew that a train theme would help set the tone visually and distinctively from other games on the market. (And besides, trains are awesome.) I've been getting ads for the Vestaboard for months, and figured a split-flap display would be a fun way to show the letters. Combined with the impulse purchase of a new domain, I was committed. Claude helped me out on the visual design side as well:

native design mocks button design mocks

We still haven't written any real code, or a game still, but it looked fun! I obsessed over the split-flap displays, which mechanically operate in a fascinating way, and I wanted to really make pushing these buttons feel...clacky.

split flap

Just get it working!

The next stage brought these mockups to life - I chose development stacks I was familiar with (Rails and expo.dev) and building the game with Claude Code. I opted to go for a hybrid / web stack since I personally play Wordle and other word games on desktop/mobile web frequently - and building the split-flap display interface for each platform sounded like an early optimization.

The first games worked surprisingly well, and I had a very simplistic CPU player that picked any word it could find. I attempted to build a Balatro style "Joker" concept where you could get special powers per randomly picked "Conductor". The scoring and modifier tiles took a while to nail down as well, and I settled on just copying Scrabble's tile scores to start:

wip 1 wip 2 wip 3

We soon realized that some of the conductors were really unfair and effectively required an in-game economy to help balance. On top of that, I wanted games to be fast, maybe only a few minutes long. I scaled that back, found some better fonts, and added a dark mode since I was playtesting pretty late most nights.

wip 4 wip 5 wip 6

I started inviting some more friends to play since it felt more "real", and it needed more human feedback. I mostly lost again to friends - a good sign! The game board still had a lot of scrolling, and scores felt really low. Next, I focused on building out a lobby and stat tracking features since I wanted to see if any patterns would emerge with player behavior. The game also needed a custom dictionary since /usr/share/dict/words was not enough, and it required using a combination of free and publicly available dictionaries. I spent many cycles trying to figure out how players can submit missing words for feedback, which I eventually cut from the app for 1.0.

wip 8 wip 9 wip 11

Around this point I realized that the scores were just too small. A friend on Discord pointed out that triangular scoring is a common game design mechanic to help add another dimension here, so I added that in based on how many letters in a given trak you filled out. If you managed to fill out the entire trak, you got the triangular bonus. I had a strong feeling this was going to be a great mechanic after this play:

wip 13

I'm also particularly proud of the tab icons which I custom made. The friends icons with my kids' initials on them just make me smile.

wip 14

Inspired by Wordle, I added a single player daily game that challenges you to beat everyone else playing. After a few days I realized the leaderboards are going to be a really popular feature. I didn't get time to get Game Center integrated yet, but I am confident this will be a way people break into playing multiplayer matches.

daily wip 15 wip 16

I spent the better part of a week building tile sets for IAP based on cities - but eventually abandoned this work just to get it out the door. I'm not convinced someone will pay $3-5 for their city's colors yet - but would love to be proven wrong.

wip 17 wip 18 wip 19

I didn't even get into the details of the CPU design in this post - I'll do a separate writeup on that in the future. Needless to say - it feels like such a huge part of game design is not falling into endless rabbit holes that don't get you anywhere closer to shipping something fun. At some point I did just need to "call it", and get the game out as a 1.0 so others can try it out.

A few lessons learned

Despite getting off the rails a few times, I felt these were my big takeaways:

  1. Just let people play. A new game from a new developer doesn't need a wait list.
  2. Make the number go up. Players always want a higher score.
  3. Randomness can be controlled. It's not fun to get a hand of all vowels even though that's purely random.
  4. Don't copy every mechanic. There's enough Balatro (and Scrabble) clones out there already. Stick to the basics.
  5. App stores have so many pitfalls. Budget way more time than you think to get through these terrible wizards.

Also understated: watch your parents (or someone over 70+) attempt to install an app on their phone to get a sense of how painful it is to try out something new / experimental. That's the true beta test.

What's next

Perfect is the enemy of done, and in an age of early access games - I wanted to get it shipped first before adding more. What's on my list next:

  1. Ship the Android version to the Play Store
  2. Figure out how to monetize (simple banner ads in the lobby to start)
  3. More languages - which should I do first?

I'd love for you to try out Wordtrak - you can play here in your browser, or download the iOS app here. (Android version coming soon!). Feedback has been so helpful, and I'll need more. Email me or join in Discord to tell me how your game went!

Finally, I want to say thanks to everyone who's helped test and give feedback on Wordtrak so far - it's been fun losing consistently to you all. <3