Ежедневные Show HN

Upvote0

Show HN за 24 ноября 2025 г.

9 постов
536

I built an interactive HN Simulator #

news.ysimulator.run faviconnews.ysimulator.run
214 комментариев5:52 PMПосмотреть на HN
Hey HN! Just for fun, I built an interactive Hacker News Simulator.

You can submit text posts and links, just like the real HN. But on HN Simulator, all of the comments are generated by LLMs + generate instantly.

The best way to use it (IMHO) is to submit a text post or a curl-able URL here: https://news.ysimulator.run/submit. You don't need an account to post.

When you do that, various prompts will be built from a library of commenter archetypes, moods, and shapes. The AI commenters will actually respond to your text post and/or submitted link.

I really wanted it to feel real, and I think the project mostly delivers on that. When I was developing it, I kept getting confused between which tab was the "real" HN and which was the simulator, and accidentally submitted some junk to HN. (Sorry dang and team – I did clean up after myself).

The app itself is built with Node + Express + Postgres, and all of the inference runs on Replicate.

Speaking of Replicate, they generously loaded me up with some free credits for the inference – so shoutout to the team there.

The most technically interesting part of the app is how the comments work. You can read more about it here, as well as explore all of the available archetypes, moods, and shapes that get combined into prompts: https://news.ysimulator.run/comments.html

I hope you all have as much fun playing with it as I did making it!

86

Cynthia – Reliably play MIDI music files – MIT / Portable / Windows #

blaizenterprises.com faviconblaizenterprises.com
33 комментариев1:58 PMПосмотреть на HN
Easy to use, portable app to play midi music files on all flavours of Microsoft Windows.

Brief Background - Used midi playback way back in the days of Windows 95 for some fun and entertaining apps, but as Windows progressed, it seemed their midi support (for Win32 anyway) regressed in both startup speed and reliability. Midi playback used to be near instant on Windows 95, but on later versions of Windows this was delayed to about 5-7 seconds. And reliability became somewhat patchy. This made working with midi a real headache.

Cynthia was built to test and enjoy midi music once again. It's taken over a year of solid coding, recoding, testing, re-testing, and a lot more testing, and some hair pulling along the way, but finally Cynthia works pretty solidly on Windows now.

Some of Cynthia's Key Features: * 25 built-in sample midis on a virtual disk - play right out-of-the box * Play Modes: Once, Repeat One, Repeat All, All Once, Random * Play ".mid", ".midi" and ".rmi" midi files in 0 and 1 formats * Realtime track data indicators, channel output volume indicators with peak hold, 128 note usage indicators * Volume Bars to display realtime average volume and bass volume levels * Use an Xbox Controller to control Cynthia's main functions * Large list capacity for handling thousands of midi files * Switch between up to 10 midi playback devices in realtime * Playback through a single midi device, or multiple simultaneous midi devices with lag and channel output support * Custom built midi playback engine for high playback stability * Custom built codebase for low-level work to GUI level * Also runs on Linux/Mac (including apple silicon) via Wine * Smart Source Code - compiles in Borland Delphi 3 and Lazarus 2 * MIT License

YouTube Video of Cynthia playing a midi: https://youtu.be/IDEOQUboTvQ

GitHub Repo: https://github.com/blaiz2023/Cynthia

37

Yolodex – real-time customer enrichment API #

api.yolodex.ai faviconapi.yolodex.ai
23 комментариев2:02 PMПосмотреть на HN
hey hn, i’ve been working on an api to make it easy to know who your customers are, i would love your feedback.

what it does

send an email address, the api returns a json profile built from public data, things like: name, country, age, occupation, company, social handles and interests.

It’s a single endpoint (you can hit this endpoint without auth to get a demo of what it looks like):

  curl https://api.yolodex.ai/api/v1/email-enrichment \
    --request POST \
    --header 'Content-Type: application/json' \
    --data '{"email": "[email protected]"}'
everyone gets 100 free, pricing is per _enriched profile_: 1 email ~ $0.03, but if i don’t find anything i wont charge you.

why i built it / what’s different

i once built open source intelligence tooling to investigate financial crime but for a recent project i needed to find out more about some customers, i tried apollo, clearbit, lusha, clay, etc but i found:

1. outdated data - the data about was out-of-date and misleading, emails didn’t work, etc

2. dubious data - i found lots of data like personal mobile numbers that i’m pretty sure no-one shared publicly or knowingly opted into being sold on

3. aggressive pricing - monthly/annual commitments, large gaps between plans, pay the same for empty profiles

4. painful setup - hard to find the right api, set it up, test it out etc

i used knowledge from criminal investigations to build an api that uses some of the same research patterns and entity resolution to find standardized information about people that is:

1. real-time

2. public info only (osint)

3. transparent simple pricing

4. 1 min to setup

what i’d love feedback on

* speed: are responses fast enough? would you trade-off speed for better data coverage?

* coverage: which fields will you use (or others you need)?

* pricing: is the pricing model sane?

* use-cases: what you need this type data for (i.e. example use cases)?

* accuracy: any examples where i got it badly wrong?

happy to answer technical questions in the thread and give more free credits to help anyone test

16

I built an interactive map of jobs at top AI companies #

map.stapply.ai faviconmap.stapply.ai
5 комментариев6:08 PMПосмотреть на HN
I built a live interactive map that shows where top AI companies hire around the world. I collected this data for a hackathon project. Many ATS providers have a public API that you can hit with the slug of the companies to get open jobs. The hardest part was finding the companies. I tried Firecrawl but it returned around 200 companies per provider which wasn’t enough for me. Then, I tried SERPAPI but it was expensive. I ended up using SearXNG to discover companies by ATS type and fetch their job postings. This produced a large dataset of 200k+ jobs (I only use a subset as it would have taken too much time processing). A few days ago, I decided to build a visualization of the data as I didn’t know what to do with it and wanted people to benefit.

I kept catching myself wanting to ask simple questions like “show only research roles in Europe” or “filter for remote SWE positions” (and had plenty of free ai credits) so I added a small LLM interface that translates natural language into filters on the map.

The map is built with Vite + React + Mapbox. Live demo: https://map.stapply.ai GitHub (data): https://github.com/stapply-ai/jobs

Would love feedback, ideas for improvement, or contributions.

16

Axe - A Systems Programming Language with Builtin Parallelism and No GC #

axelang.org faviconaxelang.org
5 комментариев6:49 PMПосмотреть на HN
I'm writing a compiler for a systems language focused on concurrency and parallelism. It’s a re-engineering of a prior work, with an explicit emphasis on memory management and type safety, plus first-class parallel primitives at the language level.

The language is now capable of compiling a substantial portion of its own source code to tokens using a single-pass C back-end. The self-hosted compiler includes a handwritten lexer and a parser, with an arena-based allocator to support fast compilation and eliminate GC complexity.

The primary goals for the project are: First-class parallel and concurrent constructs built directly into the language, strong static memory and type guarantees, and a toolchain suitable for building high-performance software

Example:

  def main() {
      parallel local(mut arena: Arena) {
          arena = Arena.create(1024);

          val tid = Parallel.thread_id();
          val result = worker(ref_of(arena), tid);

          println $"Thread {tid} computed {result}";
          Arena.destroy(ref_of(arena));
      }
  }
You can find the repository here: https://github.com/axelang/axe