https://github.com/dylanpyle/beeline
Unfinished Business
https://github.com/dylanpyle/beeline
Last synced: 8 months ago
JSON representation
Unfinished Business
- Host: GitHub
- URL: https://github.com/dylanpyle/beeline
- Owner: dylanpyle
- Created: 2020-06-10T13:48:51.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-11T22:09:40.000Z (about 6 years ago)
- Last Synced: 2025-06-22T00:43:11.480Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 3.61 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# beeline
Live web app: https://dylanpyle.github.io/beeline
CLI: `npx beeline-solver`
## What?
A tool to find solutions to the New York Times' [Spelling
Bee](https://www.nytimes.com/puzzles/spelling-bee) puzzles. The concept is
pretty simple; given 6 optional letters and 1 required one, create as many words
using only these letters as you can.
## Why?
I got pretty into these puzzles during COVID-19 quarantine. After "finishing" one,
I was always curious how many solutions I had missed — turns out, usually way
more than I expected. I assumed there would be a trivial way to solve them
automatically & efficiently, but the more I thought about it the more I realized
there probably wasn't. I haven't checked out any other solutions/solvers if they
exist, this is just my attempt to learn through building.
## How?
There are three entry points to the codebase:
- `bin/build-lookup-table.ts`
- Ingests `data/words` and compiles a data structure to make word lookups more
efficient; writes this to `static/words.lookup.json`.
- `bin/find-words.ts `
- A CLI interface for finding words; e.g. `bin/find-words.ts abcdef g`
- `src/web.ts`
- A web frontend for finding words.
## Tools
- `bin/dev` - start local dev server, watching for changes
- `bin/test [filename]` - run one or all `tape` test suites
- `bin/build` - compile TS and static assets to `docs/`
- `bin/publish` - release new changes to Github Pages
## Caveats
I don't use the same word list as the NYT, because I don't have theirs! A
closer-match wordlist would be a very appreciated contribution.