Hacker News

Best stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. When did Google get so weird? (sancho.bearblog.dev)
    462comments
  2. Breaking Up with Google Play: Why Conversations Is Now Free (gultsch.de)
    288comments
  3. Unsealed Briefs in Authors’ Case v. Microsoft/OpenAI (authorsguild.org)
    594comments
  4. I'm the mom in that viral Giants clip. Let me tell you about my husband (themomoftheyear.substack.com)
    235comments
  5. Fifteen years later, the Apple Cards origin story (lexontech.org)
    114comments
  6. Meta Blocks President Lula's Facebook Page, Campaign Ads 2 Weeks from Election (reddit.com)
    289comments
  7. We're gonna need a lot more mathematicians (terrytao.wordpress.com)
    489comments
  8. Show HN: Reladraw – A diagram language where you decide where to place things (github.com/reladraw)
    113comments
  9. Go Concurrency Distilled (antonz.org)
    177comments
  10. Ember-1 (fireworks.ai)
    187comments
  11. Flip Fluid on Flip Dots (mitxela.com)
    24comments
  12. On caring for user data: NeoVim caused Vim undo files to be deleted (aresluna.org)
    317comments
  13. Tells of a Slop UI (hereticpleb.vercel.app)
    224comments
  14. There are no "rogue" AI agents (eoinhiggins.substack.com)
    246comments
  15. How to keep enjoying programming in a world of LLMs (haskell.org)
    332comments
  16. DeepSeek Elastic Compute (DSec) (arxiv.org)
    109comments
  17. The Normalization of Inexplicable Failures (ihatethefuture.com)
    103comments
  18. What is the size of Yemen? (2024) (theborys.substack.com)
    79comments
  19. In an $80 motel room, a discovery to shed light on the origins of life (nytimes.com)
    82comments
  20. Floci: Locally emulating any cloud service (floci.io)
    47comments
  21. If we do not stop to help each other, what do we become? (codinghorror.com)
    85comments
  22. Japan moves to tighten rules for foreigners (aljazeera.com)
    579comments
  23. Plunging test scores are a slow-moving catastrophe (economist.com)
    392comments
  24. Show HN: Lofi Cities – Pixel-art city nights with browser-generated lofi (loficities.com)
    84comments
  25. One Month Without AI (bustikiller.com)
    225comments
  26. SNL Weekend Update: Anthropic CEO Dario Amodei on A.I.'S Threat to Humanity [video] (youtube.com)
    90comments
  27. Drawgent: Coding agent on a live Excalidraw canvas (tangled.org/yanndegat.tngl.sh)
    45comments
  28. An agent used DNS to reach an external chatbot (alignment.openai.com)
    162comments
  29. PostmarketOS is rebranding as Nura (nura.eco)
    48comments
  30. Don't couple your Go code to GitHub (iain.rocks)
    80comments

Show HN: Lofi Cities – Pixel-art city nights with browser-generated lofi

185 pointsby 8h agoloficities.com
83 comments
8h agoHN ↗

So cool. Add Los Angeles, Cape Town, Florence, Cairo, Athens, Vancouver, São Paulo.

Actually, shouldn't it be possible to auto-generate any city via AI on demand?

6h agoHN ↗

Maybe to a degree but this isn’t just somebody using Seeddance to generate a first-frame-and-last-frame video loop and calling it a day.

There's definitely some manual curation. They even have assets that are clearly being placed into the scene, like the boats moving in the water.

You could theoretically generate all possible animated sprites (birds, people, vehicles, etc.) for use in any given cityscape, but automatically segmenting/detecting the different valid "paths/waypoints" where those assets should be placed would probably end up looking pretty janky.

6h agoHN ↗

Maybe??.. Opus 5.5 is a giant step function up with "manual illustration". Quite a bit better than Astra. It is entirely possible to get this quality of animation "hand drawn" from Opus 5.5...

Honestly I was blown away, it is one capability that blindsided me. I haven't been this surprised by a capability lift in a long time.

5h agoHN ↗

I haven't had a chance to play with Opus 5.5 yet, but I guess if there were a way to generate each of the pieces (aka the layers) then it might be possible:

- parallax, which might be some clouds moving in the background.

- weather effects which is mostly just an overlay

- animated sprites that interact with, or at least move along, the different sections of the static scene.

It'd be neat to see how well it could recreate some of the larger set pieces like Westminster palace.

I've definitely seen some pretty impressive automated AI voxel stuff (and that was 6 months ago) and that's having to deal an extra dimension. [1]

Personally I still don’t see a situation in which you could do it completely hands-off though. I think you’d end up with some pretty good scenes and some really terrible scenes requiring post-adjustments. It would be an interesting experiment at any rate!

[1] - https://github.com/Ammaar-Alam/minebench

3h agoHN ↗

I make the cities ahead of time with AI and prepare the loops before adding them. The app can’t generate cities on demand yet, but I like the idea.

7h agoHN ↗

Man, wish we had dynamic wallpapers like this, and we could have had it decades ago.

Why do companies like Apple & Microsoft sterilize themselves so?

7h agoHN ↗

I was having a very similar thought - finally a nice use case for HTML wallpapers like Windows used to have them. I bet that there's a trick to have this as a desktop background in Wayland, but I'm too lazy to find out right now.

Either way, really nicely made, I love it! Small change request: adjust the CSS to make the controls look less vibecode-y.

6h agoHN ↗

Wallpapers that move would make for poor usability.

5h agoHN ↗

That's up to personal preference. Just like with static wallpapers, some people like single subtle colors, some people like noisy multicolored wallpapers.

There's already subtle parallax in iOS etc.

Animated wallpapers could be subtle, like raindrops, or animate only when interacted with, when you're bored or waiting for the AI to finish a run etc. :)

4h agoHN ↗

That's up to personal preference.

Stated preference perhaps, but unlikely revealed preference.

Depends on context, but for a computer on which you're doing work, moving wallpaper is usually a net negative for usability while you're actively working, though the magnitude depends heavily on the animation.

The problem is primarily peripheral attention. Motions is a strong pre-attentive visual signal: your visual system detects it without you deliberately deciding to look at it. One a laptop where you're close to the display and spending long periods concentrating on text, code, documents, etc., any visible animated region around or through windows can create low-level competition for attention.

A good compromise is wallpaper motion during transitions or stillness during work.

Broader UI principle: motion should explain change, not create change to be noticed.

5h agoHN ↗

When using my 32 inch screen sometimes I set the wallpaper to a random walk video in YouTube and it works fantastically. I know that it is counter intuitive, but the contrast between real and moving elements and static and almost flat Windows makes for a nice experience. And helps fighting text editing fatigue.

Of course, ymmv. But give it a try.

4h agoHN ↗

Yeah and there were other 3rd party "hacks" for it, but I mean Windows or macOS never made it an official API, so it never caught on, even though Apple's own "Dynamic Wallpapers" use some kind of motion (they're videos but only during screen-savers or time-based)

6h agoHN ↗

Just tested and this works great on macOS with Plash [1] by Sindre Sorhus. I couldn't find too many URL parameters to control it, but the FAQ does mention an ?obs parameter to hide the interface by default and ?weather=... to choose the weather. This URL in Plash works as described:

    https://loficities.com/tokyo/?obs&weather=leaves

I was also able to omit ?obs and use the website interface controls to configure it via Plash browsing mode and then the interface went away after a moment of inactivity.

[1]: https://sindresorhus.com/plash

4h agoHN ↗

Good to know it works with Plash! Thanks for sharing the setup.

7h agoHN ↗

Gorgeous, very well executed. I'm guessing the primary request will be more cities but I'll deviate and say I'd love to see more views as well. Would be nice to have the same set of cities by I can see it from a studio view same way it is in the Paris view. Or from an office. Or a cafe.

4h agoHN ↗

I’ll add indoor views to the roadmap. Cafés and apartments could give each city a different feel.

7h agoHN ↗

The product hunt ad is breaking the immersion for me. I know that most cities have ads but still, I prefer ad free pixel art.

It’s also not realistic, in one landscape the billboard is taller than a 9 story building.

6h agoHN ↗

It feels bolted on to an otherwise cool thing. Even angling the board, or smudging, dimming color, localizing language, etc. All would make it feel like it fits.

6h agoHN ↗

I know this is going to sound ridiculous, but the way the dithering is used feels very "generated" and chaotic.

Human pixel art tends to be very deliberate about the exact colors of every pixel and their placement tends to follow idealized (but not necessarily geometric) shapes.

The last time I saw dithering this sloppy was decades ago when people would scan photos as low color images. It is its own vibe, but it's a cold and rough one. These artifacts feel more "realistic", but it felt like slop back then too.

5h agoHN ↗

Yes, that’s the tell tale sign of AI generative pixel art. AI can’t be consistent with the pixels. Looks ok sometimes but never pops.

5h agoHN ↗

Would a hide option help, or should the billboard itself blend into the scene better?

53m agoHN ↗

Honestly I’d blend it more. Maybe reduce the contrast a bit and so it’s not the first thing your eye goes to.

33m agoHN ↗

Just delete it :/

Ads are the worst and they're antithetical to the vibe of something like this

If it's an actual ad.. You'd get more goodwill (and maybe clicks) out of a tiny 'if you appreciate this maybe check out product hunt to support me' message somewhere. At least it's not manipulative that way.

4h agoHN ↗

Who cares.

Only on HN there can be a single pixel that is misplaced or off and it causes ONE person to get upset about it.

This is completely petty. Just stop.

7h agoHN ↗

This is a vibe! Is this pixel art AI generated?

6h agoHN ↗

There's a lot of AI on the author's github, so I would assume so. I have no idea how I feel about these sorts of things. On the one hand I think it's objectively a super neat idea, but it makes me sad that a human (probably) didn't make the art/songs.

6h agoHN ↗

A human did --- just indirectly, in the same way as using a compiler or assembler instead of writing each byte by hand.

6h agoHN ↗

I use a compiler to perform a task. I don’t use pixel art to perform a task, other than to feel connection to another human —- something AI makes more challenging.

6h agoHN ↗

I've been thinking about this a lot lately. I feel very averse to consuming AI media, but it's not super obvious to me why. In some sense, I agree with what you're saying, but in reality no pixel art of a city I've never been to would elicit that feeling in me. Maybe I would feel differently if it were art of the city I live in and had some pixels dedicated to specific things I think are cool about the city, but for this website in particular it could be the best pixel art of SF ever made and I don't think it would be all that meaningful to me.

The main conclusion I've come to is that it's less that I dislike AI art inherently, and rather that I value the human decisions in media that I personally care about, and AI media threatens both its creation and how much other people value such things.

6h agoHN ↗

maybe you are MOSTLY judging what you perceive to be the artist's options and then decisions, and with most AI art, it's super easy to judge both of those quickly and accurately -- they had a billion options, and they chose a really lazy one.

or i don't know if you are but this is how i think i feel a lot of the time haha

6h agoHN ↗

I mean pixel art is kind of weird, in that I rarely just look at a single screen of pixel art and say, wow, I feel more connected now. It’s often taken in context of a larger whole, like a game or animation where the artist is usually trying to express something, and the specific art is some small part of the overall expression. It’s kind of like how no individual still image from Spirited Away will convey the meaning of the whole movie.

6h agoHN ↗

other than to feel connection to another human

With AI, instead you feel a connection to the sum of all humanity.

6h agoHN ↗

Ah that's a bummer. I'm unsure if this is gonna change over time, but it entirely tanks my enjoyment of any visual art project to know it was generated.

4h agoHN ↗

Yes, I use AI for the images and video loops. The music is synthesized live in your browser using the Web Audio API.

6h agoHN ↗

There's a lot to like here, but too AI-generated for me. The pixel art for Tokyo & Hong Kong don't use proper Chinese/Japanese characters. The pulsating badges in the non-pixel UI are also pretty AI-indicative in a way that is distracting.

6h agoHN ↗

I love the FM synth in the music. Some of the patches from Sonic games can be heard.

6h agoHN ↗

Nice idea, but the rain sound (at least on my system) isn't rain - it's just white noise?

5h agoHN ↗

White noise is better than the repetitive and generic synthetic music I got

4h agoHN ↗

Which browser and device are you using? Does the rain still sound like white noise with the music paused?

3h agoHN ↗

Got it. I’ll look into the rain sound on Firefox with the music paused.

5h agoHN ↗

Very cool project. I love the tour aspect of it!

I first saw Paris from inside the room, and only later realized that 90% of the cities seem to be outdoors. It did make me kind of miss the indoor theming of the local area.

Also make me think how cool it would be to be able to toggle between being indoors or on the balcony. Shift the volume of the music vs the weather, maybe add some city sounds and shift them as well. Finally, it means you could have twice as much visual variety for only 50% more art.

5h agoHN ↗

strange to me that "lofi" has graduated from low fidelity to AI generated downtempo music, which I assume (like the art) is based on the work of real artists.

4h agoHN ↗

Is the music AI-generated? Because it's pretty hard to listen to. Weird dissonant chord progressions.

4h agoHN ↗

The music is generated procedurally in your browser using the Web Audio API. Which city and music style were you listening to?

4h agoHN ↗

It's cute, but the custom weather overlays don't make sense. Where are the autumn leaves falling from on top of the 7th floor in Paris, the secret rooftop forest canopy?

3h agoHN ↗

Haha, fair point :) You can use any weather effect in any city, which leads to some odd combinations like leaves outside that Paris window.

4h agoHN ↗

I don't why I would want to stare at vibecoded UI and an ad to relax

3h agoHN ↗

I loved it. Since i was a child i have something with skylines in general that i can't explain (be it real or not). it's like a nostalgic/depressive feeling in a good and weird way. i also have a similar and weird thing with liminal spaces [0]

[0] https://en.wikipedia.org/wiki/Liminal_space

3h agoHN ↗

I’m glad it gives you that feeling. There’s something about city skylines at night that fits lofi so well.

3h agoHN ↗

I had a similar idea yesterday - https://www.lofiwizard.com/ - I mainly wanted to have Opus 5.5 generate random browser scenes to see what it could do. I love how your pixel cities came out! I tried to do similar music via code but it never sounded right so I had Google's Lyria 3 model make the music instead.

3h agoHN ↗

Nice to see another take on this! What was hardest to get right with the code-generated music?

3h agoHN ↗

It's interesting, I vibecoded a very similar lofi/mood idle game, but in 2.5D with Codex, I would say that the reception was about 60% positive with a lot of people complaining about AI slop, then I removed the Codex fingerprints like the verbose titles "Neon Rain by Tokyo Tower", the button/field UI that looks like a ChatGPT wrapper startup from a year ago, changed font from the generated one, and then it had about 80% positive interaction.

I think its easier to sell it as actual art/non-slop when you take some time to remove what is generic across newer LLM sessions.

3h agoHN ↗

That’s useful feedback. I’ll take another look at the typography and controls. I want them to fit the scenes better.

3h agoHN ↗

I'd encourage chronicling the effort you put in and be transparent about the methods. If you want your AI art to reach proper recognition, the different type of effort needs to be shown

3h agoHN ↗

It's a fair point. I experimented with this, but I still don't think that the general public is there yet. Any mention of AI is already a negative sentiment for a large group of consumers, especially in artistic fields. While this is true, it does not make sense to disclose these things because then you can capture both the customers that care and those who don't if you are sufficiently careful.

Once the technology gets good enough and people can't tell it apart and start to get used to generated content like this, it will perhaps start to make sense to provide this kind of effort if it's still relevant.

2h agoHN ↗

You're not the first to try to build something on the basis of lying by omission, but I will say, it's pretty bleak

2h agoHN ↗

Disclosure makes sense when the trust it buys is worth more than the sales it costs. Currently the trade-off is completely dogshit. You don't get good reputation by making any art with AI, nor good sales by disclosure.

When/if people start rewarding disclosure it will make sense to do this, otherwise you are asking me to pay for this abstract principle out of my own pocket.

1h agoHN ↗

Nice! Were the assets generated or imported? Also, if generated, natively or MCP? And which?

1h agoHN ↗

All generated, I don't normally use the ChatGPT/Codex desktop app but in this instance I had it do everything directly.

So GPT 5.6 Sol using GPT images 2.0 (fake transparency by generating pink which it then removed) and it deployed to ChatGPT sites which I also wanted to just see in action for fun. It's basically just CloudFlare with D1 underneath or something.

So tldr yeah just generated with the built in image gen, it does have an advantage there over Claude. With images 2.5 I imagine the result would be more consistent.

1h agoHN ↗

When I open some of the submissions here, I have a voice in my head that screams "LLM"...

This is almost like a reflex, I am not sure why, because when I look, I don't see any pattern...

Anyone else have the same?

1h agoHN ↗

Unpopular opinion, but I think the "Lofi" sound or style ruins perfectly fine songs.

46m agoHN ↗

Not the biggest issue (and perhaps the smallest) it's not Sakura tree season here in Tokyo ;)

11m agoHN ↗

I like the Sydney one (the jacarandas are a nice touch; a banksias or wattle option would add an interesting local touch).

For any city, a thunderstorm or light drizzle option would be very moody.