Começando um dev log
Este é o primeiro post do dev log da Imperfect Systems. O plano é simples: registrar publicamente o que estou construindo, o que quebra, e o que eu faria diferente.
Por que um dev log
A maior parte do trabalho interessante acontece entre um lançamento e outro. Um dev log captura essa parte do meio: os becos sem saída, as pequenas vitórias, as decisões que só fazem sentido depois que você vê a alternativa falhar.
Como este blog funciona
O blog não é feito sob medida. Os componentes, o cálculo de posts relacionados, o schema de conteúdo e a configuração de syntax highlighting vêm todos de um pacote compartilhado, @vdaluz/astro-blog, que também roda em outro site. Esta página é basicamente cola: uma content collection, dois arquivos de rota, e um tema neon sobre preto.
import { blogSchema } from '@vdaluz/astro-blog';
const blog = defineCollection({
loader: glob({ pattern: '**/*.md', base: './src/content/blog' }),
schema: blogSchema({ defaultAuthor: 'Imperfect Systems' }),
});
Os componentes são inteiramente controlados por design tokens em variáveis CSS, então o mesmo código renderiza no tema verde-neon deste site e em uma paleta completamente diferente em outro lugar. Sem forks, sem copiar e colar.
O que vem a seguir
Mais posts, e provavelmente mais sites compartilhando o mesmo pacote. Por enquanto: builda, está verde, e funciona.
Leitura relacionada
Dando um rosto para cada link compartilhado
Uma proteção de og:image que nunca disparava, um valor padrão de uma linha que resolveu, um card de terminal feito sob medida, e uma pegadinha de retina no Chrome headless.
O favicon que ficou quebrado por meses e ninguém teria percebido
Um lote de otimização de performance com uma metade fácil (prerender, otimização de PNG) e uma falha silenciosa: um favicon SVG cuja referência de imagem externa os navegadores descartam sem avisar.
Screenshots para um app sem simulador
O MusicKit não retorna nada no simulador, então as capturas de marketing vieram do serviço simulado que o app já tinha, mais as capas reais da API de busca da iTunes.
Você também pode achar útil
eSIM Airalo
eSIM de dados local para viagens - sem necessidade de trocar um SIM físico.
Este é meu link de indicação da Airalo. Você recebe um desconto no seu primeiro eSIM e eu ganho crédito da Airalo para o meu.
Saiba maisAdGuard para iOS
Bloqueio de anúncios e rastreadores em todo o sistema no iOS, sem necessidade de um servidor DNS separado.
Como afiliado da AdGuard, ganho com compras qualificadas.
Saiba maisProton Mail
E-mail criptografado de ponta a ponta, com arquitetura de acesso zero.
Como parceiro da Proton, ganho com compras qualificadas dos serviços de privacidade e segurança da Proton (Pass, Mail, VPN, Drive).
Saiba mais