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

yaasshh

@yaasshh

Joined June 1st, 2026

  • 48Devlogs
  • 6Projects
  • 5Ships
  • 83Votes
Ship

PartSourcer

Find the cheapest in-stock part for your PCB in one search.

Live at “part-sourcer.vercel.app”

Search any electronic component and get its stock, price, footprint and datasheet in one place. Every number is stamped with the moment it was read, so you always know how new it is.

Since my last ship, I’ve added a ton of new features and I’m continuing to add more every single day. I’m waiting on an LCSC API key, and once I get that, the website will finally be in its final stage.

Right now, it works incredibly well. I’ve worked on fine-tuning a lot of the website already, so I hope you guys like it.

No made-up stock or prices. If the data is stale, you get an error, not a number pretending to be fresh.

A part with no published price says “no price”, never $0.00. A zero would read as free and win every comparison.

Free, open source, no login, no paywall. MIT licensed.

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

10h 17m 12s logged

Devlog #24

The 2D bipolar transistor now matches DEVSIM. The main current is within 0.8%, the small control current is within 3.4%, and the full output curve is within 2.7%. That closes the transistor phase.

Next I added two new kinds of physics. The first is the Schottky diode (something which people use everyday), a junction made by touching metal straight onto silicon instead of joining two kinds of silicon. I also added a small effect where the metal pulls the energy barrier down a bit, which lets more current through. The second is avalanche breakdown. Push enough reverse voltage onto a diode and electrons get going so fast they knock new electrons loose, those knock more loose, and the current shoots up. It matches DEVSIM too, and both got their own pages on the site explaining them.

Then I changed the shape of the mesh. Up to now the simulator could only split a device into rectangles. Now it can use triangles, which fit curved and oddly shaped devices much better. It can also read and write mesh files from Gmsh, a free meshing tool, and add triangles only where the answer changes quickly.

I also added round devices, where it simulates a thin slice of something cylindrical and treats the rest as spun around a center line. That showed me something cool: curved junctions break down at lower voltages than flat ones, because the electric field crowds together at the bend. I never told it that.

0
0
35
Open comments for this post

1h 17m 25s logged

Devlog 7

Since the last devlog I’ve mostly been fixing things, because the free data source I use is still broken. Its search leaves out stock numbers for most filtered results, so I had to stop assuming those numbers exist.

The biggest fix was finding a part’s specs. Before, I only looked at the top 100 parts in its package, so some parts never showed up. Now I search for the part’s own value first, and a 10k resistor I couldn’t find before shows up fine.

I also made the site honest about missing stock. If the number isn’t listed, it now says “stock not listed” instead of “out of stock”. The cheaper swap finder used to throw those parts out. Now it double checks them before deciding. The browse page also stopped saying “top 100 by stock” when it has no stock numbers to sort by.

Smaller fixes: if a BOM row has a blank quantity, I now count its designators instead (R1, R2, R3 is three parts). This works on the site and in the command line tool. I also fixed a bug where a slow currency rate could overwrite the currency you had just picked.

I cleaned up the codebase too, removing old notes and leftover wording that read like a robot wrote it, and tidying the site copy.

I also wrote my answers for the LCSC API application. Now I’m waiting to hear back.

0
0
23
Open comments for this post

2h 9m 26s logged

Devlog #10

Since last time I’ve mostly been adding new physics, so here’s the list.

  • Momentum space: The Radial view now shows how fast the electron is likely to be moving, not just where it is. This one is exact math too.
  • Decay cascade: An excited hydrogen atom doesn’t fall straight to the bottom. It drops down step by step, and now you can watch every path it might take and how likely each one is.
  • Lasers: There’s a new laser panel where you shine light on the atom and watch the electron flip back and forth between two levels (these are called Rabi oscillations).
  • Relativity: For one-electron atoms you can now see the Dirac version of the wavefunction, which is what you get when you add Einstein’s relativity to quantum mechanics.
  • The proton radius puzzle: The nucleus isn’t a perfect point. It has a size, and that shifts the energy levels a tiny bit. Two different experiments measured the proton’s size and got different answers, and you can see both predictions side by side.
  • Antihydrogen: You can now make an atom out of antimatter. It matches normal hydrogen exactly, and the app explains why.
  • Nuclear mass slider: You can drag the nucleus mass anywhere from as light as an electron to heavier than tritium and watch the atom change as you go.

All of this is getting pushed to the live site now, so it should be up soon!

0
0
14
Open comments for this post

4h 9m 42s logged

Devlog 6

Since the last devlog I’ve been working through my list of 60 ideas.

Part pages got a lot more useful. Each one now has a price history chart, a hint about when a sold-out part might come back, and whether the part is still being made or is on its way out. Sometimes it also suggests a part with better specs for the same money, and now it can show up to three cheaper swaps instead of just one. Search results also get small badges when a price or stock level changes.

I added a currency picker, a watchlist for parts you care about, and RSS feeds that tell you when a part’s price or stock moves. For BOMs, you can now see whether buying everything from one store beats splitting the order between stores.

I also made tools for people who don’t want to use the website. There’s a developer page for the API, a command line tool that prices a BOM, a GitHub Action that posts your BOM cost on pull requests, and a KiCad plugin. I tested the plugin on real KiCad boards and found it was missing some part number fields, so I fixed that.

Other fixes: the BOM page works better on phones, the colors are easier to read, dark mode looks right, and downloaded BOMs can’t carry sneaky spreadsheet formulas anymore.

The free data source I use still has broken search, so I’ve started applying for the official LCSC API.

Fingers crossed it gets approved!

0
0
7
Open comments for this post

9h 18m 41s logged

Devlog #9

God Ive got a lot show since the last update.

First, the atom moves now. If you mix two states, you can watch the electron cloud slosh back and forth. Arrows show where the electron is flowing, and you can color the cloud by its phase.

I also changed the look to seem more natural and less AI, I added a plain white theme with a dark mode, grids on every graph, and buttons to save any graph as a picture or a spreadsheet.

Then I added a bunch of other features such as:

  • Potassium and calcium, the first atoms past argon. There’s a mini experiment showing why 4s fills before 3d, even when 3d is lower in energy.
  • A table that checks my calculations against real lab measurements for every atom from helium to calcium.
  • sp, sp2 and sp3 hybrid orbitals, the shapes chemists use for bonds.
  • Lines showing exactly where the electron can never be (nodes), and a scale bar in real units.
  • A “measure the electron” button that drops dots one at a time until they build up the real shape.

Some smaller things:

  • Every graph has a “Reproduce in Python” box with code you can copy.
  • Any number can be cited with one click.
  • You can export 3D models for printing.
  • Shared links now preview the actual orbital.
  • There’s an API guide, a changelog and a feedback link.

I also made the site faster by saving common results, and I fixed the phase colors so colorblind people can tell them apart.

I still need to test it in a browser and then deploy it so stay tuned for that!

0
0
61
Open comments for this post

9h 40m 27s logged

Devlog #23

The trick for the MOS capacitor worked. Making the electrons react faster put the slow wiggles at a speed the computer can handle, and the answers came out right. That FINALLY finished the AC phase. I also added noise, a tiny random jitter in current that every device has.

Next I added time. Now its possible to flip a diode from on to off and watch it recover. When you switch a diode off, it keeps conducting for a moment because of all the charge stored inside it. I compared that against DEVSIM, and our results were within 0.03% of each other which is quite frankly something im really proud off.

Then I added a feature where the simulator shows how inaccurate it may be. It now checks its own answer against a finer mesh and puts a little error bar on every point in the plots. It can also improve its own mesh by adding points only where they’re needed. On 5 of my 8 test devices it hit the target accuracy with fewer points than my hand-made meshes. I was aiming for around 6, so that’s still doable.

The newest addition is a bipolar transistor, where a small current into the middle layer controls a much bigger current through the whole device. I built a simple 1D version and a more realistic 2D one. The 1D version matches the textbook formula to within 0.03%. The best part is that its gain drops off at both very low and very high current, the way real transistors do, and I never told it to. It figured that out from the physics.

0
0
17
Open comments for this post

1h 57m 19s logged

Devlog #22

The long DEVSIM run finally finished. It took about 6 hours and matched the expert result almost exactly, which closes out the scoreboard phase.

Then I started the next phase, which is about AC. That essentially means wiggling the voltage back and forth and watching how the device reacts at different speeds. Before, my simulator could only handle super slow wiggles, or fast ones where I froze some electrons by hand. Now it can handle any speed.

To get there, I first taught the simulator how fast electrons and holes pile up or drain away over time. Then I wrote the part that works out how much current flows into each contact when one of them gets wiggled.

I tested it on diodes, since they have textbook formulas to compare against. A long diode matched within about 1%, and a short one within 1.3%. Along the way I found a bug where my mesh maker gave up on very long devices, so I fixed that too.

The MOS capacitor is giving me some trouble. At really slow wiggles, the math needs more precision than normal computer numbers have, so the answers came out wrong by up to 46%. Fast wiggles work fine. Right now I’m trying a trick where I make the electrons react faster, so the slow case happens at a speed the computer can handle.

Below are some of the DEVSIM scoreboard values

0
0
16
Open comments for this post

4h 49m 58s logged

Devlog #21

Since the last devlog I finished most of the temperature phases.

First I compared the diode at 400 K against DEVSIM. I saved that result so my other tests compare with it from now on.

Then I added two new sliders to the website. One sets the temperature, from 200 to 500 K. The other sets the fixed charge where the silicon meets the oxide. I picked both ranges by running the simulator across them. Each slider also has a short lesson that explains what it does. While I was writing those, I found some broken math formatting in the temperature lesson and fixed it.

The biggest addition is freeze-out. To make silicon conduct, we add extra atoms that give up electrons. When it gets really cold, those atoms stop giving up their electrons. Before, my simulator assumed they always did. Now there’s a switch for it, and it works. At 100, 200 and 300 K it matches the textbook formula almost exactly. I also checked that a plain frozen silicon bar still follows Ohm’s law, and that the capacitance results still work at 150 K.

0
0
28
Open comments for this post

4h 57m 47s logged

Devlog #20

In this devlog i firstly fixed up the website. It now has a little icon in the browser tab, a terms page, a privacy page and a footer with a contact button. The icon didn’t show up on the live site at first, so I fixed that too.

Then I started the next phase, which is all about fixing temperature related stuff. A lot of the calculations of the simulator took room temperature which might have led to some wrong calculations, so I’ve been fixing that.

The gate’s energy level was stuck at its room-temperature value. it was a real bug and its fixed now.
When the silicon gets hotter, electrons now max out at a lower speed, just like in real-life chips.
From 250 to 400 K, the junction’s built-in voltage matches the textbook formula.
From 300 to 400 K, the diode’s leakage current stays within 0.3% of the formula.

I also added a fixed charge that sits where the silicon meets the oxide layer. Real chips always have some, and it changes the voltage where a transistor turns on.

Next up are the big jobs. A long DEVSIM run is still going, and after that I’ll test the temperature effects on a full 2D transistor. I also still need to put the website changes live.

0
0
14
Open comments for this post

1h 37m 30s logged

Devlog #8

This update was mostly about cleaning things up.

Firstly, I went through the whole site with a checklist of things that make websites feel cheap or fake. I took out the gradients, made the rounded pill-shaped buttons and badges square, and replaced an emoji warning icon with a normal one. Then I added a Terms page and a Privacy page, linked at the bottom of the side panel. The privacy page explains what the app does and doesn’t track, which isn’t much. All of this was to remove any “ALL AI” msgs ive received

I also changed the license. AtomSim used to be MIT, which meant anyone could take it and sell it. Now it’s CC BY-NC 4.0, so people can still use it, share it and change it, as long as they credit me and don’t make money off it.

Every font on the site is now Poppins, and it’s bundled with the app so it doesn’t have to load from Google.

After that I reread all the text on the site and in the README and fixed anything that sounded robotic. That included a few curly quotes and one sentence that sounded like a press release. I also rewrote the line explaining “provenance” so it just says what it means.

All of that is live on the site now.

Next up is making the atom move. If you mix two states, the electron cloud sloshes back and forth at the exact frequency of the light the atom gives off. I’ve planned it out and I’m starting on it next. I also wrote down a big list of other ideas for later.

0
0
15
Open comments for this post

8h 1m 12s logged

#Devlog 5

After the security pass, I mostly worked on new features.

I added a Browse section, so you can look through six part categories without knowing a part number. Then I built a compare tray. You pin up to four parts from anywhere on the site and see them side by side.

I moved the site to Vercel with a database in Singapore. A small job now runs every night and records prices, so later I can show how a part’s price changes over time.

Search had some problems. The free data source I use started returning broken results, so I wrote up what was going wrong and reported it to the people who run it. I also stopped showing results that had nothing to do with what you searched, and I made the “part not found” message more clear. Now it says when a distributor just didn’t answer, instead of saying the part doesn’t exist. You can also sort results by price now.

The biggest new thing is BOM check. You paste in your whole parts list, or load a spreadsheet, and it prices every line at the quantity you need. It tells you which lines it skipped and why, and you can share the checked list as a link.

Part pages now show each distributor’s bulk pricing. There’s also a quantity box, so you see what you’d actually pay for 250 parts and not just one. If you click a part from your BOM, that box already has your quantity in it.

Next, I made a list of 60 more ideas and started building them.

0
0
16
Open comments for this post

7h 39m 38s logged

Devlog #19

The speed and robustness numbers are now saved on the scoreboard. On the first 8 benchmarks, my solver takes about 1.6x less time per bias point than DEVSIM. I also added a test that reads the README and fails if the README claims anything the data doesn’t back up (I hate getting 100% vibe code assumptions on my readme btw).

I renamed a lot of variables across the code (to pass the 30% ai rule that im apparently violating) to shorter names. That kind of change can break the tests if some of the variables reference each other across multiple files, so I checked that python turns the old code and the new code into exactly the same instructions. Thankfully it did.

I also moved all the settings into one file. Things like how many tries the solver gets, how small the mesh can get, and the server limits used to be scattered across about 20 files. I checked that every single value stayed exactly the same after the move. I also deleted the last few leftover comments.

Then I pushed everything. The tests ran on three Python versions, and 2,723 of 2,724 passed. The one that failed was a browser test on Python 3.11 that waited too long for the page to load. The same test passed on the other two versions, so it’s probably just a slow test machine, but I’m going to rerun it to make sure.

My laptop ran out of memory again, which stopped me from finishing the type hints in the tests. That’s next, once I’m not running a bunch of other stuff at the same time.

0
0
17
Open comments for this post

2h 9m 43s logged

Devlog #18

The robustness runs are almost done. Robustness checks a simple concept, if I give the solver a device cold, with no warm-up, does it actually finish? I ran 200 test cases through my solver and through DEVSIM, each in a few different setups.

The robustness numbers aren’t final yet. One DEVSIM result is still missing. The first time my laptop ran out of memory, and the second time it went to sleep overnight, so it’s running again now.

I also found out DEVSIM acts much differently depending on how many CPU threads it gets. With only one, some solves failed or took forever which was kinda interesting to see.

On the cleanup side, I turned on the strictest type checking across the whole project and fixed what it found. Every color on the website now comes from one file. I also deleted a bunch of old files nobody used and cut the README down.

0
0
17
Open comments for this post

4h 1m 34s logged

Devlog #17

I restarted the scoreboard runs, and before looking/mentioning any of the results I checked my own setup for DEVSIM. That showed a few bugs on my side. My starting guess for the voltage inside the device did a log of zero on heavily doped chips, so DEVSIM crashed INSTANTLY. I also wasn’t giving it enough steps to settle on some devices. I fixed both, because it wouldn’t be fair to count my mistakes as DEVSIM’s.

I also cleaned up the code, I tried to ship all progress so far but there was just too much AI (guilty) so I am working on redoing the python, css and javascript code again mainly from scratch.

(The image shows all the values from the DDSim tests)

0
0
19
Open comments for this post

2h 29m 3s logged

Devlog #16

Now that DDSim is live, my next goal is to make it better than DEVSIM, a free, open-source simulator a lot of people already use. “Better” doesn’t count unless I can measure it, so I planned out the next 11 stages of the project, and the first one is a scoreboard.

The scoreboard runs both simulators on the same set of devices and compares them in four ways: how often each one finishes a solve without crashing, how accurate the answers are, how fast they run, and what each one can do at all. Some of these runs take hours, and my laptop ran out of memory partway through, so I paused them. I’ll post the results once they’re done, even the parts where DEVSIM is better than mine.

While building the accuracy check, I found a bug in my own math. Sometimes it reported numbers that didn’t make physical sense, so now it throws those out instead of trusting them.

I also went through all the style files for the website. They’re about a third smaller now, and I checked that the page still looks exactly the same.

Then I found a small bug that had been there all along. The little “i” buttons that explain each setting were supposed to turn blue when you hover over them, but a different style rule was overriding it.

Last, I cleaned up the README again. The pictures are centered now, I took out the GIF, and I rewrote some of the text so it reads more naturally.

0
0
14
Ship Changes requested

I built DDSim, a program that simulates what happens inside the tiny parts that computer chips are made of, ie diodes, capacitors and transistors.

You describe a device by its shape and which parts of the silicon have extra electrons or holes. DDSim then works out how those electrons and holes move, and draws the current and voltage curves. I didn’t fit anything to make the graphs look right. Everything comes straight from the physics equations. (NOTE: ITS STILL VERY CLUNKY SO ITS NOT GOING TO BE PERFECT AS OF RIGHT NOW. IF YOU FACE ANY TROUBLES IM REALLY SORRY)

To make sure everything accurate, I checked it against textbook formulas and against DEVSIM, a simulator other people wrote. They agree to within a few percent, and the project has about 2,700 automated tests.

You can try it in your browser at ddsim.fly.dev. Pick a device, press solve, and watch the answer draw itself. Every button and graph has a little “i” that explains what it means, and there are guided lessons if you’re new to this.

It’s a school-level instrument, not a chip design tool. Below about 50 nanometers the physics it uses stops being accurate, so I didn’t go beyond that

  • 15 devlogs
  • 87h
Try project → See source code →
Open comments for this post

1h 40m 1s logged

Devlog #15

DDSim is FINALLY deployed and live! You can try it at ddsim.fly.dev

Getting it online took one extra step. The cheap shared server was too slow: the hardest transistor solve takes about 50 seconds on my laptop and would have taken around 7 minutes there. That’s past the 5-minute limit I set, so it would have been stopped every time. I moved it to a faster server, and now it finishes in under a minute.

Once it was up, I found a bug. When every contact on a transistor was at the same voltage, the picture still drew current flowing through it. That’s impossible, because with no voltage difference nothing moves. I fixed it, and now the page says “no current flows” instead of showing an empty plot with no explanation.

Then I rewrote the README from scratch. The old one was over 500 lines and way too dense. The new one is about 200 lines, mostly screenshots from the live site plus a few tables, so someone can see what the project does in a couple of minutes.

While doing that, I caught a mistake. One number in my results table didn’t match the graph right next to it. I reran the full simulation, which took 20 minutes, and fixed the table so it matches.

Last, I took the deployment files out of the public code. Anyone who downloads it gets everything they need to run it on their own computer, but not the setup for putting it online.

Next up, I might be thinking of getting a custom name for this simulator and my other atom simulator. If anyone knows where I can get free domains, lmk in the comments

0
0
34
Open comments for this post

2h 34m 44s logged

Devlog #14

Since then, most of my work has been getting DDSim ready for other people to use.

First I cleaned up the controls. Some sliders and number boxes let you pick values that made the solver fail, which just showed up as a red error. I went through the diode, the MOS capacitor, the transistor and the draw-your-own device and found the range where each setting actually works. The sliders now stay inside those ranges, so a beginner can’t break things by accident.

Then I cleaned up the code. I deleted about 2,400 lines of comments that just repeated what the code already said and kept the ones that explain something nessessary.

Next came the writing. The site has about 40 short articles that explain the physics, and a lot of them sounded stiff, so I rewrote all of them. I did the same for the project docs, and on the way I found a few places where the docs no longer matched what the code does, so I fixed those too.

Now I’m working on putting it online. I picked Fly.io to host it, and I’m hoping to get a free custom name. Since anyone will be able to use it, I’m adding some safety limits first. Only a couple of solves can run at the same time, old results get cleared out after a while, and a solve that runs too long gets stopped with a message explaining why. I tested each limit by breaking it on purpose to make sure the test catches it.

It isn’t live yet, but it’s close!

[lazy pic, i dont wanna open server again :( ]

0
0
25
Open comments for this post

1h 54m 58s logged

Devlog #13

This one is all about the page itself. The physics didn’t change, but you’ll notice everything else did.

I rebuilt the whole look from scratch. The old version was only friendly if you already knew semiconductors, and I want someone who has never heard of a diode to open it and get somewhere. Now it opens by asking you to pick a device: a diode, a MOS capacitor, a transistor, or draw your own. Each one comes with a sentence or two on what it is. Every number and switch has a little “i” next to it that explains it, and an empty plot tells you what it’s waiting for instead of sitting blank.

Drawing your own device used to happen in a tiny box off to the side. Now it gets the whole screen. Some layers are so thin they basically disappeared, so I stretch the picture up and down until you can see them, and a label says when it’s stretched. Doped areas get a soft color so you can tell them apart.

I also changed the font a couple of times. It started in a terminal style that felt cold. I tried one replacement and ended on Poppins, which just feels warmer.

My favorite change is in the runs panel. It used to list your old runs as text, like “doping 1e17.” Now every solve saves a little picture of its own curve, and they all share the same scale, so you can see at a glance how each change moved the result.

I switched the license to CC BY-NC so that it still stays technically open source but I own intellectual property for commercial use. Anyone can use it and change it for free, as long as they credit me and don’t sell it.

A bit of AI usage in the frontend i will agree but not overkill in terms of it.

0
0
16
Loading more…

Followers

Loading…