Inspiration

A headline can tell us that something happened without helping us understand the place, the history behind it, or the people reporting it. When the story is a humanitarian crisis, the question often becomes: what can I actually do?

We built WorldLens to connect those questions in one place. It is a 3D world-intelligence globe where you can explore today’s news, move through history since 1800, examine the sources, and review a possible next step. Our approach is simple: understand, verify, then act.

WorldLens is a Noema product for students and teachers, curious news readers, and researchers who need geographical and historical context.

What it does

  • Explore 1800 to LIVE. Rotate a realistic CesiumJS globe, search for a place or event, and move through time from centuries down to hours, within the precision supported by the data.
  • See the world of the selected date. Explore dated historical borders and flags, historical events and battles. A selected country can follow its changing borders and recorded predecessors or successors as you move through time. Historical coverage is incomplete, and approximate data is identified.
  • Read stories in context. Live news from GDELT is grouped into events with attached articles rather than placing every article on its own pin. Wikipedia-based past-news search extends exploration back to 2000, alongside the curated historical dataset.
  • Inspect the reporting. Event cards show the original sources, publisher types, ownership where known, and where outlets are based. Framing comparisons distinguish facts, claims, allegations and assessments using the available headlines and snippets. Political ratings describe publishers only and include provenance; most outlets remain unrated.
  • Ask an AI guide. In Agent mode, plain-language requests can move the camera, change the date, open events, highlight places, toggle layers or create a historical tour. Chat mode answers without operating the globe. Signed-in users can save chats and control whether their previous chats and viewing history inform the assistant.
  • Review humanitarian action. On a clearly labelled humanitarian demo scenario, the assistant can find an action option and open its review screen. The person checks the recipient, purpose and amount, then approves in PayPal themselves.

The charity feature is still in testing. All checkout activity uses PayPal Sandbox, no real money moves, and the test recipient is a demo merchant rather than a live charity. Informational links to humanitarian organisations are separate from the checkout and do not imply affiliation.

How we built it

WorldLens is a TypeScript monorepo. The frontend uses React, Vite, CesiumJS, Tailwind CSS, Zustand and TanStack Query. The API uses Hono and Zod, with shared schemas for events, temporal data and AI tools. PostgreSQL with PostGIS on Neon stores live news, accounts and payment records.

The hosted version serves the frontend through Cloudflare Workers and runs the Node.js API on Render. A same-origin proxy connects the two so sessions and API requests work under one website address. Render is an additional hackathon sponsor tool used in the deployed application.

Historical geography combines OpenHistoricalMap, Natural Earth and Wikidata. Wikipedia supplies linked context and past-news records. The news pipeline normalises and deduplicates articles, resolves locations, clusters related coverage and preserves story identity across refreshes. The repository also includes an optional RSS provider.

AI in the product: the deployed assistant uses Google Gemini. A bounded tool loop validates model requests against shared Zod schemas, and the browser validates actions again before applying them. AI also supports short news summaries and source-framing comparisons grounded in the supplied headlines and snippets. The provider layer additionally supports Anthropic and OpenAI-compatible services. Rate limits, usage accounting, caching and a daily AI budget control consumption, with a rule-based offline assistant available as a fallback.

AI used during development: we used Claude Code with Claude Opus 5.5 to develop WorldLens. This development assistance is distinct from the Gemini assistant running in the hosted product.

PayPal: the browser uses the official PayPal JavaScript SDK v6 for eligibility checks and checkout sessions. The backend uses OAuth 2.0 and Orders API v2 to create, retrieve and capture sandbox orders. It validates the reviewed terms and amount, keeps the client secret on the server, and uses idempotency keys. A receipt depends on the server-confirmed PayPal capture result. The code also implements signature-verified webhook reconciliation, duplicate-delivery protection and guarded payment-state transitions; webhooks are not yet configured on the hosted demo.

The AI has no tool that can create, approve or capture a payment. It can prepare the review experience, while the human controls checkout.

Challenges we ran into

Historical maps require more than changing a year label. We had to account for dates of validity, incomplete coverage, coastlines versus land borders, dated flags and country succession without presenting every reconstruction as exact.

News coverage also changes between refreshes. Deduplication and cluster continuity help keep one developing story together while preserving its growing set of articles and sources.

Another challenge was connecting model-generated instructions to a working interface. We used a small, explicit tool surface, validation on both sides of the network, and separate Chat and Agent modes. Payments remain outside that tool surface.

Rendering a detailed globe alongside labels and panels required screen-space clustering, horizon culling, viewport-based requests and adaptive quality. The performance manager adjusts resolution and detail from measured frame times. We do not claim a universal frame rate across devices.

Accomplishments we are proud of

We connected live news, historical geography, source inspection and a human-approved PayPal sandbox flow in one working website. The interface includes a text events list, keyboard navigation, reduced-motion support and responsive layouts alongside the globe.

The repository includes Vitest coverage for shared schemas, AI actions, news processing and payment behaviour, plus Playwright application and responsive tests and database checks. Payment end-to-end tests use test doubles, so we distinguish automated coverage from live sandbox verification.

This is a new project built during the hackathon. The repository began on 14 October 2026 with a placeholder README and no application code. The application, data pipelines, PayPal and AI integrations, deployment and documentation were developed during the submission period.

What we learned

We learned how to turn an AI answer into a useful, validated sequence of interface actions, and how to keep uncertainty visible when combining historical and news datasets. Building the PayPal flow also reinforced the importance of explicit human review and server-confirmed payment status. Keeping the demo usable through provider failures and limited hardware became part of the product design.

What’s next for WorldLens

We plan to test with students, teachers and news readers, improve historical and news coverage, and measure performance and operating costs on everyday devices. The charity feature will remain in sandbox testing until the recipient arrangements and production flow are ready.

The business plan is free exploration with possible Pro, Classroom and Teams offerings. Alerts, shareable views, classroom tours and exports are planned features, with pricing still to be tested.

Team

Hasan Abdullah, founder of Noema and team lead, built the first version and leads globe development, historical geography and optimisation. Evan Setyawanta Sitepu develops the PayPal and Take Action checkout. Mohammad Nabil Hanif develops live news and the interface. All three studied at President University in Indonesia.

Try WorldLens

Built With

Share this project:

Updates

Submission history