The language that runs in the browser: interactivity without depending on a backend.
Framework-free vanilla JS when a demo has to load fast and survive years without maintenance.
Where it was used 06
- Metal Globe
4,408 lines of vanilla JS, no framework. Split into index.html + styles.css + data.js + app.js without changing a single pixel.
- verú
Cart and checkout as ES modules, no framework, no backend.
- Radar de Precios
The comparison view is plain HTML: it loads the JSON and builds the table client-side.
- Monitor de Commodities
A single self-contained 1.4 MB HTML file with seven analytical modules.
- Workboard
The board itself — drag, state and the timeline view, with no framework under it.
- Records Search
The search interface itself.
Web & product
Metal Globe
I put 195,679 metal bands on a 3D globe, filterable by country, genre and decade.
three.js · 4,408 → 496 lines, split into data.js · lazy-loaded flags · static
Web & product
verú
I built a store with 16 products, a look builder and checkout using the payment methods people actually use in Peru.
- Astro
- JavaScript
- E- E-commerce
- HTML & CSS
Markets & comparators
Radar de Precios
I match 296 medicines across Peruvian pharmacy chains by reading their own undocumented APIs.
Python adapters · Algolia/SFCC APIs · three-layer matcher · static comparison table
- Python
- SC Scraping
- EN Entity matching
- BE BeautifulSoup & selectolax
- JavaScript
Markets & comparators
Monitor de Commodities
I track the sugar-crude spread against a timeline of 6 dated events that explain the jumps.
Web & product
Workboard
A Jira-style board: projects, epics, cards, timeline — built for a public-sector IT office.
JavaScript
Data & public sector
Records Search
A search tool over service records, built so the right one turns up by content instead of a manual folder hunt.
Python · SQLite · search index
Same category