MurphyA/hacker-news huggingface dataset:
My little SaaS made $239 in 7 days (Story)
by Sayyidalijufri | 2026-03-09 08:38:54+00:00
Hey HN,

This is the post I’ve been waiting 5 months to write.

I launched my very first real SaaS product last month, a Chrome extension called ScreenSmooth that automatically adds smart zoom-ins and buttery-smooth cursor animations to any screen recording.

Why I built it:

Every single time I needed to record a product demo, tutorial, onboarding video, or bug report, I got frustrated. Loom, Screenity, Kap, etc. were all missing the one thing that makes videos actually look professional: automatic, natural-looking zooms + smooth cursor movement. I was spending hours editing in CapCut after every recording. So I decided to fix it myself.

The build journey (the real stuff):

- I Started January 2025 as a complete beginner with Chrome extension APIs.

- Learned canvas manipulation, WebRTC screen capture, mouse-path smoothing algorithms, and AI-based action detection from scratch.

- Biggest technical challenge: making the auto-zoom feel human instead of robotic. I rewrote the easing + timing logic 4 different times until it stopped making people motion-sick.

- Second biggest headache: keeping 1080p/60fps recordings smooth on low-end laptops without crashing the browser. Had to switch from one video processing library to another at 3 a.m. one night.

- Built everything locally for speed and privacy — no cloud upload required.

I shared every single step (the wins, the bugs, the “I’m about to quit” moments) transparently on X @Sayyidalijufri.

Then one day Marc Lou (300K+ followers) randomly bought a copy, loved it, and posted about it. That single tweet sent the whole thing viral in the indie hacker community.

The results (proof inside):

Here’s exactly what the revenue has looked like over the past 7 days:

$239 in 7 days

+405% vs previous period

100% profit margin (because it’s a simple Chrome extension)

All from organic social media. no ads. no sponsorships. Lifetime revenue now over $434 and still climbing.

What I learned as a first-time founder

1. People don’t buy features — they buy “I finally look professional without editing”.

2. Transparent building in public is 10x more powerful than any marketing hack.

3. One influential user (Marc) can change everything.

I’m still shipping almost daily — yesterday just shipped v0.4 with better cursor alignment and export quality.

Link: ScreenSmooth.com - Chrome Extension Screen Recorder with Auto Zoom

Thank you for being the amazing community on HackerNews — this journey wouldn’t have happened without the motivation I get from reading all your posts
by Frieren | 2026-03-09 08:40:05+00:00
> For all the things it is easy to lament about the world, it’s disputable that we live in a time of abundance, medicine, knowledge, and opportunity

I do not think that for the west the problem is a lack of technology but a lack of opportunities.

When all growth goes to the top .1% the rest are left disfranchisement. Countries go to war without citizens consent, companies change contracts by sending a simple email and without recourse, draconian surveillance and break of privacy is accepted with a click... people does not just need food and entertainment, we need to be part of society and have a say on it. Inequality has removed that possibility.

We crave freedom and power to change things. Currently, our only freedom is to accept what we are offered or to get nothing.

A better world is possible, unionizing, collective agreements, more accountability from our political representatives, split powerful monopolies...

I like my phone and my computer. I like good movies and video games. But I need to be able to participate in society as an active actor not just as a puppet for the powerful.
by childintime | 2026-03-09 08:40:09+00:00
> That 'the system' is responsible for driving them to their actions ?

not the system, but the design of life itself we all sustain. the "system" is only a projection of it.

everything that happens in the world is your responsibility also, as you help make it happen. it's our world after all.

if something happens but is not supposed to happen, either the person made a mistake, or the design is broken and nudges to make it happen, or both. blame-the-person is the default strategy, but it doesn't lead to a better design, and it denies the plain reality that the design puts some people at the center, so they can party and are not to be bothered by the downsides of their actions, and others are pushed to the edge, and will fall off. by design.

you probably prefer to pay the police than to pay someone a meal so she doesn't need to steal and expose herself to the risk of killing someone. it's what people at the center would think, but it's not a good idea to give them power over the design of our lives that puts them first.

there's clearly worthless trash on both sides of the equation.
by keiferski | 2026-03-09 08:40:10+00:00
I guess I must be in the first group, because I can’t really understand how someone would find it insufferable. It’s basically just telling you not to be cynical about everything, and to notice that some things do indeed get better.

It reminded me of wabi-sabi, which essentially says you should appreciate the imperfection and impermanence of things.
by ben_w | 2026-03-09 08:40:13+00:00
Even with permission, I recently looked into getting a place built, and found a company offering to build them for "€100,000*", where the asterisk was: this does not include the land itself, land survey to find existing underground structures, earthworks needed before construction, utility connection costs, energy costs during construction, plastering, kitchen installation, bath or shower installation… add those in, and the €100k becomes around €500k with half the difference being the land.

The land costs in turn are, so far as I can see, mainly dominated by needing some kind of road there already. But I don't know if that's cost per se or a supply/demand thing setting price, with the difference being someone's
profit.
by karel-3d | 2026-03-09 08:40:26+00:00
I have no idea what am I reading

> Mycelium structures applications as directed graphs of pure data transformations. Each node (cell) has explicit input/output schemas. Cells are developed and tested in complete isolation, then composed into workflows that are validated at compile time. Routing between cells is determined by dispatch predicates defined at the workflow level — handlers compute data, the graph decides where it goes.

No still don't understand

> Mycelium uses Maestro state machines and Malli contracts to define "The Law of the Graph," providing a high-integrity environment where humans architect and AI agents implement.

Nope, still don't
by Gym-Berlin | 2026-03-09 08:40:31+00:00
A revelation is breaking. Behind closed doors in Kabul, China’s Special Envoy confronted the Taliban with accusations that cut to the bone of regional stability: whispers of a covert U.S.–Taliban pact, the silent march of ETIM militants through Afghanistan’s mountains, and the specter of ISIS striking at Beijing’s lifelines.
This is not diplomacy—it is suspicion sharpened into warning. China believes its Belt and Road ambitions are under siege, its citizens targeted, its corridors threatened. The Taliban’s denials ring hollow against the backdrop of suicide bombings and militant safe havens.
What emerges is a chilling narrative: Afghanistan as the stage of a hidden war, where alliances blur and shadows move against China’s future.
by _flux | 2026-03-09 08:40:45+00:00
That's now lower power, is it? E.g. RuuviTags can run 3 years or longer while sending sensor data 2.5 times per second, with a single CR2477 (3V 1000mAh). An single AA alkaline battery has 1.5V and 2100-2700 mAh (https://batteryskills.com/aa-battery-comparison-chart/ , somehow this data was difficult to find so I'll add this link :)).

Bluetooth is lower energy than WiFi, but in your scenario the energy used for the radio is quite low anyway.
by BrunoVT1992 | 2026-03-09 08:41:04+00:00
GUIDs / UUIDs are the most widely supported identifiers across databases, APIs and programming languages. However, many systems also use ULID (Universally Unique Lexicographically Sortable Identifier) as an alternative to achieve better time-ordering, improved database index locality and a more human-friendly encoding.

For the safest, standards-based choice, use GUID / UUID v4 (fully random) or GUID / UUID v7 (time-ordered for databases). Consider ULID only when you explicitly need its Base32 encoding and your ecosystem supports it.
by drbig | 2026-03-09 08:41:15+00:00
The most interesting is the realization that if the LLM's input is only the output of a professional (human), then by definition the LLM cannot mimic the process the (human) professional applied to get from whatever input they had to produce the output.

In other words an LLM can spit out a plausible "output of X", however it cannot encode the process that lead X to transform their inputs into their output.
by Grimblewald | 2026-03-09 08:42:06+00:00
Say i buy into your mysticism based take, is it a useful tool if it blows up in damn well near every professionals face?

lets say i accept you and you alone have the deep majiks required to use this tool correctly, when major platform devs could not so far, what makes this tool useful? Billions of dollars and environment ruining levels of worth it?

I'd say the only real use for these tools to date has been mass surveillance, and sometimes semi useful boilerplate.
by thinkingemote | 2026-03-09 08:42:22+00:00
The discussion about the LLM assisted/written submission at the time, with replies by the author: https://news.ycombinator.com/item?id=47055300 The defence given was essentially "just reformatted it for better grammar"

It's obviously says LLM to me at first read through.

I suspect that:

a) less people are willing to expend a bit of energy to notice LLM usage given how much of it is. ("we've lost" theory)

b) that people are losing the ability to detect LLM submissions. ("we're cooked" theory)

or c) that people are losing interest in quality HN generally, who cares. ("we're leaving" theory).

Personally I've been feeling c, because even the main users of the site are in a or b.

The litmus test needs to change.
by i_think_so | 2026-03-09 08:42:29+00:00
> In general, I push back on people saying "I can't find a good/legitimate use for this technology, therefore there are no good/legitimate use for it".

Is that genuinely what you think most of the complaints on HN are saying?

IMNSHO that's an absurd statement to make about the other side of the argument. I'm still giving the benefit of the doubt here but jeeze, this really smells like a strawman.

There are dozens of whole classes of criticism of these tools that I see made on HN, and none of them fall into the category you described.

Ex: Saying "juniors who rely on Copilot/Claud/etc become lazy and can create low quality code without learning how to do better" is night and day different from what you're saying. And that's a criticism that must be addressed or the entire global software industry will destroy itself in two generations.

Surely the difference between that and "we don't want anybody to use Grammarly in their subs that show up here" is completely obvious, yes?
by jug | 2026-03-09 08:44:54+00:00
I think it has more to do with LLM's being statistical models than human creativity lacking in the input. The creativity and millions of voices and tones may be there, but since these models tend to go for the most likely next words, polishing this away becomes a feature.

A text by a human mind may be seen as a jagged crystal with rough edges and character. Maybe not perfectly written but it's special.

An LLM takes a million of crystals and trims the most likely tokens to be chosen into what would rather appear as a smooth pebble; the common core of all crystals. And everyone using the LLM will get very similar pebbles because to the LLM, regardless who is speaking to it, it will provide the same most likely next tokens. It's not that creativity is lacking in the input, but the LLM picks the most commonly chosen words by all humans in given contexts.

For that to sound imaginative and great as you go, it would have to not only exist in the data, but be a common dominating voice among humans. But if it was, it wouldn't be seen as creative because it would be the new normal.

So I'm not sure how there's a good way out of this. You could push LLM temperature high so that it becomes more "creative" by picking less popular tokens as it writes, but this instead tend to make it unpredictable and picking words it shouldn't have. I mean, we are still dealing with statistical models here rather than brains and it's a rough tool for that job.
by stevekemp | 2026-03-09 08:45:37+00:00
I've had a flurry of activity working with emacs, breaking out some things that were previously "Steve stuff" inside my local configuration into real packages.

One thing that I've been very happy with has been "org-people", now on MELPA, which allows contact-management within Emacs via org-mode blocks and properties. It works so well with the native facilities that it's a joy to work on.

I've been learning a lot of new things while I've been expanding it now it has a bigger audience (e.g. "cl-defstruct" was a pleasant surprise).

https://github.com/skx/org-people/
by thomassmith65 | 2026-03-09 08:45:46+00:00
I had a new respect for him as a designer because he was able to articulate a rationale for his decision.

That would be more encouraging if Apple under Tim Cook didn't suffer from bad UX that sounds good when put into words.

Tim Cook and the other c-suite Apple execs have bad taste.

If they had better taste, they never would have approved text layout that automatically applies inconsistent kerning to squish long menu items into narrow spaces. It's a tasteless idea that sounds great when put into words.

Flat UI probably sounded brilliant as a spoken sales pitch: "We'll make the GUI honest, direct, elegant: the clarity of highway signage". In practice, the Scott Forstall era was both easier to understand, and prettier.

'Liquid Glass' probably sounded fantastic when put into words. Unfortunately, there are some implementations of a 'lickable' GUI that are tasteless.

Hope springs eternal for some people. I personally gave up on Apple shortly after SJ died.
by chrismatic | 2026-03-09 08:46:07+00:00
I am working on Grog, the “grug-brained” alternative to Bazel. Bazel has a very steep learning curve and is pretty much overkill for most medium-sized teams. Grog already powers all of our internal mono-repo CI and is a lot more fun to work with.

https://grog.build/why-grog/
by 7xd | 2026-03-09 08:46:27+00:00
Hey HN,

I built War Monitor (https://war-monitor.com), a platform that tracks conflicts and geopolitical events in real-time.

It ingests events from RSS feeds (BBC, Al Jazeera, Reuters) and Telegram OSINT channels, then uses AI (llama-3.3-70b via Groq) to classify each
event by category (war, terrorism, cyber, protest, disaster, diplomacy, economic), assign a 1-10 severity score, and generate a summary. Related
events are automatically grouped into conflict threads so you can follow how situations evolve.

Everything is plotted on an interactive 3D globe (Three.js) with real-time updates via WebSockets.

Stack: React, Three.js/R3F for the globe, Fastify, PostgreSQL + PostGIS, Redis, Prisma, Socket.IO, Docker. Monorepo with npm workspaces. AI
classification runs through an OpenAI-compatible API pointed at Groq.

No account required to browse. Free accounts unlock thread notifications with configurable severity thresholds.

Live at https://war-monitor.com — feedback welcome.
by imtringued | 2026-03-09 08:47:30+00:00
I think that dismissal culture makes no sense when it is aimed towards artists.

For me it is kind of hard to like the things I produce, because of the obvious egocentrism bias. Do I like it, because I like it, or do I like it, because I made it and had to sacrifice something for it?

When I'm judging other people's work and I like it, I consider that feeling to be more genuine, even if the creator outright panders to my preferences.
by stevekemp | 2026-03-09 08:47:31+00:00
I've been using one of the numerous "RSS to Email" programs for the past 20 years.

To me that's peak usability, I can use my mail workflow to have cross-device state, I can use my mail clients tagging and spam support to filter, and I have a reasonably good searching facility too.

Some sites only include "teasers" rather than full posts, but they're a minority.
by maxharrison | 2026-03-09 08:48:18+00:00
Been recently playing around with using LLMs and the promise of malleable software.

Published a demo/experiment under MalleableTodo [1] - and so far seen some pretty strange use cases...

Essentially, just allows each user to use an LLM to rewrite their own UI to add features/customisation.

[1] https://malleabletodo.app/
by zelphirkalt | 2026-03-09 08:48:18+00:00
Tricky! I often also guess wrong. But I noticed it has some bug. Sometimes I can click either option "AI Generated" or "Real" and nothing happens. Even if I click 10 times, still nothing happens. The buttons must have some broken event handling or something.

EDIT: Hm, I switched tab, away to write this comment, now that I switched back, it showed me that I clicked correctly. So it seems, that sometimes it just has huge delay in accepting my choice?
by mchaver | 2026-03-09 08:48:56+00:00
I took a look at it because you do PDF generation (I am doing front-end PDF generation in my project as well so I wanted to compare), not because I know anything about knitting or crocheting. I made a design, drew on the grid a bit, but was unable to export. I am not sure if I was missing something but it would be helpful to the user if there was a message in the export area about why they cannot export yet.
by rafaelmn | 2026-03-09 08:49:23+00:00
No it's more like if you knew how to build it before - LLM agents help you build it faster. There's really no useful analogy I can think of, but it fits my current role perfectly because my work is constantly interrupted by prod support, coordination, planning, context switching between issues etc.

I rarely have blocks of "flow time" to do focused work. With LLMs I can keep progressing in parallel and then when I get to the block of time where I can actually dive deep it's review and guidance again - focus on high impact stuff instead of the noise.

I don't think I'm any faster with this than my theoretical speed (LLMs spend a lot of time rebuilding context between steps, I have a feeling current level of agents is terrible at maintaining context for larger tasks, and also I'm guessing the model context length is white a lie - they might support working with 100k tokens but agents keep reloading stuff to context because old stuff is ignored).

In practice I can get more done because I can get into the flow and back onto the task a lot faster. Will see how this pans out long term, but in current role I don't think there are alternatives, my performance would be shit otherwise.
by deaux | 2026-03-09 08:49:38+00:00
> What’s the last principled thing you did?

Leaving a job for one that paid 3x less. And they weren't making automated killing machines (at least at the time, who knows now).

> Easy to point fingers, harder to practice what you preach.

Quite easy to practice what you preach, if you indeed have principles.

99% of people with families and mortgages manage to do so without OpenAI comp packages. It's a meaningless excuse, completely irrelevant.
by hedayet | 2026-03-09 08:49:47+00:00
"Does a launch make any impact if there's no audience?"

We've found most early-stage startups ignore social media until after a launch. Things like “$0 spent on ads” sound cool, but they don’t help if no one knows your product exists.

I'm building Appents to provide a done-for-you social media solution for startups.

Would love feedback: https://appents.com/
by aw1621107 | 2026-03-09 08:49:52+00:00
> I actually don’t see how this is any more beneficial than the existing no_panic macro

I think looking at the caveats listed in the no_panic docs should give you some ideas as to how a "proper" no_panic effect could improve on the macro.

Furthermore, a "proper" effect system should make working with effects nicer in general - for instance, right now writing functions that work independently of effects is not particularly ergonomic.

> The vast majority of rust programs don’t need such validation.

I think you also need to consider the niches which Rust wants to target. Rust is intended to be usable for very low-level/foundational/etc. niches where being able to track such effects is handy, if not outright required, so adding such support would be unblocking Rust for use in places the devs want it to be usable in.

> And for those that do, the Ferrocene project is maintaining a downstream fork of the compiler where this kind of feature would be more appropriate.

Given this bit from the Ferrocene website:

> Ferrocene is downstream from Rust

> It works with existing Rust infrastructure and the only changes made in the code were to cover testing requirements of ISO 26262, IEC 61508 and IEC 62304 qualification. All fixes are reported upstream for constant improvement.

I would suspect that such changes would be out of scope for the Ferrocene fork because that fork is more intended to be a qualified/certified Rust more than Rust + completely novel extensions.

> The compiler itself provides a powerful api via build.rs and proc macros which let downstream maintainers build their desired customization.

Given the complexity of the features listed this feels tantamount to asking each individual consumer to make their own fork which doesn't seem very likely to attract much interest. IIRC async even started off like that (i.e., using a macro), but that was painful enough and async thought to be useful enough to be promoted to a language feature.

I'm curious to what extent one can implement the described features using just build.rs/proc macros in the first place without effectively writing a new compiler.
by thowjofadf89234 | 2026-03-09 08:50:21+00:00
Price of a nation disagreeing from turning its people into lowly peasants of the Global Liberal Borg (TM)'s and not accepting its "assigned" role of satrap-y.

In contrast, look at the ignominious history in India (-n subcontinent) over the past millennia - whose moron elites are so deluded that they end up selling even more Anglo-American colonization in the name of decolonization.

Fascinating evolution of these two cousin nations.
by HendrikHensen | 2026-03-09 08:50:40+00:00
You can build quite an extensive profile of someone given enough post history. More post history means more details. Especially nowadays with LLMs it's trivial. This can lead to all sorts of issues. One is people I know in real life being able to identify me. Another is that through various means my account may be linked to my personal identity (e.g. through matching usernames or emails across platforms) and oppressive regimes (now or in the feature) may use my post history to take action against me.
by juliangmp | 2026-03-09 08:51:12+00:00
I mean, nothing stops you from taking the device tree from raspbian and tinkering with other distros. But that's true for most other boards since they have to ship a device tree with their official image.

Raspberry Pi supports their images long term however, so you won't have to do that anytime soon.

Another benefit of raspberry pi is its popularity, there are just more projects out there compared to less known SBC manufacturers.
Iirc the Archlinux arm project have images for the raspberry pi 4 (maybe 5).