HackerTrans
TopNewTrendsCommentsPastAskShowJobs

manudaro

no profile record

Submissions

I rebuilt the same project after 15 years: What changed in web development

bamwor.com
16 points·by manudaro·3 mesi fa·16 comments

Show HN: Bamwor – Country data API and MCP server after CIA Factbook shutdown

bamwor.com
4 points·by manudaro·3 mesi fa·2 comments

comments

manudaro
·3 mesi fa·discuss
You're right, PHP is SSR by nature. What I meant is that Next.js gives us SSR plus built-in routing for 4 languages, ISR for cache invalidation on ~900K pages, and a React frontend — all in one framework. With PHP we'd need to wire that up separately.

That said, honestly, the ecosystem momentum probably influenced the decision more than a strict technical comparison. Looking back, we probably weren't critical enough about whether we actually needed to move away from PHP. It works and we're happy with it, but I wouldn't claim it was the only valid choice.
manudaro
·3 mesi fa·discuss
Of course, go ahead! Would love to read it when it's published, feel free to share the link here or drop me an email ([email protected])

And hey, in my experience the best blogs I've ever read were the "ugly" ones, turns out what make a blog beautiful is usually the writing, not the CSS. Looking forward to it.
manudaro
·3 mesi fa·discuss
The screenshots are from 2011 and the redesign took months of engineering, PostgreSQL + PostGIS with 13M features, Redis caching, MCP Server for AI agents. Happy to discuss technical details.
manudaro
·3 mesi fa·discuss
You're right, I do use AI to help with the writing. English isn't my first language (I'm native Spanish speaker) and I use it to translate and polish my text. I wouldn't be able to participate here otherwise.

The site runs in 4 languages (English, Spanish, Portuguese, Italian) and covers 261 countries. Back in 2011 we relied on the machine translators available at the time, you probably remember how rough those were for the end user. AI finally lets us produce content that people can actually read in their language without those painful translation artifacts.

I apologize if that's off-putting, but the alternative would be less content for fewer people, or content full of bad translations.
manudaro
·3 mesi fa·discuss
Thank you. Te 2011 version wasgenuinely fun to build. Chat by city, airport databases, a people search engine, things that made no business sense but felt right.

We're trying to keep some of that. You can browse countries, compare them, explore cities, look up universities. It's not just an API docs page. But I hear you. :)
manudaro
·3 mesi fa·discuss
You're not wrong. The 2011 version had character. Google+ icons, chat per city, a people search engine. It felt like a place, not a tool.

The tradeoff was deliberate though. Serving 261 countries in 4 languages with an API and MCP Server pushes you toward structure over personality. But I do miss some of that original energy.
manudaro
·3 mesi fa·discuss
Totally fair points. Back in 2011 everything was built in plain PHP, and honestly, it worked perfectly for years. The shift to Next.js came much later, mainly because we needed proper SSR to handle SEO at slace. We're talking about 4 languages and around 13M pages. in that context, Next.js really shines, especially with file based routing and ISR making things much easier to manage.

Regarding Docker, we have quite a bit running on a single EC2 instance: PostgreSQL with PostGIS (about 13 million rows), Redis, Nginx, theAPI and web app. Using Docker Compose lets us keep everything versioned and spin up or redeploy the whole stack in seconds. Without it,we'd dealing with dependencies manually, and that's where things tend to get messy fast.
manudaro
·3 mesi fa·discuss
Thank you!
manudaro
·3 mesi fa·discuss
[dead]
manudaro
·3 mesi fa·discuss
[dead]
manudaro
·3 mesi fa·discuss
[dead]
manudaro
·4 mesi fa·discuss
Ha yeah that makes sense. Having the AI read its own conversation history in a format it already understands is a nice side effect of keeping it in plain Json.
manudaro
·4 mesi fa·discuss
This is great, thanks for digging these up. The workflow doc on Github is exactly what I wat looking for - didn't realize they had that level of documentation publicly available.
manudaro
·4 mesi fa·discuss
I've been loking into how 3B1B builds their rendering pipeline, and it's honestly mind blowing. They use Python along with custom OpenGl shaders to handle most of geometric transformations, shich seems to be what creates those "brain breaking" visual effects.It's fascinating how our visual cortex tries to interpret overlapping geometric patterns and ends up producing such counterintuitive perceptions. Shat I still can't quite wrap my hand around is... to what extent are these effects caused by the rendering itself, and how much of it is just how our brain interprets the visual information?
manudaro
·4 mesi fa·discuss
The .claude folder structure reminds me of how Terraform organizes state files. Smart move putting conversation history in Json rether than some propiertary format, makes it trivial to grep through old conversations or build custom analysis tools.
manudaro
·4 mesi fa·discuss
[dead]
manudaro
·4 mesi fa·discuss
Sub 250ms for cold queries from S3 is impressive, but curious about the consistency of those numbers. Are you doing any prefetching of table schemas or statistics? With geographic datasets we often see huge variance in S3 latency depending on object size and region - a 10Mb spatial index file might take 400ms to fetch while smaller lookup tables stay under 100ms.
manudaro
·4 mesi fa·discuss
[dead]
manudaro
·4 mesi fa·discuss
The Clojure tablecloth performance numbers here are pretty surprising, usually see Python/polars dominating these benchmarks. Been running similar transformations on transit data feeds and polars consistently outperforms pandas by 3x-5x on the group-by operations, but hadn't considered Clojure for the pipeline. Anyone actually using tablecloth in production data workflows?
manudaro
·4 mesi fa·discuss
[dead]