A clone of the popular game Wordle made using React, Typescript, and Tailwind

Related tags

Web Game wordle
Overview

Wordle Clone

  • Go play the real Wordle here
  • Read the story behind it here
  • Try a demo of this clone project here

Inspiration: This game is an open source clone of the immensely popular online word guessing game Wordle. Like many others all over the world, I saw the signature pattern of green, yellow, and white squares popping up all over social media and the web and had to check it out. After a few days of play, I decided it would be great for my learning to try to rebuild Wordle in React!

Design Decisions: I used a combination of React, Typescript, and Tailwind to build this Wordle Clone. When examining the original Wordle, I assumed the list might come from an external API or database, but after investigating in chrome dev tools I found that the list of words is simply stored in an array on the front end. I'm using the same list as the OG Wordle uses, but watch out for spoilers if you go find the file in this repo! The word match functionality is simple: the word array index increments each day from a fixed game epoch timestamp (only one puzzle per day!) roughly like so:

WORDS[Math.floor((NOW_IN_MS - GAME_EPOCH_IN_MS) / ONE_DAY_IN_MS)]

React enabled me to componentize the littlest parts of the game - keys and letter cells - and use them as the building blocks for the keyboard, word grid, and winning solution graphic. As for handling state, I used the built in useState and useEffect hooks to track guesses, whether the game is won, and to conditionally render popups.

In addition to other things, Typescript helped ensure type safety for the statuses of each guessed letter, which were used in many areas of the app and needed to be accurate for the game to work correctly.

I implemented Tailwind mostly because I wanted to learn how to use Tailwind CSS, but I also took advantage of Tailwind UI with their headless package to build the modals and notifications. This was such an easy way to build simple popups for how to play, winning the game, and invalid words.

To Run Locally: Clone the repository and perform the following command line actions:

$ cd wordle
$ npm init
$ npm run start

I'm looking for a junior developer role

Please feel free to contact me on linkedin and learn more about me here

Comments
  • Compiling a list of projects built using this repo

    Compiling a list of projects built using this repo

    Hey folks! :)

    I've seen a lot of cool projects in the wild built using this code and I wanted to make an effort to compile a list of links and add them to the README.

    Here are the ones I know of already:

    • https://www.taylordle.com/
    • https://converged.yt/primel/
    • https://nezza.github.io/syscordle/
    • https://www.mathler.com/

    Anyone have one they've made or seen they'd like to add?

    opened by cwackerfuss 131
  • Draft: Experiment to fix 100vh issues on mobile browsers.

    Draft: Experiment to fix 100vh issues on mobile browsers.

    Added a custom hook that grabs the window's dimensions. On load, we then calculate the inner height of the window if we think the user is on a device smaller than a tablet. Added a little additional padding between the top navbar and the grid so that messages do not overlay the grid too much.

    Tailwind was extended with a custom height that reads from this css variable.

    This worked in test and on the browser emulating mobile devices. If everyone could test on additional devices, that would be very helpful.

    Solution found from here: https://stackoverflow.com/questions/58886797/how-to-access-the-real-100vh-on-ios-in-css

    Fixes https://github.com/cwackerfuss/react-wordle/issues/285

    opened by TheKnowles 24
  • Character problem in words like

    Character problem in words like "ç" and "i"

    I'm just learning coding for hobby purposes. I get an error when I replace all of the wordlist.ts with Turkish words containing Turkish letters such as ç,i and build it. If I change only today's word in wordlist.ts, it builds and there is no problem. But this time, if it is a Turkish word with the letter i or ç in it, I need to use it like I or C in English. When I try with ç and i it gives the error word not found. Where am I doing wrong?

    Additional context Add any other context or screenshots about the feature request here.

    opened by Cryptoseen 23
  • Adjust page size for mobile displays

    Adjust page size for mobile displays

    Opening a new PR for this per discussion in #294.

    Setting height to 100vh causes an excessive page height on some mobile browsers, e.g. iOS Safari. The original Wordle avoids this by using height: 100% instead; this PR applies that same styling to Reactle, which appears to resolve the page height issues.

    Chozordle is a demo example of this change.

    opened by Bearborg 21
  • Make layout responsive to height

    Make layout responsive to height

    Addresses some of the issues in #429.

    Add new custom media query with min-height. See https://tailwindcss.com/docs/screens#custom-media-queries

    Cells and Keys now smaller and grow only once the min-height has been reached. Also some tweaks to padding.

    I'll need feedback from iPhone users.

    opened by igitur 19
  • Implement Web Share API

    Implement Web Share API

    This PR implements the Web Share API when

    1. the device is on a mobile browser (implemented by a complicated regular expression)
    2. and navigator.canShare() returns true
    3. and navigator.share exists

    I got the regular expressions from another open-source project on Github and I guess we'll just have to trust it.

    The reason for the first requirement is that on Chrome for Desktop / Windows 10, the Web Share API is also available, but, on my PC at least, I can share it only to the default Windows 10 Mail app. I'd rather have it copied to the clipboard, like Wordle.

    Fixes #206

    opened by igitur 17
  • Improved the animations. Hopefully this won't glitch

    Improved the animations. Hopefully this won't glitch

    The previous animation we had for the svg was a little bit glitchy and hence I am suggesting some improved animations. As a bonus I have added some animations to the keyboard.

    opened by abrarhayat 16
  • MAX_WORD_LENGTH - Issue with length of string in Unicode characters

    MAX_WORD_LENGTH - Issue with length of string in Unicode characters

    When using unicode character like "மு" (\u0BAE\u0BC1), the length return as 2, but the "actual"length should be 1. This affected the MAX_WORD_LENGTH throughout the code.

    How to fix this?

    opened by muhelen 16
  • Add timer

    Add timer

    This PR adds a simple timer to the game. It has the following changes:

    • Adds a time state variable to the App component
    • Adds a hasGuessingStarted state variable to the App component
    • Adds a Timer component which updates the time once per second and displays it
    • Adds an "Average Time" stat
    • Adds the time for the current game in the 'Share' button
    opened by alexaylwin 14
  • Update settings.ts to allow solutions of varying sizes

    Update settings.ts to allow solutions of varying sizes

    Set MAX_WORD_LENGTH and MAX_CHALLENGES dynamically based on the solution of the day, allowing words of varying sizes on different days.

    This change allows having a word list composed of words of varying sizes, without having to change the setting each day for a word of a new size. This is particularly useful for languages/games where the number of possible solutions with a fixed size is too small to allow for a reasonable game to be designed.

    opened by aghasemi 13
  • Moved hard mode to settings modal

    Moved hard mode to settings modal

    Removed unclear toggable hardmode icons. Moved hard mode setting to a settings modal popup. This setup closely aligns with the source material.

    Fixes https://github.com/cwackerfuss/react-wordle/issues/37

    opened by TheKnowles 13
  • Bump @types/jest from 27.4.0 to 29.2.5

    Bump @types/jest from 27.4.0 to 29.2.5

    Bumps @types/jest from 27.4.0 to 29.2.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump @types/node from 16.11.19 to 18.11.18

    Bump @types/node from 16.11.19 to 18.11.18

    Bumps @types/node from 16.11.19 to 18.11.18.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • [a11y] Colour scheme is not usable by people with red/green colour deficiency

    [a11y] Colour scheme is not usable by people with red/green colour deficiency

    Describe the bug The teal used to mark present letters, and the grey for absent letters, look indistinguishable to somebody with a red/green colour deficiency (protanopia, deuteranopia).

    Expected behavior Colours should either be a11y-friendly, or there should be an option to choose alternative palettes that are tailored to a specific colour deficiency.

    Desktop (please complete the following information):

    • Windows 11, Chrome 108.0.5359.125
    opened by LakeQueen 1
  • Bump @headlessui/react from 1.4.2 to 1.7.7

    Bump @headlessui/react from 1.4.2 to 1.7.7

    Bumps @headlessui/react from 1.4.2 to 1.7.7.

    Release notes

    Sourced from @​headlessui/react's releases.

    @​headlessui/react@​v1.7.7

    Fixed

    • Improve scroll restoration after Dialog closes (b20e48dd)

    @​headlessui/react@​v1.7.6

    Fixed

    • Fix regression where displayValue crashes (#2087)
    • Fix displayValue syncing when Combobox.Input is unmounted and re-mounted in different trees (#2090)
    • Fix FocusTrap escape due to strange tabindex values (#2093)
    • Improve scroll locking on iOS (#2100, 28234b0e)

    @​headlessui/react@​v1.7.5

    Fixed

    • Reset form-like components when the parent <form> resets (#2004)
    • Add warning when using <Popover.Button /> multiple times (#2007)
    • Ensure Popover doesn't crash when focus is going to window (#2019)
    • Ensure shift+home and shift+end works as expected in the Combobox.Input component (#2024)
    • Improve syncing of the Combobox.Input value (#2042)
    • Fix crash when using multiple mode without value prop (uncontrolled) for Listbox and Combobox components (#2058)
    • Apply enter and enterFrom classes in SSR for Transition component (#2059)
    • Allow passing in your own id prop (#2060)
    • Fix Dialog unmounting problem due to incorrect transitioncancel event in the Transition component on Android (#2071)
    • Ignore pointer events in Listbox, Menu, and Combobox when cursor hasn't moved (#2069)
    • Allow clicks inside dialog panel when target is inside shadow root (#2079)

    @​headlessui/react@​v1.7.4

    Fixed

    • Fix <Popover.Button as={Fragment} /> crash (#1889)
    • Expose close function for Menu and Menu.Item components (#1897)
    • Fix useOutsideClick, add improvements for ShadowDOM (#1914)
    • Fire <Combobox.Input>'s onChange handler when changing the value internally (#1916)
    • Add client-only to mark everything as client components (#1981)

    Added

    • Warn when changing components between controlled and uncontrolled (#1878)

    @​headlessui/react@​v1.7.3

    Fixed

    • Improve Portal detection for Popover components (#1842)
    • Fix useOutsideClick swallowing events inside ShadowDOM (#1876)
    • Fix Tab incorrectly activating on focus event (#1887)

    @​headlessui/react@​v1.7.2

    Fixed

    ... (truncated)

    Changelog

    Sourced from @​headlessui/react's changelog.

    [1.7.7] - 2022-12-16

    Fixed

    • Improve scroll restoration after Dialog closes (b20e48dd)

    [1.7.6] - 2022-12-15

    Fixed

    • Fix regression where displayValue crashes (#2087)
    • Fix displayValue syncing when Combobox.Input is unmounted and re-mounted in different trees (#2090)
    • Fix FocusTrap escape due to strange tabindex values (#2093)
    • Improve scroll locking on iOS (#2100, 28234b0e)

    [1.7.5] - 2022-12-08

    Fixed

    • Reset form-like components when the parent <form> resets (#2004)
    • Add warning when using <Popover.Button /> multiple times (#2007)
    • Ensure Popover doesn't crash when focus is going to window (#2019)
    • Ensure shift+home and shift+end works as expected in the Combobox.Input component (#2024)
    • Improve syncing of the Combobox.Input value (#2042)
    • Fix crash when using multiple mode without value prop (uncontrolled) for Listbox and Combobox components (#2058)
    • Apply enter and enterFrom classes in SSR for Transition component (#2059)
    • Allow passing in your own id prop (#2060)
    • Fix Dialog unmounting problem due to incorrect transitioncancel event in the Transition component on Android (#2071)
    • Ignore pointer events in Listbox, Menu, and Combobox when cursor hasn't moved (#2069)
    • Allow clicks inside dialog panel when target is inside shadow root (#2079)

    [1.7.4] - 2022-11-03

    Fixed

    • Fix <Popover.Button as={Fragment} /> crash (#1889)
    • Expose close function for Menu and Menu.Item components (#1897)
    • Fix useOutsideClick, add improvements for ShadowDOM (#1914)
    • Fire <Combobox.Input>'s onChange handler when changing the value internally (#1916)
    • Add client-only to mark everything as client components (#1981)

    Added

    • Warn when changing components between controlled and uncontrolled (#1878)

    [1.7.3] - 2022-09-30

    Fixed

    • Improve Portal detection for Popover components (#1842)

    ... (truncated)

    Commits
    • b7c9e57 1.7.7 - @​headlessui/react
    • 5e480e1 update changelog
    • 5994283 improve scrolling to in-page location
    • 92e9302 1.7.6 - @​headlessui/react
    • 98b0817 update CHANGELOG
    • 45fde14 improve scroll offset
    • 3cb8079 update aria-haspopup to use the correct role (#2101)
    • 962528c Improve scroll locking on iOS (#2100)
    • d31bb5c Fix FocusTrap escape due to strange tabindex values (#2093)
    • 1f2de63 Fix displayValue syncing when Combobox.Input is unmounted and re-mounted ...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump nginx from 1.20.2-alpine to 1.23.3-alpine in /docker

    Bump nginx from 1.20.2-alpine to 1.23.3-alpine in /docker

    Bumps nginx from 1.20.2-alpine to 1.23.3-alpine.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 1
  • Bump lint-staged from 12.3.2 to 13.1.0

    Bump lint-staged from 12.3.2 to 13.1.0

    Bumps lint-staged from 12.3.2 to 13.1.0.

    Release notes

    Sourced from lint-staged's releases.

    v13.1.0

    13.1.0 (2022-12-04)

    Features

    • expose cli entrance from "lint-staged/bin" (#1237) (eabf1d2)

    v13.0.4

    13.0.4 (2022-11-25)

    Bug Fixes

    • deps: update all dependencies (336f3b5)
    • deps: update all dependencies (ec995e5)

    v13.0.3

    13.0.3 (2022-06-24)

    Bug Fixes

    • correctly handle git stash when using MSYS2 (#1178) (0d627a5)

    v13.0.2

    13.0.2 (2022-06-16)

    Bug Fixes

    • use new --diff and --diff-filter options when checking task modifications (1a5a66a)

    v13.0.1

    13.0.1 (2022-06-08)

    Bug Fixes

    • correct spelling of "0 files" (f27f1d4)
    • suppress error from process.kill when killing tasks on failure (f2c6bdd)
    • deps: update pidtree@^0.6.0 to fix screen size error in WSL (1a77e42)
    • ignore "No matching pid found" error (cb8a432)
    • prevent possible race condition when killing tasks on failure (bc92aff)

    Performance Improvements

    • use EventsEmitter instead of setInterval for killing tasks on failure (c508b46)

    ... (truncated)

    Commits
    • eabf1d2 feat: expose cli entrance from "lint-staged/bin" (#1237)
    • a987e6a docs: add note about multiple configs files to README
    • c4fb7b8 docs: add note about git hook TTY to README
    • e2bfce1 test: remove Windows snapshot workaround
    • 81ea7fd test: allow file protocol in git submodule test
    • 3ea9b7e test: update Jest snapshot format
    • 0c635c7 ci: install latest npm for older Node.js versions
    • 5f1a00e ci: bump GitHub Actions' versions
    • 336f3b5 fix(deps): update all dependencies
    • ec995e5 fix(deps): update all dependencies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
Owner
Hannah Park
Full stack developer with a focus on front end. Recent bootcamp grad seeking employment and collaboration opportunities!
Hannah Park
A recreation of the popular game Wordle with additional modes and features. Made with Svelte in Typescript.

A recreation of the popular game Wordle by Josh Wardle (now purchased by the New York Times), with additional modes and features. Hosted on GitHub pag

Mikha Davids 117 Dec 11, 2022
A clone of the popular Wordle game.

Wordle Clone How to play locally: yarn install

null 2 Jan 9, 2022
JavaScript library guessing game, a Wordle clone

Jazle JavaScript library guessing game, a Wordle clone. A fork of cwackerfuss/react-wordle. See the list of accepted libraries: wordlist.ts Build and

Oliver Radwell 17 May 26, 2022
WordleGameCB - a game inspired by the Wordle word game developed by Josh Wardle

Technologies WordleGameCB WordleGameCB is a game inspired by the Wordle word game developed by Josh Wardle. This application was developed with the ai

@Encoding 4 Feb 20, 2022
Zero clientside JavaScript Wordle clone, using Eleventy Edge

Eleventy Edge Wordle Yet another Wordle clone Play the hosted Wordle game! Recently, the Eleventy started unveiling its Eleventy Edge plugin, which al

Ben Myers 20 Oct 6, 2022
How to build a multiplayer Wordle clone with Liveblocks, Vue, and Vite

Wordle Wars This repo shows how to build a multiplayer Wordle clone with Liveblocks, Vue, and Vite. Try it out It's forked from VVowrdle created by Ev

Chris 71 Dec 8, 2022
a wordle clone in the terminal?

Wordleee A clone of the popular word guessing game, that runs in the terminal with a fancy ?? (?) UI! Features ?? Based on Node.js (with the amazing I

Hugo Wiledal 11 Sep 4, 2022
Wordle-clone with a Dungeons & Dragons theme. Guess the monster-of-the-day by assigning numbers to characteristics.

DNDle A Wordle-clone with a Dungeons & Dragons (5e) theme. Guess the "monster of the day" by either entering values for the six characteristics (STR,

Dan Q 6 Apr 11, 2022
Wordle clone but the words are replaced by STIB/MIVB stops

STIBle / MIVBle STIBle / MIVBle is a WorLdle clone, except that you don't guess a country, but a stop in the STIB's (Brussels' public transport compan

null 3 May 26, 2022
Provides 5 keywords with which to narrow down your wordle game. I ruin nice things.

Widdle?? I hate fun so I wrote a script that ruins Wordle. This script can be used to find a Widdle, a set of five words that cover nearly all letters

Tess Myers 3 Mar 12, 2022
WORDLEBOARD prototype: Show your Wordle game on a Vestaboard as you play.

WORDLEBOARD prototype Show your Wordle game on a Vestaboard as you play. Copyright (c) 2022, Scott Schiller. MIT license. Made with love and fun in mi

Scott Schiller 7 Dec 20, 2022
A Wordle-like game where you have to guess the unsigned 8-bit binary number

Bytle A Wordle-like game where you have to guess the unsigned 8-bit binary number! Game coded in 2h 14m 50.570s, but it's not like I'm counting how lo

James Livesey 16 Jun 30, 2022
I found 'WORDLE' game is hackable . we get solution on localStorage. I just prevented this.

WordleGame() Demo: https://shobdokhela.vercel.app Go play the real Wordle here Read the story behind it here Main Author Hannah Park Inspiration: I fo

Samayun Chowdhury 3 Mar 6, 2022
Chrome extension for the game called Wordle

Chrome extension for the game called Wordle. No need to get stuck again while you have this at your side. Climb up that leader board!

Anjaneya Tripathi 18 Sep 17, 2022
Telegram Bot inspired by the Wordle game

Wordle Bot Give a try! @xWordleBot. This is a simple bot inspired by Wordle game. The bot is entirely written in TypeScript. Thanks to grammY Telegram

Sreelal TS 17 Oct 21, 2022
A Wordle-esque caption guessing game with DALL-E images.

This project was a weekend well spent. Built with NextJS, a PostgreSQL backend, and Prisma as an ORM. Available at http://dalledle.com! Getting Starte

Alex Becker 5 Sep 3, 2022
'Neko Mezashi Attack' - a simple but cute action game made with Vite and TypeScript

'Neko Mezashi Attack' is a simple but cute action game made with Vite and TypeScript. This app is packed all resources including style, graphics and audio into 4KB(4096 chars) JS. No runtime libraries or external resources are required.

yuneco 10 Dec 1, 2022
Wordle2Townscaper is meant to convert Wordle tweets into Townscaper houses using yellow and green building blocks.

Wordle2Townscaper Wordle2Townscaper is meant to convert Wordle tweets into Townscaper houses using yellow and green building blocks. You can download

Tarmo 66 Nov 2, 2022
Latin Wordle is a free and open-source project that aims to provide a fun and interactive way to learn Latin.

Latin Wordle Live Game Here Inspiration Latin Wordle is a free and open-source project that aims to provide a fun and interactive way to learn Latin.

null 15 Dec 16, 2022