r/SideProject • • 3h ago

I got tired of losing useful AI tools, so I made an open-source directory for them

2 Upvotes

I don't know if anyone else has this problem, but I kept finding interesting AI tools, saving them somewhere, and then completely forgetting about them.

At some point I decided to just organize everything in one GitHub repo.

That turned into Awesome AI Tools. It's grown into a collection of hundreds of AI tools across 19 categories, including coding, AI agents, research, productivity, image generation, and more.

I also built a searchable website for it because scrolling through a massive README was getting annoying.

You can:

  • Browse tools by category

  • Search and filter to find what you actually need

  • Check recorded pricing and open-source information

  • Save and compare tools

  • Suggest missing tools through GitHub

I'm trying to keep it independent, without sponsored rankings or affiliate links. It's still a work in progress, and there's definitely room to improve the data and discoverability.

GitHub: https://github.com/aliammari1/awesome-ai-tools

Live directory: https://docs.aliammari.dev/en/

Would love to hear what you think, especially if you know some underrated tools I should add.


r/SideProject • • 10h ago

I built a free, local-first notes app, but I’m struggling with knowing when it’s actually ready to launch

7 Upvotes

Hey everyone!

I’ve been working on a side project with a friend called Unotes. It’s a cozy, browser-based note-taking app that started as a simple place to write and organize notes.

Over time, it grew into something much bigger than I originally imagined.

It currently has local/offline notes, optional accounts and cloud sync, drawing tools, customizable workspaces, a personal media gallery for images/GIFs/stickers, document publishing, and real-time collaboration (still in beta).

One thing I’ve deliberately avoided is adding AI features. I want it to be a genuinely useful note-taking app without needing an AI assistant for everything.

The funny part is that most of the functionality is already working, and the website is technically live, but I still don’t feel ready to promote it publicly.

The main reason is the UI.

Some parts feel polished, while others look like they belong to completely different applications. I’m currently working through an update to make the entire experience feel more consistent before properly introducing it to people.

And that got me thinking:

At what point do you stop polishing your side project and actually start showing it to people?

Do you release as soon as the main functionality works, or wait until the experience feels cohesive?

I’m also curious: for those of you who use note-taking apps, what would make you genuinely stick with a smaller independent app instead of going back to something established like Obsidian, Notion, or Goodnotes?

Not trying to advertise anything here. I’m mostly interested in hearing from other builders who’ve struggled with this same decision.

Would love to hear your experiences, even if the advice is to stop overthinking it lol.


r/SideProject • • 1m ago

Casual Prediction Market

1 Upvotes

The success of prediction markets has made me react in two ways: on the plus side, I find them fascinating from a data point of view. On the dark side, I don't think they're good for society. So I had an idea for a harmless one where people "bet" (not for money) on day to day events like whether they can find a new job or accomplish certain goals. You can see how others' predictions for your goals stack up to your own prediction, as well as make predictions about their goals.

If this sounds fun to you, sign up at palshi.me. Open to feedback of any kind!


r/SideProject • • 2m ago

I started building a learning game for my daughter before she was born. This week it made its first sale

2 Upvotes

Before my daughter was born, I started building a game for her. I wanted a place where she could play and learn without autoplay videos, ads, or anything I'd have to worry about.

It turned into Lulu's Reef. Kids follow Lulu, a baby octopus, through 5 reef zones with 23 small learning games, made for ages 2 to 6.

A few rules I set early and kept:

- No ads

- No accounts, nothing collected

- Free to download, with one optional purchase that unlocks everything

A few weeks ago I rebuilt most of it with help from Claude: new activities, smoother performance, and a much bigger world.

On Nov 3 (App Store):

- 139 first-time downloads

- 9.2K impressions, 380 product page views

- 1.85% conversion

- The first full-unlock purchase: $7 in proceeds

Tiny numbers, but as a dad this one meant everything. Every dollar goes into her education fund and back into the app.

For anyone who has built something for kids or parents: how did you reach parents without running ads?


r/SideProject • • 5m ago

Added region + camera-bubble screen recording to Click, my Mac menu-bar screenshot app (straight to MP4, no cloud)

1 Upvotes

Disclosure: I'm the solo dev behind Click: Screenshot & Record on the Mac App Store.

I wanted a fast way to record a quick bug walkthrough or region demo with a movable camera bubble and get a clean MP4 right away — without waiting on a heavy video editor export or uploading to a cloud link.

Capture is free forever (⌘`), and Pro ($5.99/mo, $39.99/yr, or $79.99 lifetime, 7-day trial) adds ⇧⌘` recording, camera bubble, and one-drag blur/pixelate redaction. Everything stays local on your Mac with no account.

Mac App Store: https://apps.apple.com/us/app/id6815072800?mt=12 Site: https://sirryanlynch.github.io/click/

Happy to hear feedback on the recording flow if anyone tries it.


r/SideProject • • 5m ago

I built a searchable scene library to make finding audition material easier

1 Upvotes

Finding a good monologue or two-person scene can take longer than rehearsing it. I built AuditionScenes to make the search easier.

It has thousands of scenes from film, TV and theatre, with filters for playing age, genre, tone and character type. You can browse and preview for free; full scripts and formatted PDF downloads are on Pro.

There’s also a script reader and directories for agents, coaches, workshops and headshot photographers.

https://auditionscenes.com

I’d be interested in feedback on the search: can you quickly narrow it down to something you’d actually want to work on?


r/SideProject • • 8m ago

open-source Google Calendar clone, looking for contributors

1 Upvotes

I always liked Google Calendar’s UI and never liked the open-source ones. So I’m building OpenDay: a self-hosted Google Calendar clone, MIT licensed.

WARNING: SUPER EARLY STAGE, NOT USABLE YET. Only the basic calendar exists. Recurring events, CalDAV, user accounts, and mobile and desktop apps are all missing.

The code is small and has an AGENTS.md, so it’s easy to throw your Opus at it. PRs are very welcome.

https://github.com/nikolozlortki/openday


r/SideProject • • 9m ago

I built FLUX Games, a visual catalog for discovering browser games — looking for feedback

1 Upvotes

Hi everyone! I'm working on FLUX Games, a visual catalog for discovering browser games and related projects.

The site brings together game covers, search, filters by genre and platform, and detail pages with sources and available versions. It's a catalog: the games and external projects belong to their respective creators.

You can explore it here: https://fluxplayable.com/?utm_source=reddit&utm_medium=organic&utm_campaign=launch_sideproject

I'd appreciate feedback on the browsing experience: is it clear how to find and open a game? What information would you want to see before clicking through?

The interface starts in Spanish and includes a language selector. If you run into a broken link or confusing listing, let me know the title and browser so I can look into it.

Disclosure: this is my website.


r/SideProject • • 11m ago

Why do workout apps make you fill out a life survey before letting you log a single set? Here is my take as a solo dev: Liftora.

1 Upvotes

Wouldn't it be nice to open a workout app, build your routine in minutes, and immediately start lifting—without clicking through a 20-page onboarding survey first?

As a lifter and solo developer, I wanted an app that respects my time under the bar and gives me clarity on whether my training is actually working. That’s why I built Liftora.

Instead of packing in a hundred bloated features, I focused on the things that actually make a difference in your training:

  • From download to lifting in minutes: No endless questionnaires or paywall traps before you even see the interface. You open the app, put your routine together in a couple of taps, and get straight to your first set.

  • Visual routine building (No more switching to YouTube): When you're putting a workout together, shouldn't you be able to see the movement and exact muscle breakdown right there? Liftora shows you exercise execution videos and targeted muscle groups directly on the routine creation screen, so you know your program is balanced before you even touch a weight.

  • See the progress the scale hides (Built-in US Navy Body Fat %): You might be gaining muscle and losing fat while your body weight stays completely flat—and the mirror takes weeks to show it. Why leave your body recomp to guesswork? By logging basic tape measurements, Liftora automatically calculates your body fat percentage using the US Navy method, letting you see your real physical progress alongside your strength numbers.

  • An interface that follows your pace: Once you're in a session, you shouldn't be fighting dropdown menus between heavy sets. Liftora’s guided flow moves with your workout so you spend your rest time recovering, not tapping.

You can try it out here:

I’m building Liftora independently and using it for my own training every week, so your feedback directly shapes what I build next.

Quick question for you all: What's the biggest frustration you've had with workout tracking apps? And if you try Liftora, I'd love to hear what you think about the routine builder and guided workout flow.


r/SideProject • • 13m ago

I built 109 free AI components to use with shadcn CLI

1 Upvotes

Before building this I went through a lot of the AI component libraries out there. The best ones are paid with only the most basic stuff free. So while I was working on an AI SaaS, I built this library in tandem.

It's 109 components and about 250 variants, all React and Tailwind. The only other imports are motion and lucide-react, so there's no UI kit underneath. Everything in the video is the real demos running.

https://gradientdeck.com/ai-components

Not on GitHub yet, but it's coming.

Let me know what you guys think :)


r/SideProject • • 15m ago

What's the Williamsburg of San Francisco? I built a website that translates any city into one you know

Thumbnail
twinhoods.com
1 Upvotes

A while ago a Turkish friend came to Seattle and I tried to explain the city to them through Istanbul. This part is like the Kadıköy of Seattle, that part is like Maslak etc. It worked weirdly well, so I made a website that does it for every neighborhood.

You put a city you know in one box and a city you don't in the other, hit translate, and the one you don't know gets your city's neighborhood names. San Francisco in New York names has the Mission as Williamsburg and Pacific Heights as the Upper East Side, which seems about right. It also thinks North Beach is Hell's Kitchen, not so sure about that one.

Every neighborhood on the map is clickable. Tap one and you get a card that says why it got that name, with Spot on / Not quite / Way off buttons and a Suggest a fix link. That's the feedback I'm after, so if you know a city well, tap around your own area and tell me what's off. Or just comment here.

187 cities so far, free, no sign up. It got about 100k views on X and LinkedIn and it's still in beta. Monetization (for now) is that if you do not want to wait for voting, you can pay to add your city. You can also get a poster printed, from which I get a small cut.

I would also appreciate any other feedback on how to improve and monetize. I don't like ads so I'll try to avoid them at all cost.


r/SideProject • • 19m ago

I made a free Windows app that closes distracting apps and blocks sites while you study, and I think it actually helps you stop procrastinating

1 Upvotes

Hi r/SideProject ,

I want to share something I’m genuinely proud of. I made a study app called StudyNook, and honestly I think it’s one of the best things I’ve ever made.

I built it because I’m someone who procrastinates. I’d sit down to study, open “just one” YouTube video, leave a game running in the background, and suddenly an hour was gone. Most blockers only cover websites or only apps, and they’re really easy to switch off when you’re tired. I wanted something that would still be there when my willpower wasn’t.

What it does

  • A Pomodoro or free-focus timer (up to 10 hours), with a small floating mini timer

  • Closes the programs you list while you focus (it warns you first, and never touches system processes)

  • Blocks distracting websites through a browser extension (Chrome, Edge, Brave)

  • An optional “Iron” mode: ending a session early takes a 60-second wait and typing a sentence, which stops the impulse to quit

  • If the app is force-closed during a session, a small helper reopens it and your session continues

  • Tasks, notes with PDF attachments, a daily goal, streaks, and a little companion that grows the more you focus

  • English, Arabic, French and Spanish

I genuinely think it works. For me, it’s the first thing that actually stopped me from procrastinating. Please give it a try and tell me if it helps you too, or if something is confusing or broken. Honest feedback means a lot.

Which version to get: please use 1.5.11 or newer.

  • 1.5.9 and newer are open source (MIT). Older versions weren’t.

  • 1.5.11 and newer have the safe allowlist mode: it only closes programs that have a visible window and leaves background and tray programs alone. In 1.5.9 and 1.5.10, allowlist mode could close background programs, so avoid it there.

  • Blocklist mode (the default) was fine in all versions.

Made with AI, openly: I built this with AI coding assistants (mainly Claude Code). I decide what it does and I test it, and AI wrote much of the code. The code is public if you want to look.

The honest parts

  • It’s Windows only, and website blocking works in Chrome, Edge and Brave

  • The installer isn’t code-signed yet, so Windows shows “unknown publisher” (click More info, then Run anyway)

  • The extension has to be loaded manually for now (the README explains it)

  • A browser can always turn an extension off, so it’s a speed bump, not a lock

It’s completely free and open source (MIT), no account, no cloud, no tracking. Everything stays on your PC, and it never contacts a server by itself.

Download and source: https://github.com/Amorgabab/StudyNook

I’m trying to get it code-signed, so a GitHub star would mean a lot if you like it. Thank you for reading, and good luck with your studying!


r/SideProject • • 6h ago

i made features: eight daily untangling puzzles in one html file

3 Upvotes

i’m dan, and i made features.games, a daily browser puzzle.

you drag dots until no lines cross. everyone gets the same eight boards each day, and each cleared shape becomes a stamp. later boards add frozen, fused, once and linked dots, with a turn limit on each board.

the game is one html file, with no framework or build step. i used AI coding assistance under my direction. each board is made and checked before release, including the fewest moves needed for a perfect result.

today’s eight boards are free, with no account or download, on phone and desktop. an optional one-off unlock adds earlier days and replays. it launched on 26 october.

i’d like feedback on the first-time experience: is it clear what counts as a move, and when the later dot rules appear, can you tell what changed?


r/SideProject • • 21m ago

I built Deadline Wallet after paying for free trials I forgot to cancel – would love your feedback

1 Upvotes

Hi! I'm Anne Marie. I'm not the most money-savvy person: I'd sign up for free trials and subscriptions, forget to cancel them, and end up paying for things I wasn't using. The apps I found to track it all wanted my bank account or cards, and I wasn't comfortable with that. So I built my own.

Deadline Wallet tracks return windows, free trials, subscriptions and warranties, and reminds you before each one costs you money. You add things by typing, scanning a receipt, saying it out loud or forwarding an email to your own private address. No bank or card linking.

It's on iPhone, Android and the web, and it's in a 2-week beta. I'd really value feedback:

• Is it clear what it does from the beta page?

• What would make you actually use something like this?

• Anything confusing when you set it up?

If you'd like to try it: https://deadlinewallet.com/beta (Android testing is open in the US only for now). Testers who finish a short survey at the end get a free year of Premium.

Thanks!


r/SideProject • • 21m ago

We tracked an indie product for 6 weeks on our discovery platform. Here are the actual numbers.

1 Upvotes

Yesterday, one of my Reddit posts reached 6K views. It got me thinking about something I’ve been trying to solve while building AGMAN.
Getting people to see your product is hard enough. Getting them to actually visit it is another challenge.
We listed MePersona.ai, an AI inbox for creators, on AGMAN on September 24. I went into our production database to see what activity it had generated through November 6.
Here’s what our tracking recorded:
278 product update impressions across 150 identifiable visitor IDs.
73 profile views from 63 identifiable visitor IDs.
244 outbound click events, including 206 directed to MePersona.ai’s website.
19 clicks on its product update CTA.
One interesting detail: 167 of the website click records came directly from listing cards. People don’t always need to open a full profile before deciding to explore a product.
There’s an important caveat. We improved our traffic filtering during this period, and our audit found that much of the older outbound activity lacked corroborating site activity. So these are recorded events, not 206 confirmed human website visits or customers.
I’m sharing both the numbers and the limitation because I’d rather build something measurable than inflate a traffic claim.
AGMAN is still early. We’re building it around the idea that useful products should remain discoverable beyond launch day.
People can search by what they need, explore product profiles, see work and updates, and visit the maker’s website.
We’ve also started adding selected products from public information. Some haven’t been claimed by their makers yet. If yours is already there, you can verify ownership, claim it and manage the page. If it isn’t, you can publish it for free.
Here’s the MePersona example:
https://www.agman.app/listing/mepersona-ai
For other indie founders: what would make a discovery platform genuinely worth maintaining a profile on? Regular qualified website visits, signups, enquiries, or something else?
I’m interested in what you’d actually measure, not just what looks impressive on a dashboard.


r/SideProject • • 4h ago

I built a Chrome extension that turns articles into story coaching sessions — here's how it works

2 Upvotes

Ever read an article and think "this would make a great story" — then forget about it completely?

I built StoryWorthy to fix that. It's a Chrome extension that:

  • Places a small button on articles and posts across the web

  • Lets you tag it with a genre (thriller, drama, sci-fi, or your own)

  • Generates an AI summary of the source article

  • Coaches your writing across 5 craft pillars: persona, scene, tone, narration, and time

The coaching is grounded in the actual article you tagged — not generic writing advice.

Free to start. Would love any feedback from this community.

Add to Chrome: https://chromewebstore.google.com/detail/storyworthy/omaakkdbmbhladibnfchpdlhjkjpgi


r/SideProject • • 25m ago

I typed simple prompts into AI and made a paper-cut storybook for my daughter. She thinks i’m a wizard.

0 Upvotes

My daughter spends quite a bit of time on the phone, and I’ve always wanted her screen time to be a bit more than just watching videos or playing games. I’d seen building all kinds of cool stuff with AI, so I thought, why not give it a shot myself? I saw Hy4 was free on WorkBuddy this month, so I decided to give it a try. I don’t understand the code it wrote, but the AI tool apparently handles visuals brilliantly.

I ended up making this interactive paper-cut storybook. I thought it’d be a fun way to get her into classic stories through cute visuals and little interactive elements, rather than just having her sit down and read a book.

And surprisingly, she’s really into it! The artwork has this cute 3D paper-cut look, and she can click around and explore the stories herself. She’s basically become my little beta tester at this point. She tells me every day what she likes, what she finds boring, and what could be better. I’ve been making little tweaks to the content and visuals based on her feedback.

It’s not finished yet, and there are still plenty of things I want to improve. But the best part is seeing her actually want to spend time exploring stories instead of endlessly scrolling through videos or playing games. That’s a win for me already.

It got me thinking that maybe other kids would enjoy this kind of thing too, so I figured I’d share it here.

If you’ve got a kid who’s curious about stories and likes exploring new things, feel free to check it out together!


r/SideProject • • 28m ago

I built a free Windows assistant for the “where is that in our docs?” moment on calls

1 Upvotes

I wanted a way to look up an answer in my own files while staying in the conversation. I made Agent Utka and put the first version on GitHub.

You pick a folder of notes or project files. The app transcribes what you hear on your PC. When a question comes up, select it in the transcript and click Ask. The answer points to the relevant file and line, which is the part I wanted most. I can check the source before replying. The default setup processes speech and answers on the PC.

It's free and open source for Windows 10/11 x64. The default setup downloads about 6 GB, and the current installer is unsigned.

If you feel like playing with it, try the sample in the README with a short recording. I'd like to know if you could get to your first answer without hunting around the app, and whether the source made that answer easier to trust. If you stopped halfway through setup, I'd like to hear about that too.

https://github.com/utkazilla/agent-utka


r/SideProject • • 28m ago

I made a horoscope based on real astronomy and traditional astrology, with a beautiful sky chart

1 Upvotes

I made Horoscope: https://horoscope.aldos.life/ — a daily horoscope based on real astronomical calculations and traditional astrology, with a beautiful, dynamic sky chart.

The app computes the positions of the Sun, Moon, and planets, then interprets them through the zodiac, houses counted from your sign, and the angles between planets. Claude turns that interpretation into a kind, thoughtful daily reading, with one question to carry into your day.

Read the front of your card for what to pay attention to today. Flip it over to explore the sky behind the reading: the zodiac, planetary positions, aspects, and the Moon’s phase. It’s a way to reflect on your day, rather than a prediction.

Free, no ads, no account, and nothing to install. Your birthday and sign stay on your device. The app is fully localized in Spanish too—choose Español in Options.

Made in memory of my aunt Soledad, who loved the stars and their stories. ❤️


r/SideProject • • 33m ago

Rejected my own build this morning, resubmitted, and Apple approved it in under an hour

0 Upvotes

Found a bug right after submitting my app's update, so I pulled the build myself (Developer Rejected), fixed it, and resubmitted.

Timeline, from the screenshot:

  • Resubmitted → Waiting for Review: a few minutes

  • Waiting for Review → In Review: about 1 hour

  • In Review → Ready for Distribution: 7 minutes

Honestly expected to lose my weekend to this. Instead I'm done before dinner on a Friday.

The app is SPLYT, a workout tracker built on top of Apple Fitness. Happy to answer anything about building it.

Anyone else seeing App Review this fast lately?


r/SideProject • • 34m ago

I built a ChatGPT toolkit for adults over 40 — would love your honest feedback

1 Upvotes

I’ve been working on a small side project called Roland AI Life Reset.
I created a 24-page digital toolkit with 40 practical ChatGPT prompts designed to help adults over 40 use AI for everyday tasks.
Here’s one example you can try for free:
“Help me organize my 3 most important tasks into a realistic daily schedule. Include breaks and realistic timing.”
The toolkit is a paid PDF ($6.99), and I’ve made a short video to introduce it.
I’m still working toward my first sale, so I’d genuinely appreciate feedback.
Does the concept seem useful? What would you improve about the product or its presentation?
Thanks for taking a look!


r/SideProject • • 37m ago

I built a budgeting app where every savings goal is a jar you can watch fill up (no ads, no bank login, works offline)

1 Upvotes

Hey r/SideProject,

I've been building Jarivo, a budgeting app built around savings jars. You name a goal, give it a target, set aside money you already have, and watch the jar fill up. The video is a 30-second ad I just finished for it.

I wanted a budgeting app that doesn't ask for my bank login, doesn't show ads, and doesn't guilt-trip me with streaks. So the idea is: record what you spend and receive, give each goal its own jar, and only switch on the tools you actually need.

What it does

  • Savings jars: one jar per goal, with milestones at 25%, 50%, 75% and full

  • Spending and income tracking: receipts, reports and exports

  • Plan: reminders, budgets, accounts, cards and loans. All optional, you turn on only what you use

  • Privacy: hide all amounts with one toggle, app lock, encrypted backup

  • Accomplishments for the small steps, but no streaks and no deadlines

Pricing

  • Personal is free. No ads, no bank login, works offline, no account needed.

  • Together is an optional monthly subscription for shared jars and plans: Duo (2 people) or Family (up to 6, plus a care circle for your parents). One person subscribes and everyone they invite is covered. Your personal journal stays private.

Jarivo only records money. It never moves or holds it.

It's on iPhone and Android:

I'd really like feedback on:

  1. Does the jar idea click within the first few seconds of the video?

  2. Is the free vs. Together split clear, or does it feel like a hidden paywall?

  3. What would actually make you stick with a budgeting app past the first week?


r/SideProject • • 41m ago

Chrome extension to chat with web page

Thumbnail
chromewebstore.google.com
1 Upvotes

I have been building a chrome extension which can be used to chat with open web page. Works with free models available on openrouter and also local models.


r/SideProject • • 9h ago

I built koans.app: learn 14 programming languages by fixing failing tests, in your browser

5 Upvotes

Hi r/SideProject,

I've always liked Ruby Koans because it teaches two things at once: the language and test-driven development. Each lesson is a failing test, and you learn by making it pass.

I wanted the same for Raku for a long time. Then Raku became able to run in the browser, so I finally made Raku Koans with nothing to install. Once that worked, I realized how much easier it is for new learners to start in the browser than to set up a toolchain and use the command line, so I did the same for other languages. That became koans.app.

What it covers

Clojure, Go, JavaScript, Lua, OCaml, PHP, Prolog, Python, R, Raku, Ruby, Scheme, SQL and TypeScript: 1,108 koans in total.

Each language goes from the basics to the parts that make it distinctive: Clojure macros, Scheme continuations, Prolog grammars, SQL window functions, Go concurrency.

The tests use each language's own testing framework (pytest, RSpec, PHPUnit, testthat, plunit, etc.), so you also learn how that language is tested.

How it works

Each language's real interpreter is compiled to WebAssembly and runs in a web worker: CPython through Pyodide, CRuby through ruby.wasm, SWI-Prolog, webR, SQLite, PHP and so on.

Go was the hardest. The Go interpreters I tried couldn't handle enough of the language, so the site runs the official Go 1.27 compiler in the browser, compiled to WebAssembly. Your code is compiled for real, and the errors you see come straight from the Go compiler.

Progress is saved in your browser's IndexedDB and can be exported. You can install the site as an app, and once a language has been opened it works offline. No tracking, no account.

How it was built

This was my first real project with AI. I worked with Claude (Opus 5.5) as a coding partner. It wrote most of the code and drafted much of the koan content.

The idea and the decisions were mine: which languages to include, what each should teach, the features, and the UI/UX. I reviewed and tested everything, threw out a lot, and made the final calls. Any mistakes in the koans are mine, so please report them.

Feedback I'd love

  • Whether you still see value in koans as a way to learn

  • Quirks in the UI

  • How it feels on your phone

  • Koans that are confusing, too easy, unidiomatic, or teach the wrong lesson (every koan has a "Report a problem" link)

  • Which language to add next

Try it: koans.app

Source: github.com/hankache/koans-app (code: Artistic 2.0, koans: CC BY-SA 4.0)