• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
project logo

nmsilva

my-portfolio

Starter template for a markdown blog
Public
Like
my-portfolio
Home
Code
5
docs
4
posts
6
Layout.tsx
README.md
H
index.tsx
Environment variables
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
posts
/
valtown-scratchpad.md
Code
/
posts
/
valtown-scratchpad.md
Search
…
valtown-scratchpad.md
slug:
valtown-scratchpad
date:
Feb 22, 2026
readTime_en:
4 min read
readTime_pt:
4 min leitura
title_en:
Val.town is the scratchpad I always wanted
title_pt:
Val.town é o bloco de notas que sempre quis
excerpt_en:
Deploying a cron job used to take 20 minutes of boilerplate. Now it's 30 seconds. A quick tour of how I use Val.town for side projects.
excerpt_pt:
Deploy de um cron job costumava levar 20 minutos de boilerplate. Agora são 30 segundos. Uma visita rápida ao meu uso do Val.town.
tags:
Val.town, TypeScript, Automation

The old way

Before Val.town, deploying a simple cron job meant: create a repo, write a Dockerfile or serverless config, set up CI, configure environment variables, deploy to AWS Lambda or a VPS, set up CloudWatch or cron-job.org to trigger it... You get the idea.

For side projects and experiments, that overhead kills momentum.

Enter Val.town

Val.town flips this completely. A cron job is just a TypeScript function:

export default async function() { const res = await fetch("https://api.example.com/prices"); const data = await res.json(); if (data.price > 50000) { await email({ subject: "BTC above 50k!", text: `Price: ${data.price}` }); } }

Set the schedule, hit save. It runs. That's it.

What I've built on it

  • Crypto price alerts — pings me when BTC or ETH move more than 5% in an hour
  • Imóveis tracker — scrapes Portuguese real estate listings for specific search criteria
  • Football data pipeline — ingests fbref match data, enriches with AI, exposes a REST API
  • This portfolio — served as an HTTP val

The catch

Val.town has limits — execution time, storage, and egress. For production workloads, it's not a replacement for proper infrastructure. But for the 80% of side project needs? It's unbeatable.

If you haven't tried it, spend 10 minutes on val.town. Your weekend projects will thank you.

---pt---

A forma antiga

Antes do Val.town, fazer deploy de um simples cron job significava: criar um repositório, escrever um Dockerfile ou configuração serverless, configurar CI, definir variáveis de ambiente, fazer deploy para AWS Lambda ou um VPS, configurar CloudWatch ou cron-job.org para o disparar... Já percebeste.

Para projectos pessoais e experiências, esse overhead mata o momentum.

Entra o Val.town

O Val.town inverte isto completamente. Um cron job é apenas uma função TypeScript:

export default async function() { const res = await fetch("https://api.example.com/prices"); const data = await res.json(); if (data.price > 50000) { await email({ subject: "BTC acima de 50k!", text: `Preço: ${data.price}` }); } }

Define o agendamento, guarda. Corre. É tudo.

O que construí

  • Alertas de preços de cripto — notifica-me quando BTC ou ETH sobem ou descem mais de 5% numa hora
  • Tracker de imóveis — faz scraping de listagens de imóveis portugueses para critérios de pesquisa específicos
  • Pipeline de dados de futebol — ingere dados de partidas do fbref, enriquece com IA, expõe uma REST API
  • Este portfolio — servido como um HTTP val

O senão

O Val.town tem limites — tempo de execução, armazenamento e egress. Para cargas de produção, não substitui infraestrutura própria adequada. Mas para 80% das necessidades de projectos pessoais? É imbatível.

Se ainda não experimentaste, passa 10 minutos em val.town. Os teus projectos de fim-de-semana vão agradecer-te.

FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.