#cli #friendship

app akc

A command-line tool for managing connections with friends

1 unstable release

0.1.0 Apr 2, 2022

#1404 in Command line utilities

MIT license

212 lines


A command-line tool for managing connections with friends.

Table of contents


akc is an acronym for "aji, ki, and chi". But what do those words mean?
They are terms some of my teammates and colleagues at the company use to refer to a friend with a specific level of closeness. An aji is a very close friend. Then comes a ki and finally a chi, indicating a close and normal friend, respectively.

Note: In Persian, aji means sister (my teammates and colleagues who invented the terms are girls, so they used aji instead of male equivalent "dada", meaning brother in Persian), ki means who, and chi means what.




akc works by keeping your friends' names, suggesting you connect them based on their closeness. The closer and less suggested by akc they are, the more chance akc suggests you connect them. It's that simple.

By default, there are 3 levels of closeness as described in history, called aji (very close), ki (close), and chi (normal). In addition, there are 4 default connection methods: Hanging out, video call, call and text. These don't have an equal effect on the chance of the same friend being suggested again. If you hang out with a friend, akc will probably re-suggest him/her with far less probability than if you texted him/her. In other words, hanging out, video call, call, and text have the highest to lowest cost respectively.

Adding friends

akc friend aji Negar # Add an aji called Negar
akc friend ki Arash # Add a ki called Arash
akc friend chi Sara # Add a chi called Sara

Get suggestion for connection

akc suggest # Suggest you a friend to connect with

Record a memory with a friend

akc memory hangout Negar Sara # Record a hangout with Negar and Sara
akc memory video-call Arash # Record a video call with Arash
akc memory call Arash # Record a call with Arash
akc memory text Sara # Record a call with Arash


  • Add connection constraints
  • Add a feature for changing defaults
  • Add commands for listing friends and their connection status


~75K SLoC