Portable Kanban

What is Kanban? Is it possible to use it for personal task management? If you already know answers than you have an idea how kanban board looks typically:

While there is nothing wrong with physical boards it’s very convenient to have an electronic version. I spent days trying to find some suitable software and finally … developed it (seriously, it just took less time!). And if you’re looking for some simple application that could replace physical board then search is over. Now your board can look like that:


Much better! What are pros & cons of electronic board:

  • It’s dead simple.
  • It always can be with you in your laptop: just copy files to some folder.
  • It works in offline mode, no internet connections ever required.
  • It looks nice.
  • It’s even cheaper than whiteboard and sticky papers because it’s completely free.
  • It’s both personal and shared board in the single package.


  • Maybe not for large distributed groups, but it’s OK for small-to-medium ones. Look also for online alternatives.
  • No more cons found.

How to start:

  • Download application (link is below). It has no installer, just unzip it to some folder, e.g. “…My Documents\My Kanban”.
  • Start it. It requires NET 4.6.2 installed, if you don’t have it yet you can download it here. The application creates data file automatically.
  • Click everywhere, try to drag & drop cards. See About/Shortcuts first, then click Setup to configure your own board the way you want. Edit columns, topics, persons etc. Please, read notes on every setup page.
  • Use the built-in timer (aka ‘pomodoro timer’) to track your time. Easter egg: point mouse to the timer to see statistics.
  • One more thing: drag & drop any file to app window to create a new task with attached file.
  • Need more than one board? Copy app to different folders to use 2 or more boards, e.g. “Office”, “Home” etc.
  • Application is fully portable: keep it on flash drive or shared/cloud storage (OneDrive, Dropbox etc).
  • You can also create a common board and share information with your colleagues in office or worldwide. This option requires free Redis database server (3.0.504 is recommended).

Please, feel free to share your ideas for improving the application. It’s going to be updated regularly, so subscribe to this page comments. The current version is 4.2.6393.39784.

Thank you for reading/scrolling down. Now you can download it.

Portable Kanban supports plugins to extend its functionality. If you’re interested in developing your own plugin use this project as a starting point.

See also a very basic introduction to Portable Kanban:

More about personal kanban:

Do not forget to share this page and/or like it @ AlternativeTo and StackExchange!

1,218 thoughts on “Portable Kanban

    1. +1 for this.

      However, installation of plug-ins should (naturally) be at the risk of the installer. I’m not a technical person, but I would be very interested in what plug ins may be available to extend the functionality of Portable Kanban.

  1. Hi Dmitry,
    Very efficient app — thank you!
    I have a same error on 2 machnies (tested on Win7 and Win10) saying:
    Failed to save data to file: {C:\mypath\myfile}
    Unable to remove the file to be replaced.
    I can’t understand / decode what is to be adjusted / changed.
    Any idea / hint to fix this?

  2. A lot of thanks for this nice application. I love it. I try many to-do-managers. This is the the top. It is very good…can you not make an android and ipad version?

  3. HI, I updated to the latest version this morning and I am now getting a malicious behavior detection (trend micro). Do you have any Idea what would cause this?
    To get around this I tried to get around it by creating a second instance, and copied over the file folder (I though that’s where my saved tasks would be) but that didn’t work.
    Any ideas on how to fix the warnings or work around it?

            1. Hi Eduardo PS- Open up the settings section (looks like a little cog wheel) and scroll down. The option is titled ‘Block Esc key’ and is the second last option (titled Block Esc key when editing). Set the value from No to Yes. Hope this helps!

  4. Thank you Dmitry for your valuable PM application!

    In trying to create new tasks I get an error message saying: “Unhandled exception has occurred in your application. If you click continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately. SplitterDistance must be between Panel1MinSize and Width.

    This is the “Exception Text”

    System.InvalidOperationException: SplitterDistance must be between Panel1MinSize and Width – Panel2MinSize.
    at System.Windows.Forms.SplitContainer.set_SplitterDistance(Int32 value)
    at System.Windows.Forms.SplitContainer.set_Orientation(Orientation value)
    at PortableKanban.EditBox..ctor(Task task, Boolean newTask, Boolean isCopy)
    at PortableKanban.Form1.EditTask(Task task, Boolean newTask, Boolean makeCopy)
    at PortableKanban.Form1.NewTask()
    at System.Windows.Forms.Control.OnMouseDoubleClick(MouseEventArgs e)
    at System.Windows.Forms.ListBox.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    I’m using Net 4.7 on a single-user environment.

    Please advise!

  5. Hi Dmitry,
    Missing column issue solved. I did not enable the new columns in the view editor.
    Thanks again for sharing your energy and time.

  6. Hello Dmitry, thank you for sharing this great tool.
    I just discovered a small but enoying bug: new colums defined in the config table are present in the pk3 file but they are not displayed. All other functions like rename or move work as expected.
    I double-checked this point on a new installation ( revision x866, win7) with the same outcome.
    It would be great if you could have a look on this issue.

  7. got an error in Edit Task

    Operation did not succeed because the program cannot commit or quit a cell value change.
    Was trying to make a subtask, and somehow delete/addtext and click the checkbox drove this.

    Not a high priority.

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.InvalidOperationException: Operation did not succeed because the program cannot commit or quit a cell value change.
    at System.Windows.Forms.DataGridView.set_CurrentCell(DataGridViewCell value)
    at PortableKanban.EditBox.addSubTaskStripButton_Click(Object sender, EventArgs e)
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
    at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ToolStrip.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    Assembly Version:
    Win32 Version: 4.6.1637.0 built by: NETFXREL3STAGE
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    Assembly Version: 4.2.6359.39866
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/PortableKanban.exe
    Assembly Version:
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/CommandLine.DLL
    Assembly Version:
    Win32 Version: 4.6.1637.0 built by: NETFXREL3STAGE
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    Assembly Version:
    Win32 Version: 4.6.1638.0 built by: NETFXREL3STAGE
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    Assembly Version: 4.2.6359.39865
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/PortableKanban.Data.DLL
    Assembly Version: 4.2.6359.39865
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/PortableKanban.Extensions.DLL
    Assembly Version:
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/ServiceStack.Text.DLL
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    Assembly Version:
    Win32 Version: 4.6.1637.0 built by: NETFXREL3STAGE
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
    Anonymously Hosted DynamicMethods Assembly
    Assembly Version:
    Win32 Version: 4.6.1637.0 built by: NETFXREL3STAGE
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Design/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Design.dll
    Assembly Version: 4.2.6359.39866
    Win32 Version:
    CodeBase: file:///C:/PortableKanban/Plugins/PluginsLibrary.dll
    Assembly Version:
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.Design/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.Design.dll

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  8. just starting with it. Spaceba.
    Maybe add an “About” tab in Setup with the site links, and take credit?

  9. Hi Dimitry, I would like to use your product, but can’t run it. I get this error: «Portable Kanban has stopped working» with Problem Event Name: CLR20r3. Any idea how to solve the issue, please? I checked other replies but can’t see a similar problem.

  10. Hi Dimitry. Thank you so much much for developing this awesome tool 🙂 I use it daily to keep me productive and help me not to forget things! I’ve been successfully running it in Wine on an Ubuntu laptop until recently but for some reason this just stopped worked when I updated to Ubuntu 16. Now whenever I run the .exe I get an error message saying “datafile is locked by another user…” 😦 I’ve tried deleting the pk3.lock file manually and setting the Auto Login attribute to True from a Windows machine but I still can’t get it to work. Is there any way to modify one of the package files to prevent the lock file from being created and bypass the error? Thank you

  11. How are the task files named?, is there a way to get them to assume the name of the task rather than the random string?

  12. Is there a way to create a new task with the topic set by default? I have views with only one topic and would be nice to have it set automatically instead of . If you forget to set it, you have to look for the newly created task to set the topic and see it in the view.

      1. Ok, but I’d like a default topic that is different for each view. For instance if I have two views, a Wedding Plan and a New House Plan, I’d like to create new tasks in the Wedding View with a Wedding topic as default, and similarly a new task created in the New House view should be with a House topic as default.

  13. A better task editor, than the actual “notepad”, would be a blast, and integrate with the email, a heaven.

  14. Hello, when i try to move a task from a column to another, I receive sometimes the following error:

    Failed to update data on :6379[0] Zero length response

    Any ideas?

    Thanks a lot

  15. Hi Dmitry,
    What a great application. I’m using this for tasks at home, school and work. However I’m wondering if there’s a way to add these tasks to MS Outlook?

  16. Hi Dmitry,

    I get this error message with the latest version. “PortableKanban.exe is not a valid win32 application”

    Is it a bad exe file or win32 is no longer supported?


  17. Brilliant application. I have made a Kanban on a USB and trying to open it this morning it states «Data file is locked by another instance of Portable Kanban. Try to restart once again later.» Any ideas?

      1. One more question is on relative file paths for the “files” folder. When I try and use a relative file path, it recognises the path, but wont save it as relative? So when i use it in another computer and the USB drive letter changes I have to reset the “files” directory. Cheers

        1. Figured it out. Changed “E:\\KanBan\\Files”,”UseRelativePath”:false to “Files”,”UseRelativePath”:true in PortableKanBan.cfg

  18. Dear Dmitry,
    thanks for these great piece of handy SW you provide with Portable Kanban. I just started to use it as a Kanban for team task & project management and it seems to fit to my needs.
    The only drawback that I’ve recognized, is that there’s no possibility (or at least I didn’t find it) to re-sort the order of the views. As in my use case the list of views will changes quite frequently, it would be useful to have somethink like «move up» and «move down» within the Views Properties tab. Is there a workaround already existing?
    Thanks a lot,

    1. When you’re in the Settins on the Views tab, you have right above the list of the views some Buttons to reorder the views.

  19. Is there a way to change the background color of a specific task card more easily than opening up the settings menu and changing the default? That option in the right click menu would be awesome.

  20. Hi Dmitry,
    I really like your application, best one i found that really fits my need. I only have one problem. I can’t add or edit any tasks since i tested the «h split» and «v split» option. I’m running on windows 10 with a local file install. I’m getting an error message who said something about SplitterDistance (i can’t see the rest of the message)
    It’s just a little issue, i can still manage to export my database and redo the install 🙂 But i don’t know how to fix it myself or to suggest a solution.
    thanks a lot for your work !

    1. I’ll investigate the issue. You do not need to export, import or reinstall PK, just remove cfg file to reset all the settings. Remember login and password before removing cfg file.

  21. Thank you so much! I have been looking for a downloadable desktop kanban board for a while now and I’m thrilled to find this. It looks great, intuitive and easy to open and go. Well done!

  22. Hi Dmitry,
    First thing is thank you very much for your wonderful app.
    Here is my situ: I have 10 persons to assign Tasks to. sometimes I assign the task only to one, sometimes to two persons or three.
    when I want to assign the task to more than one Person I miss this possibility. of course there is the Group solution but it would be nonsence to create a Group for every two or persons persons (no. of Groups would exceed 100 !).
    could you kindly advise how to work around this situ ?
    Thanks in advance,

    1. There is no workaround to define groups on-the-fly. If task is too complex it safer to split it and assign each part to only one responsible person. My experience says that it’s better to avoid using groups at all.

  23. Dmitry,
    Has anyone produced a importer for either FreeMind or from GanttProject? If not, I take that I would create a desktop VS project in C#.NET and drop the .dll into the plugin folder?

  24. Спасибо! Реально полезный инструмент. Было бы полезно сделать еще сплошную нумерацию задач.

  25. It would be utterly interesting to get and use a fully-feature editor when documenting the tasks (1. Task). At least font colours, styles, cases, … the colours are very important when applying kanban methods. Many thanks and good job. A very interesting tool.

  26. I use your kanban for my personal tasks home & business. I like it because it’s very easy and quick. I keep on onedrive site to access it from home and office. I see that app is made in .NET (or C#. Now I’m thinking, did you try somehow to compile it in linux? I’m thinking about putting a display and an SBC (like Raspberry Pi) on my fridge with my tasks :).

    On RPi also exist and Windows IoT, but I don’t know anything about it.

    Thank you again, it helped me to make order in my life :).

  27. I’m trying the tool out for management activities planning. It would be very handy to have a quick filter on every view to only show tasks assigned to the filtered person.

  28. Hi Dmitry. Excellent software. Is it possible to stop the timer one task and switch it to another task but without stopping the Pomodore timers. CTRL + F1 reset pm on the new 25-minute. I want to change the task without stopping the timer, and the time remaining to be added to the new task. I’m sorry, my English is bad.

      1. The problem is that each click on Ctrl + F1 resets Pomodore timer on the new 25-minute. Why? Regardless of a change task, you need to let the timer counts down to 25 minutes and only then to start the new 25 minutes.

          1. The problem I solved by changing the keyboard and now it works fine. With the preceding keyboard each click on Ctrl + F1 resets the timer on Pomodore is 25 minutes. Now it’s ok. I Thank Dmitry. An excellent software.

            1. I think it would be a useful option counter pomodoro spent for one day … or some kind of chart that shows Pomodore statistics for a given number of days.

  29. Hello, is there any way for the report columns to be modified, i would like to generate reports but there is a lot of information that i do not need.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s