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

Omar4lifex

@Omar4lifex

Joined June 8th, 2026

  • 19Devlogs
  • 3Projects
  • 5Ships
  • 65Votes
Open comments for this post

9h 31m 23s logged

Devlog #9 - MILO can create folders

Today I added Create Folder to M.I.L.O so now I can say: Create a folder called MILO FOLDER TEST and then MILO understands it, checks the location, then asks for confirmation before creating it. I added the new CREATE_FOLDER action to the AI and backend, plus Create / Cancel buttons in the frontend.{
“action”: “CREATE_FOLDER”,
“new_name”: “School”
}

I also added safety checks so it won’t create a folder if the name is invalid or something with that name already exists.

0
0
24
Open comments for this post

9h 0m 21s logged

Devlog #8 - Rename stuff

I spent around 9 hours working on one of the biggest upgrades to M.I.L.O so far: file actions.

Until now, M.I.L.O could find files and understand their contents, but it couldn’t actually do anything with them. I decided to start with Rename.

Now I can tell milo rename my spiderman ticket (pixedH1723.pdf) to spiderman ticket and it asks for confirmation and then renames it.

It remembers which file “it” refers to, asks for confirmation, and then renames it.
A LOT of bugs happened 😭The first problem was that M.I.L.O found the correct Spider-Man ticket but also returned completely unrelated files.

For example, it found:README.md
pixedH1723.pdf

The README contained the words “Spider-Man” and “ticket” because those words were used in an example inside the README.

After filtering README files, M.I.L.O still found random files like:

cd.txt
vintage-ticket-stub.md

because they contained generic words like “ticket”.I fixed this by improving the search scoring system so M.I.L.O considers the combination of important terms instead of matching one generic word.

For a query like: Spider-Man + movie + ticket M.I.L.O now gives much more importance to files that actually contain those concepts together.

I also added path filtering so M.I.L.O ignores internal development folders such as:

node_modules
.git
__pycache__
.local
.agents
.next

Rename itself had a bug too, the first Rename attempt crashed with: name ‘os’ is not defined because the rename code was using Python’s os module without importing it. That was fixed, and I also added protection so M.I.L.O doesn’t rename anything without confirmation, won’t overwrite an existing file, keeps the original file extension, automatically handles files that no longer exist, and remembers the last file found through conversation memory.

0
0
54
Ship Changes requested

M.I.L.O v1.0.0 is officially ready.

M.I.L.O is a local AI file organizer that lets you talk to your computer in normal language and find information inside your own files.

What’s included

  • Natural-language file search - ask MILO to find files and folders using normal chat.
  • Local AI - powered by Ollama and Qwen3:8b, which runs on the user’s own PC.
  • PDF reading - MILO can search normal text-based PDFs.
  • OCR - MILO can read scanned/image-based PDFs using Tesseract OCR.
  • Conversation memory - MILO remembers what happened earlier in the same chat, so follow-ups like “what file did you find?” work.
  • Chat history - create new chats and return to previous conversations.
  • Faster search - filename-first searching, ignored junk folders, and OCR caching make large-folder searches much faster.
  • Automatic setup - Start MILO.bat checks for Python, Ollama, Tesseract, dependencies, and the Qwen3 model.

Privacy

M.I.L.O is designed around local processing.

Your files stay on your computer, and the AI runs locally through Ollama instead of sending your files to a remote AI server.

Getting started

  1. Download MILO-v1.0.0.zip
  2. Extract it
  3. Run Start MILO.bat
  4. Let the setup finish
  5. Choose the folder you want MILO to access
  6. Start chatting

What’s next

v1.1 will focus on file actions, starting with things like renaming and organizing files.

  • 7 devlogs
  • 24h
Try project → See source code →
Open comments for this post

1h 52m 50s logged

Devlog #7 - Making MILO Much Faster

I spent almost 2 hours improving MILO’s search performance.
I found a pretty bad bug where searching a large folder like Downloads could take 7+ minutes because MILO was trying to process too many PDFs, including scanned PDFs that required OCR.
I changed the search system so MILO now does a much faster process:

      ↓
Check normal PDF text
      ↓
Only OCR likely scanned PDFs
      ↓
Cache the OCR result
      ↓
Return the result

I also added an OCR limit so MILO doesn’t try to OCR hundreds of unrelated PDFs:
MAX_OCR_CANDIDATES = 30
Another important improvement was OCR caching. Once MILO reads a scanned PDF, it saves the extracted text so it doesn’t have to OCR the same file again unless the file changes.
I also added more ignored folders like:

.git
__pycache__
.venv
.next
dist
build
.cache

This helped remove a lot of irrelevant files from searches.
After the changes, the Spider-Man ticket search that was taking several minutes became much faster while the scanned EduWW Verification of Enrollment PDF still works with OCR.

0
0
26
Open comments for this post

2h 23m 2s logged

Devlog #6 - Giving MILO Memory

Today I spent 2h 5m adding memory per-chat (since before that, even if it was the same chat, it could not remember the previous message I sent) + improved MILO’s conversation system.

I added per-chat memory so MILO can actually remember what happened earlier in the same conversation instead of treating every message like a completely new request.

For example:

Me: Find my Spider-Man ticket
MILO: I found pixedH1723.pdf
Me: What did I just ask you to find?
MILO: You asked me to find your Spider-Man ticket.
Me: Which type of file is it?
MILO: The Spider-Man Ticket is a PDF file

I added a backend chat_memory system that keeps information like the last command, action, query, found file, results, and file content for each individual chat.


def get_chat_memory(chat_id):
    if chat_id not in chat_memory:
        chat_memory[chat_id] = {
            "last_command": "",
            "last_action": "",
            "last_file": None,
            "last_results": []
        }

    return chat_memory[chat_id]

I also added a new CHAT action to MILO’s AI so it can answer normal conversational questions like “what did I just ask you?” instead of forcing everything into SEARCH or QUESTION.

Another improvement was passing the recent conversation history into Qwen3 so it has more context when interpreting follow-up messages such as “it”, “that file”, or “what did you find?”.

One of the reasons I added memory is because it’s the foundation for the next major feature which is file actions like Rename, where I can say:

Find my Spider-Man ticket

And then say:
Rename it to Spider-Man Ticket

instead of having to say the original filename like:
Can you rename “pixedH1723” to “Spider-Man”.

0
0
27
Open comments for this post

9h 44m 56s logged

#Devlog #5 - Making MILO Actually Usable (BIIIG Devlog Update)

TL;DR: M.I.L.O works for other pcs that have windows + added OCR so it can read scanned/image-based pdfs (demo below, the verification of enrollment was a scanned pdf and it found it!)

I spent 9h 44m working on MILO without a devlog lol.

I made a lot of progress toward making MILO usable by other people, not just on my PC (Only windows for now tho).

I added a setup (.bat file) system so MILO can automatically check for and install things like Python, Ollama, the AI model (qwen3:8b), and its required packages (if you don’t alr have them) on another Windows PC.

I also added OCR (Optical Character Recognition) support so MILO can read scanned/image-based PDFs instead of only normal text PDFs (planning to add OCR for images like png, jpg, etc…). I tested it on a scanned Verification of Enrollment document for my school and MILO was able to find it and read the contents.

I also improved the file search so it skips folders like node_modules, .git, __pycache__, and other junk folders that were causing completely unrelated search results.

There were a LOT of bugs during this update, like a LOT 😭, there was Python detection, pip SSL errors, Ollama model installation, broken PDFs, OCR not finding Tesseract, Windows Documents being redirected to OneDrive, search ranking issues, and more.

After fixing all of that, MILO can now run on another Windows PC (will make sure to test it again tommorow before shipping js incase), use that computer’s own files, search documents, read normal PDFs, and OCR scanned PDFs.

Demo is below! (the verification of enrollment was a scanned pdf and M.I.L.O found it using OCR)

Time to go to sleep now! (12:42 AM rn)

0
0
26
Open comments for this post

2h 33m 38s logged

Devlog 4 - HUGE update!

Made another big update to M.I.L.O today.

you can now ask M.I.L.O questions about the files it finds, instead of just finding them.

For example, I can ask:
“How much did I pay for my Spider-Man ticket?”
“What seats did I get?”
“What time does it start?”
“What’s the reservation number?”

and M.I.L.O reads the actual PDF and gives me the answer.

I also fixed a bug where MILO needed the exact words from the file to find the right information.

But now it can understand related words and questions.

0
0
7
Open comments for this post

2h 51m 5s logged

Spent pretty much the whole previous day fixing a bug with MILO’s file search 😭

I got it to the point where MILO can actually read the contents of files like PDFs and text files, instead of only looking at their names.

For example, I can say: “Find my Spider-Man Brand New Day VOSTFR 4DX Ticket” and MILO can actually read the PDF and find the right one even if the Ticket PDF is called “pixedH1723”.

It took way longer than I expected to get the search working properly, but it finally works!

Still a lot more to build, but this is a pretty big step for MILO.

0
0
13
Open comments for this post

1h 29m 5s logged

Devlog #2 - M.I.L.O

Made some good progress on MILO the past hour and a half.

I connected the AI to the file search system, so MILO can now understand normal sentences instead of needing exact file names.

For example, I can say:

“Find the folder which shows AI tools hype vs output

and MILO can understand what I’m looking for and find the correct folder.

It has a little bug tho, it can find multiple files with a specific keyword so for example it found another folder called “AI tools for each type of person” only because it has “AI” in it, so gonna work on that a bit later

Still a lot to build, but it’s starting to feel like an actual assistant now.

0
0
35
Open comments for this post

3h 23m 11s logged

Started building M.I.L.O (My Intelligent Local Organizer) today.
I ran into quite a few bugs while setting everything up, but I got the first part working. M.I.L.O can now scan a folder I choose and display the files and folders inside it along with the number of files/folders.
The AI commands aren’t connected yet, so for now it just receives the command. Next, I’m working on making MILO actually understand the command and search through the files.

0
0
40
Ship ✨ Blessed

Massive update for OmarOS! I completely overhauled the UI across all mini-apps with modern rounded edges, crisp window icons, and smooth fullscreen + minimize button animations so windows glide fluidly instead of just snapping. I also added a “Save as PNG” export button to the pixel art app so you can download drawings straight to your device, built a custom wallpaper upload feature using FileReader and localStorage so your background sticks around across page reloads, added a full File Explorer mini-app to browse through “My Projects”, and coded a brand-new Decision Wheel random decision maker app with custom option tags and an animated spinning loop. (Took a ton of debugging to get the layouts and animations behaving properly, but it looks so clean now!)

P.S: for the video test, see my latest devlog or try it out here: https://omar-web-os.vercel.app/

  • 1 devlog
  • 9h
  • 10.62x multiplier
  • 108 Stardust
Try project → See source code →
Open comments for this post

8h 31m 3s logged

Massive update for OmarOS! I completely overhauled the UI across all mini-apps with modern rounded edges, crisp window icons, and smooth fullscreen + minimize button animations so windows glide fluidly instead of just snapping. I also added a “Save as PNG” export button to the pixel art app so you can download drawings straight to your device, built a custom wallpaper upload feature using FileReader and localStorage so your background sticks around across page reloads, added a full File Explorer mini-app to browse through “My Projects”, and coded a brand-new Decision Wheel random decision maker app with custom option tags and an animated spinning loop. (Took a ton of debugging to get the layouts and animations behaving properly, but it looks so clean now!)

0
0
32
Ship

I added a new terminal app which has 9 commands (use -help to see them), this took me pretty long cuz I ran into a lot of errors, also changed the background cuz it looks better like this

Ship 3:

I added a new terminal app which has 9 commands (use -help to see them) and also changed the background

  • 1 devlog
  • 3h
  • 14.71x multiplier
  • 38 Stardust
  • WebOS 2
Try project → See source code →
Open comments for this post

2h 34m 12s logged

I added a new terminal app which has 9 commands (use -help to see them), this took me pretty long cuz I ran into a lot of errors, also changed the background cuz it looks better like this

0
0
144
Ship

This is version 2 of my OS:

New features:
Pixel art mini-app

What it includes:
Color picker, canvas, eraser, clear whole canvas, save your projects + access them

  • 4 devlogs
  • 4h
  • 2.98x multiplier
  • 10 Stardust
Try project → See source code →
Open comments for this post

1h 9m 7s logged

I fixed the canvas grid cuz the lines were kinda rectangular and not square, I added a save button and a saved projects dropdown (using localStorage), also made the “clear canvas” text just “clear” because it was too long and went out of bounds (Spent some very long time to adjust the 4 buttons to be aligned like for example the whole pixel art tab was taking up the whole screen at one point just because I made the width from 540px to 600px, almost ragequit lol)

0
0
123
Open comments for this post

55m 25s logged

I am now about like 95% done with the pixel art, I added the canvas grid, clear canvas + eraser button, I’m just gonna fix a bit of spacing between the color picker, eraser and clear canvas and then we should be good for the pixel arts tab

0
0
75
Open comments for this post

35m 53s logged

I’m now working on a new mini-app which is gonna be a pixel art canvas, I currently just added the icon, changed the color and border type, gonna make the actual pixel canvas soon

0
0
69
Open comments for this post

52m 28s logged

I fixed the border because before that I could just drag the button out and I would need to refresh the page to move it, so now I added a border. I used the “moveElement” function to constantly check the window’s position against the screen’s size and lock it to the edges if it tries to slide out of bounds

0
0
63
Loading more…

Followers

Loading…