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

Diego

@Diego

Joined June 2nd, 2026

  • 8Devlogs
  • 3Projects
  • 0Ships
  • 0Votes
Incoming Grinnell College Freshman
Open comments for this post

4h 0m 37s logged

This is a project I have been working on the past few weeks, and well I forgot to post some devlogs, so I am combining all the time I’ve logged now, and the devlogs for roughly each one (to two) hours of work. I wrote them, but didn’t get around to publishing them.

Devlog 1:
Got Llama 3.1 8B running fully on-device — compiled llama.cpp from source with Metal GPU support so it uses my macbook pros M2’s GPU instead of just CPU. Hitting ~22 tokens/second locally, which means JARVIS can actually (surprisingly) respond fast enough to feel usable, not just technically functional. The best part: zero API calls, zero internet dependency — the model, the compute, all of it lives on my machine, so I can essentially run it anytime, anywhere. This is the foundation the whole “fully private” pitch depends on, so seeing it actually work in real time was a genuine “okay, this might actually work” moment.

Devlog 2:
Scaffolded the VS Code extension today and hit a string of small-but-real blockers back to back. The worst one: VS Code silently failed to launch my debug session with Invalid problemMatcher reference: $esbuild-watch — turns out the scaffolder had recommended installing an extra VS Code extension for esbuild’s error format, which I’d skipped (rookie mistake lmao). Also had to manuever my way out of an accidental nested jarvis/jarvis/ folder structure before it got confusing later, and forgot to import a new file I’d split code into, which quietly broke the whole build. None of these were hard once I found them — but they added up to a solid hour of “why isn’t this working” before I learned to actually read the scaffolder’s warnings instead of skipping past them.

Devlog 3:
Got JARVIS technically working — right-click, ask a question, get an answer back from the local model. Then I actually tried using it and hated it cus it sucked (to be expected this early on): responses showed up in a showInformationMessage() popup, which cut off long answers and had zero conversation history. It worked, but it felt like a demo, not a tool I’d actually reach for. So I scrapped the popup and built a proper JarvisPanel webview instead — real HTML/CSS/JS chat UI with conversation memory, which is what JARVIS actually looks like today. Lesson that stuck with me: a feature that technically works but feels bad to use is still broken.

0
0
1
Open comments for this post

47m 18s logged

Today I spent a lot of time reorganizing things. I took my anomaly_detection.py file, and removed it from the scheduler. This was because the scheduler.py file ran this and the ml_models.py time every hour on the hour. So instead I added the anomaly_detection.py file to the ml_models.py, so now it runs that, and then the scheduler runs the models file, which then runs the anomaly detection file, so its all in one complete loop:

every hour: scheduler -> ml models -> anomaly detection

Because of this change I was able to add the anomaly detection (Isolation Forest algorithm) as a feature for all the models I was training: the random forest alg, neural network, and linear regression model.

0
0
1
Open comments for this post

25m 36s logged

day whatever Building the Market Simulation Clock

Today I implemented two core pieces of the MarketSim AI simulation engine: step() and get_history().

The biggest challenge in this project is preventing future data leakage. The trading agent must only see information that would have been available on the current simulated date.

To support this, I created a trading calendar system based on historical SPY market data. Instead of manually adding one day at a time (which would break on weekends and holidays), the simulator follows actual market trading days. The new step() method advances the simulation exactly one trading day forward by moving through this calendar.

I also implemented get_history(), which acts as a security layer between the agent and the raw market data. When historical data is requested, the method filters the dataset to include only dates up to the current simulation date before returning the requested lookback window. This ensures the agent can never accidentally access future information.

Example:

history = env.get_history(
    "AAPL",
    lookback_days=30
)

returns only the previous 30 trading days that existed at that point in time.

Along the way I added unit tests to verify:

  • Environment creation
  • Trading-day advancement with step()
  • Historical data retrieval
  • Prevention of future-date access

Current project status:

✅ Data download pipeline
✅ Data cleaning pipeline
✅ DataLoader
✅ MarketEnvironment
✅ Trading calendar system
step() simulation advancement
get_history() future-leakage protection
✅ 7 passing tests

The simulator can now move through history one trading day at a time while enforcing realistic information constraints—the foundation needed for future trading agents.

0
0
2
Open comments for this post

47m 19s logged

Today I worked on various things. I worked on the data loader python file. Ensuring that all the tickers were clean, and processed and then loaded. Then I worked on the market environment python file. This is arguably the most important file because I need to make sure that no future data can be seen by it. After that, I created tests for both the data loader, and the market environment to make sure I am writing production quality code.

0
0
2
Open comments for this post

1h 50m 14s logged

Wow well today was a lot of work. Today I added some more models to my ml_models.py file, but more importantly I changed the logs on it. Then I serialized the models to the disk. After that I redid the QuickChecks.R file because I realized I was struggling to be able to view each dataset to see what data I was collecting and how I was doing. Then I saved the model performance metrics and was able to view them. A lot of busy work today.

0
0
1
Open comments for this post

51m logged

Today I spent the majority of my time loading my data. This means downloading the raw data from Yahoo Finance. Then I realized it came in a format I didn’t want. So as you can see below, I spent some time cleaning it up.

0
0
2
Open comments for this post

58m 14s logged

Today I spent a lot of time working on organizing all my files and getting the correct architecture structure set up. Very boring indeed.

0
0
3
Open comments for this post

1h 10m 58s logged

Today I worked on adding a Random Forest Classifier to my list of prediction models being run by this python script to test if I can predict if a earthquake will be over or under 5.0 magnitude.

0
0
2

Followers

Loading…