Top
Best
New

Posted by david927 3/30/2025

Ask HN: What are you working on? (March 2025)

What are you working on? Any new ideas that you're thinking about?
390 points | 997 commentspage 4
arcbyte 3/30/2025|
I'm working on a new Event Sourcing database that elevates the WAL into a first class application concept like a message queue. So instead of standing up a postgresql instance and a kafka instance and a bunch of custom event sourcing plumbing, you stand up this database and publish all your application events as messages. For the database part you just define the mappings from event to table row and you get read models and snapshots for free.

The real key here is how migrations over time are handled seamlessly and effortlessly. Never again do you have to meet with half a dozen teams to see what a field does and if you still need it - you can identify all the logic affecting the field and all the history of every change on the field and create a mapping. Then deploy and the system migrated data on the fly as needed.

Still in stealth mode and private github but the launch is coming.

kukkeliskuu 3/31/2025||
I have done similar for a few customers. I have found that useful pattern is to have both raw queues (incoming data) and clean queue (outgoing data). Outgoing data in single queue only (so all changes are ordered, so we avoid eventual consistency) that has well-defined data model (custom DSL for defining it) and tables/REST api that corresponds 1-to-1 to the data model. Then we need mappings from raw queues to the clean queue.
arcbyte 3/31/2025||
Interesting experience! Can you explain a bit more about the raw queues vs clean queues? Is it literally just incoming and outgoing queues or was there a problem that you were trying to solve?
Benjamin_Dobell 3/31/2025|||
Interesting. Sounds like a similar premise to Supabase Realtime. I'll keep an eye out.
dm3 3/31/2025|||
What would be the largest difference to Kurrent (former EventStore)?
sanderjd 3/30/2025|||
Sounds very useful! Looking forward to seeing how it turns out!
NathanFlurry 3/31/2025||
Neat! How does this differ from KSQL?
arcbyte 3/31/2025||
It was inspired by KSQL! But really KSQL isn't a database, it just gives you some sql processing. Nobody stands up Kafka and KSQL when they want database of any kind.

The difference is that I'm building a database and exposing the WAL to the application layer. What that means is that you can connect your legacy DB application and have it issuing insert and update queries which are now native messages on a distributed message queue. Suddenly you gain a conokete audit trail for your entities without brittle tables and triggers to track this. Then instead of hooking up Qlik or devezium, you can just stand up another instance of the DB, propagate the realtime WAL and you've got streaming analytics - or whatever new application you want.

dmos62 3/31/2025||
I'm working on a plaintext, decetralized, distributed (multi-device), trustless (multi-user), immutable, schemaless database that's syncable via SyncThing. The trustless part, fundamentally, comes from records being signed by the authors, each device/user keeping track of signatures (ids) seen, and each device periodically publishing all ids it's aware of: that seems to defeat all attacks or accidental corruptions I care about. My most demanding use case is multi-user expense tracking. Legal/financial document (a la google drive), family photo tracking (a la google photos) is also up there.

Also, I've recently picked up modeling my financial choices and circumstances in Python. Modeling uncertainty is especially interesting I've found. I might share the Jupyter notebook some time to get some feedback.

ZoeNews 3/31/2025|
As someone that uses Syncthing for pretty much all the usecases you mentioned that sounds very interesting! Do you mind sharing some details about the process so far?
dmos62 3/31/2025||
It's early days.

- It will work as a library that a tool (e.g. family finance tracker) would be based on;

- Every record will be immutable and undeleteable; the whole thing is space inefficient, though I've some mechanisms in mind for pruning away unnecessary records, and it's just plain text, so I'm not worried: should compress well; I wouldn't envision something like this working well on a very large scale though;

- Editing of preexisting records will be implemented as adding a new record that simply references the previous one as its previous version; also, you can implement a ledger by creating a parent-child chain (though the tracking of signatures I mentioned previously might be a simpler approach);

- I like the append-only model because it gives you history of edits for everything, and protects you in case of mistakes (or malice);

- You'll be able to collaborate on records (and the whole db) with other devices/people; every record will be signed by its author/device; conflicting edits (records marking the same record as their parent) will not be deconflicted automatically by the db: the high level app can choose how it wants to do that: throw up an alarm for the user, ignore the older fork, whatever;

- SyncThing-compatibility will be achieved by simply having each device only edit files specific to it; there won't be a single file that is edited by more than a single device/user, thus, SyncThing conflicts can't happen;

- The db will have fairly good guarantees: if it runs its checks and tells you all's good, you can be sure that records were not changed, there is not a new record masquerading as an old record, a record was not secretely deleted, records weren't reordered, another device didn't edit some other device's files, every record's author is its author;

- It was important for me to make the database easily editable and readable via regular text editors, i.e. not only plaintext, but text-editing-centric, but I've not found a way to do that at the lowest level; right now I'm contemplating using some variant of JSON for the records; however, I do envision a text-interface where the database, or a database query/subset, is rendered as a text file, and edits are automatically picked up by a daemon and translated into new records in the actual db, but that would be just another tool using this db, not a feature of the db itself;

- Like for anything synced via SyncThing, the user (or an app using the db) will want to implement some kind of backup (SyncThing is not meant for backups), unless the data is not sensitive to loss.

tomwojcik 3/31/2025||
Some time ago, I began searching for Python-related events and discovered that many PUGs (local Python User Groups) had disappeared sometime around COVID (at least my local PUGs). After analyzing the ones listed on the official Python website, I found only about 18% were still active, with most hosted on Meetup. This makes sense, as maintaining a community requires time and money, which small PUGs don't have. Meetup can be costly for those starting local Python User Groups, but it's very cheap for big communities. IMO Meetup is not the best place for PUGs, as they are not big by default.

PUGs need a way to communicate and broadcast, to be discovered, but it doesn't necessarily need all of Meetup's features. Also, PUGs probably don't want to be tied to Facebook or other social media platforms. It'd be best if they allowed a simple ownership transfer, once you get tired of organizing.

That's why I created https://pythonuser.group/ - a lightweight side project that, despite being rough around the edges, fulfills the core need: allowing people to discover PUGs worldwide for free. The platform costs me almost nothing to maintain. Allows to subscribe to local PUGs via RSS (not sure if it works). I'll add "export all my PUG data" once someone requests this feature.

It's the first time I share it with the world. Please don't treat it as prod-ready. Feedback welcome at hn@{username}.com

conductr 3/31/2025|
Good work, It looks promising. Perhaps feed it with some group info. If you're expecting people to just show up and list their events I don't think you'll get much traction.
tomwojcik 4/5/2025||
Thank you! I plan to add "sync with meetup" via API sometime in the future.
delduca 3/31/2025||
I’m slowly (on free time) working on my first commercial game for Steam in my spare time, using my open-source 2D engine named Carimbo.

See here: https://imgur.com/a/e3Xo9Io

Carimbo source code: https://github.com/willtobyte/carimbo

More information: https://nullonerror.org/2024/10/08/my-first-game-with-carimb...

ghoshbishakh 3/31/2025|
I can never wrap my head around game development. Respect. All the best.
Hormold 3/31/2025||
I'm building CAIL – an AI that makes and answers phone calls for you. You type what needs to be done – it calls, talks, waits on hold, asks questions, and sends you a summary. Kind of like a voice assistant, but for actual phone calls. Also built an AI voicemail agent – it can answer missed or declined calls, figure out what they wanted, book a meeting in your free calendar slot, or even mess with spammers if needed.

Started as a personal pain after moving to the US. Now works for both people and businesses. Built our own voice infra. iOS, Android for B2C, and web dashboard for B2B. Building full-time with my wife – just pushed the first version of the mobile app this week.

https://cail.io

ed_mercer 3/31/2025||
Very cool, but isn’t this illegal? https://news.ycombinator.com/item?id=39304736
kylecazar 3/31/2025|||
That's cool! I wondered about this recently -- I'd be pretty annoyed if an AI called me. I would most likely hang up immediately, regardless of what was said. Am I in the minority here? Is that feedback you've gotten before?

I do however think people would be more tolerant of an AI answering a phone call they made, I'm bullish on that half of the equation.

LandR 3/31/2025||
> I do however think people would be more tolerant of an AI answering a phone call they made

Absolutely not.

justanotheratom 3/31/2025||
sweet. how would you hook into my inbound phone calls?
Hormold 3/31/2025||
App in review right now in App Store & Google Play! I will send you a link to LinkedIn on release, but now you can try it in web ui on https://app.cail.io But on the web platform you need to deal with forwarding on your own, in our app we have a bunch of instructions for each carrier.
Benjamin_Dobell 3/30/2025||
I'm working on tooling to turn kids from consumers into creators. I'm focusing on game development initially, but have plans for video production and hands on crafts.

For younger kids I've modified Overcooked 2, a traditionally co-op game. I've replaced the second player with a visual scripting platform that allows kids to code their way through levels — worth noting I haven't removed co-op, there's still room for 2 other players:

https://www.youtube.com/watch?v=ackD3G_D2Hc

For older kids I've been making contributions to GodotJS, which allows you to build games in Godot using TypeScript rather than GDScript. GDScript is pretty nice, but I want to be able to teach kids skills that are more directly transferable to different domains e.g. web development:

https://github.com/godotjs/GodotJS/pull/65

I used to be Head of Engineering at Ender, where we ran custom Minecraft servers for kids: https://joinender.com/ and prior to that I was Head of Engineering at Prequel / Beta Camp, where we ran courses that helped teenagers learn about entrepreneurship: https://www.beta.camp/. During peak COVID I also ran a social emotion development book subscription service with my wife, a primary school teacher.

homarp 3/31/2025||
>I want to be able to teach kids skills that are more directly transferable to different domains

would the ability to pick up a new language/syntax be also a skill worth learning?

Benjamin_Dobell 3/31/2025||
Yes, absolutely, but we're talking about teenagers. I've no doubt they're capable of learning multiple languages. But teenagers are most constrained by the limited time they have available for extra curricular activities. If I was to teach interested kids a second language (and I'd like to), then it would probably be lower level so kids can learn about memory management etc.
homarp 3/31/2025||
I guess I did not explain myself well. the way I understand what you are saying is let's not teach them gdscript but TS instead. the rationale is, so they can do webdev also.

but my impression of the godot community is a lot of gdscript,some C#. So they would not easily be growing in the godot community and make games.

as for teenagers learning new languages, if i remember my teens, 200 years ago, learning new computer things was a thrill, not a chore.

and like I said earlier, I see the habit of picking up a new language a wonderful skill.

hope it is clearer. good luck with your quest of teaching kids to make their own games with godot.

codebje 3/31/2025||
I love your Overcooked mod.
ManuelKiessling 3/30/2025||
I realized that many seasoned developers do not yet grasp the power and productivity gains that tools like Cursor can not only provide to them, but ESPECIALLY to those that have a lot of experience and broad expertise.

Therefore, I‘m working on a mid- to longform blog post that details how precisely the competencies that senior developers and tech leads already have are the key to fully harness the potential of these tools.

And who knows, maybe I‘m going to develop this into some form of consulting or training side project.

glth 3/30/2025|
Interesting: I would love to read this article when it is published.
ManuelKiessling 4/3/2025|||
...and here you go:

https://manuel.kiessling.net/2025/03/31/how-seasoned-develop...

Feedback more than welcome!

wes-k 4/2/2025|||
Same!
ManuelKiessling 4/3/2025||
As per your request:

https://manuel.kiessling.net/2025/03/31/how-seasoned-develop...

koeng 3/31/2025||
I'm a synthetic biologist! And I think a big problem is physically executing biology programs.

I've been working on building a programming method for biology labs. Basically, it is a dynamic execution environment using lua that can have full rewind-ability (for complete execution tracing) and pausing - you can execute some code then wait a week or so to continue execution. The idea is you can have a dynamic environment for executing biology experiments where the route changes on the basis of outcomes - something I haven't really seen anywhere else. Then I focused a bit on the pedagogy of LLMs so that you can ask an LLM to generate a protocol, and then when you execute it and get unexpected results, it can automatically debug its own protocol using a code sandbox.

It all sounds decent in theory but the difference is I actually implemented it and ran a real biology experiment with it (albeit a simple one that I knew wouldn't work)

Demo here: https://github.com/koeng101/autodemo (probably watch the video)

Alex-Programs 3/31/2025||
Lots of things! I'm in a gap year.

To start with, there's https://nuenki.app. It's a browser extension that selectively translates sentences into the language you're learning, so you're constantly immersing yourself in text at your knowledge level.

I've also been working with a friend on a device to help blind people without light perception. I'm quite new to electronics. It's pretty simple, conceptually - a coin-sized device on the forehead that takes in the light intensity in a ~15 degree cone, then translates it into high resolution haptic feedback to the forehead.

The idea being that it means people without light perception can gain a sixth sense through neuroplasticity, with helps them navigate the room and understand their surroundings. We're planning on open sourcing the files. My mum used to teach blind kids, and there's been quite a lot of interest!

As for Nuenki, I'm pretty bad at marketing, so I'm doing a final lot of work to see if I can make it work financially - seeing if an exceptionally generous affiliate program will do the trick - before putting it on maintenance mode, since I have a small group of users who really like it. I'm burning through my gap year fast, and really want to focus on the electronics project, tutoring, and practicing maths for my physics degree.

wes-k 4/2/2025||
Just installed Nuenki, really excited to give this a try. Amazing how it can hopefully iteratively help me learn Spanish while I don't change my behavior much.
azan_ 3/31/2025|||
Nuenki is such a good idea, congratulations!
tudorizer 3/31/2025||
amazing!

I just installed it and enjoying the integration.

rubengt01 3/31/2025|
As a native Spanish speaker, I often used ChatGPT to improve my emails in English. It was very time-consuming having to type the same prompt multiple times in a day to set my writing style and format. That's why I decided to build an app to simplify my process. You can set the style and format just once, and with a single click, you can improve your text. You have the option to include the email thread or any relevant context for a more personalized improvement. Additionally, I've included features designed specifically for non-native speakers, like tone detection and the ability to request a few different alternatives for any word/phrase. And of course, you can talk directly with the AI to create a draft or modify the text. Check it out: https://talktext-ai.web.app/
vnce 3/31/2025|
Why not create a GPT
rubengt01 3/31/2025||
I experimented with it and was able to get everything I wanted, but it required many extra steps and prompts. For instance, my app automatically detects the tone of the message while I am typing, whereas in GPT, I need to manually request the tone after making any changes to the text.
More comments...