Tools
Tools: Construct Note: A Local-First, Privacy-Focused Kanban Desktop App
2026-03-01
0 views
admin
What I Built with Google Gemini ## What I Learned ## Google Gemini Feedback This is a submission for the Built with Google Gemini: Writing Challenge I built Construct Note, a fast, local-first Kanban and task management desktop application. Many modern productivity apps rely heavily on cloud syncing and subscriptions, which can be a privacy concern for users who want complete control over their own data. I wanted to build a Trello-like application that lives entirely on the user's machine, offering the same rich drag-and-drop experience without the data leaving the local file system. What role did Google Gemini play?
I used Google Gemini as my AI pair-programmer throughout the majority of the development lifecycle. Gemini helped me: What worked well?
Gemini was surprisingly good at holding context of my project. I did not have to repeat myself too many times and I was able to actually progress much quicker in certain areas by having something to bounce ideas off rather than spending hours reading documentation and trying to figure out edge cases. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse - Frontend: React, Vite, Tailwind/Vanilla CSS, and @hello-pangea/dnd for fluid drag-and-drop mechanics.
- Backend / Desktop wrapper: Electron, Express (running locally inside the Electron main process), and better-sqlite3 for high-performance, synchronous database operations.
- Distribution: Packaged as a standalone Linux AppImage. - Unlimited Boards, Lists, and Cards.
- Full Markdown support for card descriptions (react-markdown).
- Checklists, Card Notes, and the ability to link/relate cards to one another.
- Card templates for standardizing repetitive task creation.
- Offline-by-default architecture: Everything is saved to a local SQLite database (constructnote.db) operating in WAL (Write-Ahead Log) mode for speed. - Architect the Application: I am very bad at planning, which is why I wanted my own little planning helper. Gemini helped me stay in scope and stick to a plan. I put my ideas into simple words and after a few prompts I was able to have a good folder structure to go by and an idea of the general layout with some good suggestions for imports.
- Database Design & Migrations: Gemini wrote the SQLite schema and helped incrementally add new features (like milestones and accent colors).
- Complex UI Interactions: It assisted in wiring up the React drag-and-drop logic for reordering both lists and cards, ensuring optimistic UI updates matched the backend database state when I encountered some bugs.
- Packaging and Compilation: When I ran into native Node module compilation errors trying to bundle better-sqlite3 for Linux, Gemini helped debug the build process and correctly configure the asarUnpack bindings. - Native Node Modules: I gained a better understanding of how native C++ Node modules behave when packaged into an .asar archive, and how to configure electron-builder to correctly rebuild them for specific target platforms.
- AI Pair Programming: Developing with Gemini changed how I approach roadblocks. Instead of spending hours scouring StackOverflow for edge cases (like React state mismatches during fast drag-and-drop reordering), I could bounce ideas off Gemini and implement robust solutions in minutes.
how-totutorialguidedev.toailinuxnodedatabase