Inspiration

Repeated practice works best when the next action remains visible. However, useful corrections and practice goals are often hidden in a text file, browser tab, or another application. Reopening those notes between attempts interrupts concentration, while relying on memory makes practice inconsistent.

I created LoopNote to keep the most important instruction visible without disrupting the practice flow. Although the initial idea came from fighting-game training, the same problem appears in music, language learning, creative work, fitness, and other forms of deliberate practice.

What it does

LoopNote is a private, local Windows desktop practice companion.

Users create structured practice notes containing objectives, steps, priorities, proficiency levels, tags, and review dates. They can select up to six notes and display them as a persistent desktop overlay.

The overlay can:

  • Stay above other windows
  • Appear on a selected monitor
  • Be moved and resized
  • Change opacity, colors, and text size
  • Ignore mouse input through click-through mode
  • Be shown or hidden with global keyboard shortcuts

After a practice session, users record the outcome. LoopNote updates proficiency and schedules the next review date. Smart suggestions help surface useful drills, while ZIP backup protects the local database and settings.

The interface supports both English and Japanese. LoopNote requires no account, cloud backend, API key, or telemetry.

How we built it

LoopNote combines a FastAPI backend and SQLite database with a dependency-free HTML, CSS, and JavaScript management interface.

A Tkinter desktop runtime renders the persistent overlay. The local API communicates with that runtime through a thread-safe command queue, allowing settings and visibility changes to appear immediately without restarting the application.

Windows integrations provide global hotkeys, multi-monitor support, system-tray controls, optional startup registration, click-through behavior, and wallpaper support.

I defined the problem, product direction, priorities, user experience, and final acceptance criteria. Codex with GPT-5.6 assisted with architecture, implementation, debugging, code review, automated tests, localization, repository auditing, documentation, and submission preparation. I tested the application and retained responsibility for the final product decisions.

Challenges we ran into

One challenge was keeping the Tkinter interface responsive while running the local web server and desktop integrations together.

Multi-monitor support also required careful handling because monitors can use negative coordinates in the Windows virtual desktop. The overlay must remain visible and recoverable after being moved or resized.

Click-through mode introduced another usability risk: once mouse input is disabled, users still need a reliable way to regain control. Global hotkeys and tray commands provide that recovery path.

Other challenges included updating the overlay immediately when notes change, migrating the SQLite schema without deleting existing data, supporting two interface languages, and preparing a public repository without exposing private information or proprietary game assets.

Accomplishments that we're proud of

LoopNote provides a complete local workflow: create a practice objective, select the notes that matter now, display them persistently, record the result, and bring them back at the appropriate time.

The project is more than a visual prototype. It includes working persistence, review scheduling, multi-monitor behavior, hotkeys, tray controls, backup and restore, bilingual presentation, automated tests, and clear documentation for judges.

I am also proud that the core experience remains private and lightweight. Users do not need to create an account or send their practice data to an external service.

What we learned

Building a useful desktop utility requires more than implementing its main feature. Safe recovery paths, immediate feedback, startup behavior, data preservation, accessibility, and clear setup instructions are all essential parts of the product experience.

I also learned how effectively Codex with GPT-5.6 can support an iterative development workflow. It helped connect product requirements to implementation, identify edge cases, review changes, and prepare the project for public evaluation. Human verification and clearly defined product decisions remained essential throughout the process.

What's next for LoopNote — A Desktop Practice Companion

Next steps include creating a signed Windows release, simplifying installation, expanding accessibility and display-scaling tests, improving localization, and adding customizable review policies.

Future versions could also offer reusable practice templates, more flexible overlay layouts, optional data visualization, and safe import and export between devices while preserving the local-first design.

Built With

Share this project:

Updates