Criei e lancei como side project uma ferramenta em que, ao inserir dois jogos + 3 tags de mecânicas, a IA gera um documento de design de jogo de 1 página + concept art.
Como não desenvolvedor, eu queria acumular a experiência de lançar um serviço só com uma ideia, e como também tenho muito interesse em jogos indie, pensei nessa direção.
Sprint de 3 fins de semana, custo acumulado de US$ 0,14. Next.js 15 + Anthropic Claude + fal Flux schnell + Upstash + Vercel Pro (Fluid Compute).
🔗 https://modmix.io
Motivo para criar
Quando eu pensava “que tipo de jogo eu poderia fazer?”, achei que seria bom ter algum gatilho de inspiração.
Eu não queria apenas perguntar uma vez ao ChatGPT e encerrar; queria receber um resultado estruturado, quase como um material de referência, com um fluxo de entrada → saída.
Entrada·saída
- Entrada: títulos de dois jogos + 3 tags de mecânicas (escolhidas entre 30 itens de uma whitelist)
- Saída: documento de design de jogo de 1 página (title / hook / core loop / 3~5 systems / scope / playtime) + concept art com Flux
- Demo: https://modmix.io (sem cadastro, 10 vezes por dia por IP)
Estrutura do sprint de 3 fins de semana
- W1 (Anthropic Claude): definição do esquema JSON, tratamento de casos de recusa (palavrões·termos proibidos), rate limit com Upstash
- W2 (fal Flux schnell + cartão de compartilhamento): cartão OG 1200×630 com
ImageResponseem Edge runtime, deep links para Threads/X - W3 (deploy na Vercel): tier Pro + Fluid Compute (budget de 300s) — por causa do encadeamento de Anthropic 20s + fal 15s
Algumas decisões técnicas
- Anthropic vs OpenAI: para tratar casos de recusa (adversarial input), o Claude foi mais limpo. O modelo faz a própria recusa com uma flag JSON, e o servidor só precisa fazer o branch.
- Flux schnell vs dev/pro: 10x mais barato, com qualidade de concept art aceitável. Prioridade total em controlar custos.
- Separação da API:
/api/generate(só Claude, ~4s) → renderiza o texto imediatamente //api/image(fal, ~5s) → troca a imagem depois. Tempo de espera percebido de 11s → 4s. - Payload do cartão OG: concept + imageUrl em uma única query string base64 (
?c=). Funciona dentro do limite de URL de 2KB do X.next/ogedge runtime. - rate limit: 10 requisições por dia por IP. Upstash Redis. Se houver explosão de tráfego, hotfix de 5/day já está preparado.
Custos
- Total acumulado de US$ 0,14 (W1+W2 somados, Anthropic + fal + Upstash)
- Alerta diário de US$ 5 ativado. Se houver explosão de tráfego, vou reforçar o rate limit ou fazer downgrade do modelo.
Limitações (backlog v0.2)
- Qualidade do prompt. O conceito gerado já é coherent, mas ainda não chega a ser interesting. Depois do launch, pretendo fazer reground com dados de 30 dias.
- A URL de compartilhamento é uma query base64, então fica longa e feia. URL curta = precisa de DB·ID único → v0.2.
- Salvar resultados·histórico·regeneração ficam todos para a v0.2 (exige infraestrutura de auth).
Ainda não há comentários.