Back to projects

// Personal Trading Tool

Trade JournalCLI

A Python journal I built to give my weekly trade ideas and next-day plans a consistent structure, now being developed into a Flask web app with a basic interactive interface.

Python Flask HTML CSS File I/O

// The Story

Turning scattered trading notes into a repeatable process

As a trader, I wanted a quick way to record ideas without opening a large platform or rebuilding the same note format every time. Weekly scans and aftermarket plans contain different information, but both are easier to review when each entry follows a consistent structure.

I started with a Python command-line journal that saved formatted entries to local text files. I am now building a Flask version with separate forms for weekly ideas and aftermarket scans. The current UI is still basic, but it gives me a foundation for making the journal easier to use in the browser.

// Interactive Walkthrough

From a trade idea to a structured journal entry

This browser walkthrough recreates the weekly-idea flow. The real project runs locally and appends each entry to a text file with the current date and time.

Journal mode Weekly Trade Idea
Ready to log
Trade details Example entry
Journal.txt preview Waiting
Complete the form and press "Save Weekly Idea" to format the entry.

// How It Works

A simple journaling workflow

  1. 01

    Choose

    Select a weekly trade idea or an aftermarket scan based on the type of preparation being recorded.

  2. 02

    Enter

    Provide the ticker and the details needed for that journal mode, such as bias, catalyst, or key levels.

  3. 03

    Timestamp

    Generate the current date and time automatically so every entry records when the plan was created.

  4. 04

    Format

    Turn the submitted values into a labeled, readable block instead of storing unorganized notes.

  5. 05

    Save

    Append the completed entry to a local text file so earlier plans remain available for review.

Challenge

Turning a terminal script into a web workflow

The project began as a small command-line program, but I want to make the same process easier to use. While building the Flask version, I am learning how to connect HTML forms to Python routes, process submitted fields, and preserve the journal's existing formatting and file-saving logic.

What I Learned

  • How Flask routes receive and process form submissions.
  • How to separate entry formatting from the interface that collects the data.
  • How timestamps and append-mode file writing support a running journal.
  • How a personal workflow can become a practical software project.

Current Limitations

  • Runs locally and stores entries in plain text files.
  • Does not display or search previous entries in the interface.
  • Does not calculate trade performance or journal statistics.
  • The Flask interface is still in development and currently has only a basic UI.

Future Improvements

  • Store entries in a database instead of separate text files.
  • Add an entry history with search and filtering.
  • Track outcomes, profit and loss, and recurring setup performance.
  • Add authentication before making the journal available online.

// Source Code

Review the project and its work-in-progress Flask branch.

The repository shows the original journal and the basic Flask interface I am currently developing.