An app/website for improving your writing skills in any language.
Branch: master
Clone or download
ykdojo Merge pull request #57 from Tipuch/master
- added environment variables script for windows users.
Latest commit 84ffa03 Jan 15, 2019

Edit Dojo

A web app to improve writing skills in any language.


Screenshot 1 Screenshot 2


The inspiration for this came from the lack of these kind of resources. You can find a ton of resources to master reading, listening or speaking a language. But when it comes to writing, there simply aren't much.

How it works

The app will function in these steps:

  1. A user A will sign up with 2 languages, one in which they are proficient(say, English) and the other which they want to learn(say, Japanese).
  2. Then they will write anything they need in, say, Japanese.
  3. A user B, who is proficient in Japanese, will then verify and propose corrections.
  4. Similarly if someone wants to learn English, user A can verify their messages.
  5. Everyone is happy.

Initially the app will be based on twitter, that is, users will be editing tweets. Eventually, you will able to use this app without using Twitter at all!

Waiting list

If you'd like to get an email when this website/app is ready, please sign up to our waitlist here:


We would need following installed in our system before we start with setting up the project in local machine.

  1. Git - This is needed as a version control system. If you don't have this preinstalled in local machine, visit and setup git on local.
  2. Python 3 - We are using Python as a programming language in this project. Mac and Ubuntu have it pre-installed. NOTE: you might have Python 2 on your Mac or Ubuntu. If so, make sure to download Python 3.

Local Setup

  1. Clone this repository into local system and change the directory.
git clone
cd editdojo/
  1. Install pip3 and pipenv.
pip3 install pipenv
  1. Go into the virtual environment:
pipenv install
pipenv shell
  1. Apply migrations
python makemigrations
python migrate
python loaddata languages.yaml
# NOTE: you can produce the same data in languages.yaml with
# python dumpdata users.Language --format=yaml > languages.yaml
  1. Set up Twitter

For this, first, set up your environment variables.

You can take a look at .bash_profile_sample on how to set them up.

Then, run:

python shell <

On Heroku:

heroku run shell

  1. Run the server:
python runserver <PORT>
python runserver
  1. Start the application opening the link shown in your terminal on a browser.


This is a part of the series of YouTube videos demonstrating how to build a real startup using Python and Javascript. Useful resources for this project:

Created by

The project was started by: YK Sugi. He's the guy who's running CS Dojo, a programming education YouTube channel.

If you have any questions related to this project, please contact him on our Slack group.