stardance has been extended another month! the new deadline is october 31 :)

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

Mehmet

@Mehmet

Joined May 31st, 2026

  • 46Devlogs
  • 5Projects
  • 5Ships
  • 68Votes
For i in range(9999)
follower.add(Mehmet)
Ship

I made Timed, a productivity website that you can use to keep timers and get access to the real-life clock. It has a minimalist and satisfying UI that you can keep running in the background for when you need to complete temporal tasks.

  • 3 devlogs
  • 13h
Try project → See source code →
Open comments for this post

10h 16m 33s logged

I’m building Typd: a local dictation app. You hold a key, talk, and finished, formatted text appears wherever your cursor is. It runs entirely on your computer in under 2 GB of VRAM or unified memory, works offline, and it’s free.

Why: today’s best dictation apps need the internet, send your voice to the cloud, and ask you to trust whoever’s on the other end with it. And they’re genuinely great. Wispr Flow takes the messy things you say out loud and turns them into clear, well-formatted text. I wanted that without the cloud.

My first attempt was a basic Wispr Flow clone. NVIDIA’s Parakeet (a 0.6B speech model) transcribed locally, then a free cloud API cleaned up the text: removing fillers, fixing structure. Only half of it was local. The transcript still left my machine, and everything depended on my connection. Running the cleanup LLM locally didn’t work either: it needed more VRAM than my laptop had, spilled into RAM, and got slow.

Then I asked: why do dictation apps use two models at all? Every one that explains how it works, Wispr Flow included, describes the same pipeline: a speech recogniser, then a fine-tuned LLM that removes the “um”s, works out what you meant and writes it properly. My guess is that it’s just history. Good speech models and good LLMs both already existed, so apps glued them together.

From first principles, though, the job is simple: audio goes in, finished text comes out. A second model only adds latency, memory and failure points. So why not one model that hears you and writes the final text directly?

That’s Typd. I took an open speech model (Qwen3-ASR) and trained it so it doesn’t just transcribe, it writes: fillers and false starts gone, self-corrections resolved, lists and paragraphs where they belong. All the training so far ran on free GPUs. In blind tests on 66 of my own real dictations (judged by AI judges that didn’t know which app wrote what), Typd was preferred over Wispr Flow 27 times to 12, with 27 ties. It returns text about 0.4 s after I stop talking.

What I’m working on next: structuring long, rambling speech better, and never losing something you said when you correct yourself mid-sentence. The hard part is that big LLMs are good at this because they know so much. A model that can explain anything from the height of the Eiffel Tower to photon spectra can work out what you meant. It’s like having a professor help you write a letter. But you can’t run a professor on a laptop. So Typd teaches a small model just that one skill, distilling what big models do for dictation into something that uses a sliver of your computer.

Typd runs on Windows and macOS, 100% private, no internet needed. It comes in two sizes: a 1.7B-parameter version (about 2 GB) for machines that can spare it, and a lighter 0.6B version (under 1 GB) for everything else.

0
0
21
Open comments for this post

22m 36s logged

Added the second boulder and added masks onto the slime and boulders so that the game now knows when you hit a boulder!

0
0
15
Open comments for this post

21m 8s logged

Added a boulder that spawns at different gaps in front of you that you can jump over it. It doesn’t have a hitbox yet, so you won’t be penalized for landing on it, but you can jump over it using the spacebar.

0
0
24
Ship

I built Orbital, the all-in-one project that encompasses whatever you need from a 2D astronomical simulator.

When first loading it up, a window titled “Orbital” pops up, and you will see a star right at the center. You can change the window dimensions however you would like, whether fullscreen or resized small.

This is where the fun starts: I spent tireless hours implementing a slingshot mechanism where you can intuitively and easily launch “orbitals,” as I like to call them. You can think of these as small planets that you can send to orbit around each other and around bigger stars, masses, and objects that you create yourself. The starting star is just to get you going.

Controls and Features:
• Navigation: Use the WASD keys and/or arrow keys to navigate around this 2D world and find different orbits across the gigantic canvas. It does not have an end (unless you spend 10 hours of unemployment trying to find it, but I am sure you are not that stubborn).
• Mass Adjustment: Use the plus (+) and minus (-) keys to change the mass of the objects you throw into the simulation.
• Physics: It runs on full n-body physics; nothing is hard-coded and everything is dynamic. No matter how quirky and interesting your orbits are, they will be solely and originally yours.
• Visuals: The colors change up every once in a while. I really tried to make it as minimalist and physics-identifying as possible.
• Reset: Press the R key on your keyboard to reset the world and start from a fresh universe, marked by the reset star that kickstarts everything again.

I am really proud of the n-body physics because it was surprisingly manageable and cool to work on.

Where I really struggled was on advanced merging. Normally, if objects are touching, you can simply merge them. But when objects move super fast, one frame they are far away, and by the next frame, high velocity math teleports them right past or into the other object. If you slingshot a planet relatively fast, it could easily glitch and teleport through objects. To fix this, I had to calculate whether the path the object took from frame 0 to frame 1 intersected any other objects along its trajectory.

That was an especially hard, albeit depressing challenge, but nevertheless, it was encountered and defeated so you could enjoy astronomical bliss.

Thank you!

  • 16 devlogs
  • 17h
  • 12.19x multiplier
  • 201 Stardust
Try project → See source code →
Open comments for this post

1h 17m 14s logged

I updated the project. I was notified that it initially crashed on macOS, and the arrow keys were a bit janky on macOS as well. All of that has been completely fixed, and I’ve updated the readme and the latest code on GitHub to encompass those changes.

0
0
27
Open comments for this post

30m 50s logged

It’s shaping up. I added the characters, changed the title and the icon at the top left,

I’ve set my eyes on controls next.

0
0
13
Open comments for this post

18m 21s logged

Please format the following text to Markdown in your brain.

Blobbe, written B-L-O-B-B-E, is a platformer game that I’m making fully and entirely in Python, Pygame. I have no clue what Pygame is and how it works right now, but I’m gonna look into the docs, look at examples, and figure it out. I hope to build a very nice and cool platforming game to learn more about game development and Pygame itself.

Right now, I’ve built a color-changing rectangle that changes colors five times every second (so every 200 milliseconds). Here are screenshots of it. (I dont wanna open OBS)

0
0
33
Open comments for this post

25m 13s logged

Today I changed the title card of the window that pops up.

A few other updates:
• I tweaked the final game feel a bit.
• I made the initial spawning star spawn in a sort of light yellow color, and I also added that light yellow color to the colors list.
• I made sure that the window of the simulation is also in dark mode, so you get more encapsulated in it.

0
0
29
Open comments for this post

23m 4s logged

Added a background grid so that you get a sense of spatial bigness and tininess. You get a feel for how big and small your orbitals really are.

0
0
12
Open comments for this post

35m 53s logged

I finally got the complex merging done.

Before, when an orbital was going too fast, one frame it was at the back of another orbital, and the next frame, it was in front of it. Since its velocity was so high, the radii didn’t ever collide, so it just went through other ones without merging. That was really not acceptable, so I worked a lot on making sure it works.

How I did it is actually very interesting:

  1. Get the starting position of the moving object and its ending position on the next frame.
  2. Get the coordinates of the target object you want to check for a potential merge.
  3. Draw a line from where the moving object started to where it ended, and check if the target object is intersecting that line (calculating what percentage along that line the checked object sits).
  4. If it intersects, you merge them.
0
0
12
Open comments for this post

1h 57m 1s logged

Added some instructions to make it easier, added more colors, and I’m now working on making more rigorous merge logic.

0
0
11
Open comments for this post

42m 55s logged

Today I added zooming that works with scrolling up and scrolling down appropriately: when you scroll down, everything gets smaller, and when you scroll up, everything gets bigger. Mass and gravity, of course, stay the same.

I made sure that the sling function (basically spawning new orbitals) works flawlessly. Our aim function—which draws that mini press-and-drag indicator to make it easier to see where you are spawning orbitals—is also working with both camera differentiation and zoom differentiation.

This way, you can zoom all the way out and still spawn orbitals in the correct way, or zoom all the way in and spawn them super close up. All the physics and rendering works beautifully.

0
0
9
Ship

It started as a basic Python script and has now evolved into a premium, focused, and hyper-minimalist single-page web app.

Check out the live clock (with toggleable milliseconds), stopwatch with laps, and countdown timer complete with customized E-flat Major arpeggio bell chimes synthesized on the fly via Web Audio API. Also cleaned up the Python CLI tool to refresh inline and support hardware chimes.

  • 5 devlogs
  • 12h
  • 4.88x multiplier
  • 58 Stardust
Try project → See source code →
Loading more…

Followers

Loading…