You are browsing as a guest. Sign up (or log in) to start making projects!

Bennett_Forcier

@Bennett_Forcier

Joined June 2nd, 2026

  • 19Devlogs
  • 2Projects
  • 2Ships
  • 15Votes
Hello :)
Ship

CLi Growth - v1.0.0

CLi Growth is a lightweight command-line tool designed to help forecast the compound growth of your custom stock portfolio based on real-world data.

Key Features

- Custom Portfolios: Build your allocation using real stock tickers (e.g., AAPL, TSLA) and exact percentage weights.
- Live Market Data: Automatically validates symbols and fetches historical performance via Yahoo Finance.
- Compound Forecasting: Projects future balances using your initial investment, contribution schedule, compounding frequency, and a 2.5% inflation adjustment.
- Terminal Visualizations: View formatted data tables and a portfolio growth chart directly in your command line.
- PDF Reporting: Export your complete projection and allocation breakdown to a PDF in your Downloads folder.

  • 6 devlogs
  • 9h
Try project → See source code →
Open comments for this post

2h 14m 55s logged

Project Update

Preparing for Release

This update focused on polishing CLi Growth and getting it ready for release.

  • Added an export feature so users can save their results to the downloads folder.
  • Patched bugs.
  • Improved the overall stability of the program.- Made some small tweaks and improvements throughout the project.
  • Updated parts of the README.md to be more accurate to the latest features and changes.
  • Performed final testing to make sure everything worked as expected before release.
0
0
3
Open comments for this post

2h 4m 43s logged

Project Update

Improving the User Interface

This update focused on making CLi Growth look much better in the terminal.

  • Added Rich to create a beatiful cli.- Added Plotext to display investment growth charts directly in the terminal.
  • Updated main.py and improved the look.
  • Improved the results display to make the output easier to read and understand.
  • Made the overall user experience feel much more like a complete application.
0
0
3
Open comments for this post

1h 12m 49s logged

Project Update

Improving the Calculation System

This update focused on improving the backend of CLi Growth and making the calculation system much more useful.

  • Fixed and improved the growth algorithm. The fix was much simpler than expected i basically just changed the timeframe from max to 10y.
  • Updated the program so users can enter an entire portfolio instead of only calculating one stock.
  • Added support for portfolio allocations, allowing each stock to have its own percentage of the portfolio.
  • Improved the overall calculation flow between main.py and computation.py.
  • Updated the README.md to better explain how the program works and how to use the new features.
0
0
4
Open comments for this post

52m 7s logged

Project Update

Building the Calculation System

This update focused on getting the main pipeline working. The algorithm is REALLY basic right now and the results are not horrendus but it definitely needs some work, but the whole system is “working” from start to finish so thats good :).

  • Created computation.py, which downloads historical stock data and calculates stock growth (via yfinance).
  • Created display.py, which displays the results in the CLI.
  • Fully connected main.py, computation.py, and display.py together.
  • Built the first “working” version of the growth algorithm.
  • Tested the full pipeline to make sure everything works correctly.
0
0
7
Open comments for this post

2h 8m 40s logged

Project Update

Making the Core Structure

This update focused on building the core structure of CLi Growth and creating a solid base for future development.

  • Created the logo and banner for the project.- Connected the project files together so each component can communicate properly.
  • Completed the first version of main.py, creating the main framework.
  • Created the base version of README.md, documenting the purpose of the project, features, installation, etc…
  • Organized the project structure to make future additions and improvements easier to implement.
0
0
5
Open comments for this post

36m 44s logged

Project Update

Starting Project Development

This update focused on planning out CLi Growth and starting a little bit of the main.py (did like 2 inputs).

  • Planned the overall structure and purpose of the project.
  • Began designing how the user will interact with the program through the command line.
  • Set up the initial project structure for future development.
0
0
5
Ship

# Project Kobon is finally shipped!!!

I made a Python project that searches for Kobon triangle line arrangements, saves the best results, and includes a viewer for loading and visualizing the generated JSON files. The hardest parts were getting the solver logic working, building the DearPyGui viewer, and then fighting with PyInstaller to make the .exe. I’m proud that it now has a full loop: run the solver, generate results, open them in the viewer, and share the app without needing Python installed.

  • 12 devlogs
  • 22h
  • 16.89x multiplier
  • 369 Stardust
Try project → See source code →
Open comments for this post

57m 29s logged

Finally Finished the EXE

After a lot of annoying PyInstaller issues, Project Kobon finally works as a standalone Windows executable!!! This definitely took way longer than the 57 minutes that actually got logged.

0
0
5
Open comments for this post

2h 41m 42s logged

Project Update

Adding Multi-Process Support

This update allows Project Kobon to run multiple instances of the solver at the same time, to find more possible solutions and allows the use of more CPU power.

  • Added multiprocessing so that multiple solver processes can run at the same time.
  • Split the work to be done by the solver into separate workers that will run independently of each other.
  • Each solver worker will search for solutions in different ways (due to using different random seeds).
  • The results from each solver worker will be collected and the best solution found will be selected.
  • A way to set the number of solver workers that will be used, depending on the available CPUs on the machine.
  • All results will be reported using the reporter.py script.
0
0
5
Open comments for this post

3h 24m 27s logged

Project Update

Finally Building the Viewer

This update focused on creating viewer.py. A lot of the triangle calculation code was able to be reused from geometry.py, which made development like 1000x easier and let me focus on building the interface.

  • Built the first working version of the viewer using Dear PyGui.
  • Added support for importing the JSON files generated by Project Kobon.
  • Added a visualizer that draws line arrangements and the triangles they create.
  • Added controls for switching between different saved results.
0
0
13
Open comments for this post

1h 8m 3s logged

Project Update

Improving the Main UI

This update focused on improving the UI of main.py.

  • Redesigned the terminal UI to make it cleaner and easier to navigate.
  • Made menu options more readable and easier to understand.
  • Improved the overall look of the program without changing its functionality.
0
0
12
Open comments for this post

1h 13m 13s logged

One small step for man, one giant leap for mankind

Ok, not really, but this is the first working version of my pipeline :)

This update focused on creating the reporting system and getting the different parts of the project working together.

  • Created reporter.py, which sends solver results to a Discord webhook.
  • Added support for saving the best arrangements as a JSON file.
  • Included information like the score, line angles, and line offsets in the output data.
  • Added a results summary showing the upper bound, line count, goal and top scores found by the solver.
  • Tested the full pipeline from generating arrangements to receiving results through Discord.

This is the first point in time where Project Kobon can complete a full run and produce a usable output. My next update will be building the viewer so the generated arrangements can be visualized instead of only being viewed as raw data.

Don’t even try to use the webhook URL. I already deleted it.

0
0
4
Open comments for this post

2h 57m 47s logged

Project Update

Adding Simulated Annealing

This update was mainly about adding simulated annealing to Project Kobon. Before this, the project could generate random arrangements, but it could not actively search for better solutions.

  • Created annealing.py, which contains the simulated annealing solver used to search for improved arrangements.
  • Connected main.py to the new solver so users can run simulated annealing directly from the program menu.
  • Updated some function names to make the code easier to read and maintain.
  • Added support for running the solver for a fixed number of iterations or until it reaches a target gap from the theoretical upper bound.
  • Tested the project on a freshly reset computer with a new installation of Python and C++. Everything worked correctly, showing that the project can be set up and run on a clean system.
0
0
6
Open comments for this post

5h 17m 32s logged

Project Update

Building the Geometry System

This update focused on developing the geometry system used by Project Kobon. This system takes an arrangement of lines, finds their intersection points, and counts how many Kobon triangles are present.

  • Developed geometry.py, which calculates line intersections and counts triangles in an arrangement.
  • Changed the project to use CPU-based calculations with NumPy.
  • Added requirements.txt to simplify installation of project dependencies.
  • Added a popup window to viewer.py for displaying information and instructions.
  • Updated README.md with project information, installation steps, and usage instructions.
0
0
27
Open comments for this post

1h 35m 12s logged

Project Update

Building the State System

This update focused on creating the state system used by Project Kobon. The state system stores line arrangements and provides a way to make small changes to them.

  • Created state.py and the LineState dataclass to store the angle and offset of each line.
  • Added createRandomState(), which generates a random arrangement of k lines.
  • Added nudge(), which creates a copy of an arrangement and randomly adjusts one line’s angle or offset.
  • Updated main.py to work with the new state system.
  • Tested the new functions to ensure line arrangements could be created and modified correctly.
0
0
23
Open comments for this post

35m 37s logged

Project Update

Creating the Viewer

This update focused on creating the first version of the project viewer.

  • Created viewer.py and set up a basic DearPyGui window.
  • Learned the basics of working with DearPyGui.
  • Added the ability to open a separate viewer window from the project.
  • Removed config.py because it was no longer needed.
0
0
17
Open comments for this post

58m 6s logged

Project Update

Creating the Main Program

This update I just built main.py, which acts as the main menu system for Project Kobon.

  • Created main.py and added the main menu system.
  • Added user input handling for selecting different program options.
  • Added basic input validation.
  • Added a simple way for users to configure solver parameters from the terminal.
0
0
17
Open comments for this post

24m 39s logged

Project Update

Writing the README

This update focused on creating the first version of README.md.

  • Added an overview explaining what Project Kobon is and its goal.
  • Wrote a description of the Kobon Triangle Problem and why it is still unsolved.
  • Added information about how the project relates to finding arrangements of lines with many non-overlapping triangles.
  • Began documenting how the project will be used and expanded in future updates.
0
0
21
Open comments for this post

36m 33s logged

Project Update

Setting Up the Project

This is my first devlog :) it will focus on setting up the initial structure for Project Kobon.

  • Created the project’s basic file and folder layout.
  • Set up the main modules that I will be using throughout development.
  • Added the initial imports and project structure.
  • Organized the codebase to separate the solver, theory, and viewer components.
  • Began planning how the different parts of the project will work together.
0
0
22

Followers

Loading…