<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tomas Woksepp</title>
    <description>The latest articles on DEV Community by Tomas Woksepp (@tomasw).</description>
    <link>https://dev.to/tomasw</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838178%2F508723eb-6685-4747-ba83-11d3dfa01aed.png</url>
      <title>DEV Community: Tomas Woksepp</title>
      <link>https://dev.to/tomasw</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tomasw"/>
    <language>en</language>
    <item>
      <title>Trello was too slow, so I built an instant-loading Kanban board from scratch</title>
      <dc:creator>Tomas Woksepp</dc:creator>
      <pubDate>Sun, 22 Mar 2026 11:19:47 +0000</pubDate>
      <link>https://dev.to/tomasw/trello-was-too-slow-so-i-built-an-instant-loading-kanban-board-from-scratch-3m3k</link>
      <guid>https://dev.to/tomasw/trello-was-too-slow-so-i-built-an-instant-loading-kanban-board-from-scratch-3m3k</guid>
      <description>&lt;p&gt;Hey everyone, I'm new here 👋 Long story short, I made an app called KanbanTab in 2020. I finished a huge update that I'm proud of, and I want to show it off. It's a browser extension &amp;amp; mobile app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;I had the idea to make Chrome's new tab load up Trello so I don't have to go to their website every time, so I installed a Chrome Extension to open my Trello board. It worked but I was a little bit frustrated at the loading times... Especially due to my internet at the time because I was stuck on a mountain in Malaysia due to Covid &lt;em&gt;(long story)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That's when the idea was born to make a web extension that can load my tasks instantly &lt;em&gt;(locally)&lt;/em&gt; instead of having to wait for Trello or other apps to load. I created KanbanTab and I used it myself for a bit, but later decided to release it to everyone which I released a few months later in 2020.&lt;/p&gt;

&lt;p&gt;Last year I decided it was time to upgrade it because I wanted it to work on my phone as well, and that's where I am right now. I added live sync between devices, and also End-to-End Encryption to keep the users data &lt;strong&gt;truly&lt;/strong&gt; private. &lt;em&gt;(The database data is always encrypted, but the client-side encrypted data is inaccessible even to me as the developer)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc6aip9f8w91nozr9iguw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc6aip9f8w91nozr9iguw.jpg" alt="Main view of KanbanTab" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes KanbanTab different?
&lt;/h2&gt;

&lt;p&gt;🔵 &lt;strong&gt;Instant loading:&lt;/strong&gt; it's local-first, using web workers and other techniques to make the data load instantly, while also relying on WebSockets to keep data synced between devices in real-time.&lt;br&gt;
🔵 &lt;strong&gt;Simplicity:&lt;/strong&gt; KanbanTab is not a project management tool, it's a personal productivity tool that aims to be simple to use, without unnecessary features that just bloats the UI.&lt;br&gt;
🔵 &lt;strong&gt;Privacy:&lt;/strong&gt; Privacy is important, and I don't want to worry about data breaches if they do happen &lt;em&gt;(knock on wood)&lt;/em&gt;. The End-to-End Encryption makes it so the data in the servers' database is completely unusable unless you have the keys that are only accessible on the client.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;p&gt;I code from scratch because I like lightweight applications, which is especially important for an app like KanbanTab since loading time is a huge factor for me, and my users. Here's what I use:&lt;br&gt;
🔵 &lt;strong&gt;Vanilla JavaScript / CSS:&lt;/strong&gt; No React or Tailwind, just clean JS.&lt;br&gt;
🔵 &lt;strong&gt;IndexedDB/LocalStorage:&lt;/strong&gt; For the local-first instant-loading.&lt;br&gt;
🔵 &lt;strong&gt;Python:&lt;/strong&gt; Running the backend with Flask for the API and WebSockets.&lt;br&gt;
🔵 &lt;strong&gt;MySQL:&lt;/strong&gt; For the main database.&lt;br&gt;
🔵 &lt;strong&gt;CryptoJS:&lt;/strong&gt; To handle the client-side AES-256 End-to-End Encryption.&lt;br&gt;
🔵 &lt;strong&gt;Capacitor:&lt;/strong&gt; To wrap the web app into a native Android application.&lt;/p&gt;

&lt;p&gt;Feel free to check it out - you can try it &lt;a href="https://app.kanbantab.com/" rel="noopener noreferrer"&gt;without signing up&lt;/a&gt; here, or check out the website that I finished today:&lt;br&gt;
&lt;a href="https://kanbantab.com" rel="noopener noreferrer"&gt;https://kanbantab.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No ads, no signup required, no huge paywall. Just a good ol' organically coded app 🤠 I currently have around 70 daily active users, but I'd really love to get some fresh eyes on it from other developers to help me take it to the next level.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
