Igor ➔ extcontabilidade.com.br

15.7K posts

Igor ➔ extcontabilidade.com.br banner
Igor ➔ extcontabilidade.com.br

Igor ➔ extcontabilidade.com.br

@igorhalfeld

Building @extcontabilidad #buildinpublic #indiehacker Tweets in 🇺🇸 & 🇧🇷

🌎 Katılım Temmuz 2013
2.4K Takip Edilen6.1K Takipçiler
Lucas
Lucas@lucasmoraisdev·
@Mirandaverso Cara se tem uma coisa que eu aprendi vendo a galera oferecendo as paradas aqui é que ninguém da valor pro que é de graça. O @igorhalfeld mesmo já falou disso, tem um curso foda de Vue, 0800, e ninguém liga. Se ele lança cobrando, ia ter fila.
Português
0
0
0
23
superior
superior@Mirandaverso·
esse foi meu post anunciando as mentorias 3 anos atrás Sabe pq eu parei? embora tinha uma procura grande, eu diria que 50% das agendas a galera não ia e eu ficava na agenda esperando Se eu voltasse a fazer hoje em dia eu cobraria, nem que um valor simbólico,pq até vc tentando ajudar o próximo a galera é sem noção
superior tweet media
Português
17
4
95
6.7K
Igor ➔ extcontabilidade.com.br retweetledi
@levelsio
@levelsio@levelsio·
If you wanna switch to @Cloudflare Email Sending today, here's my prompt for you, as always I'm unaffiliated, not paid, not sponsored, but I like it, make sure you remove the space before the .com in the API url I added to avoid it becoming a link in this tweet: # Prompt: Migrate transactional email to Cloudflare Email Service Paste this into Claude Code (or Cursor, or any agent) running inside your project. --- I want to migrate this codebase's outbound email from its current provider (Postmark / SES / Resend / SendGrid / Mailgun / etc.) to Cloudflare Email Service (public beta, launched April 2026). Help me do this carefully. ## Context: what Cloudflare Email Service is A new transactional email API from Cloudflare. Endpoint: ``` POST https://api.cloudflare .com/client/v4/accounts/{ACCOUNT_ID}/email/sending/send Authorization: Bearer {API_TOKEN} Content-Type: application/json ``` Request body: ```json { "to": "user@example.com", // string OR array of strings "from": "no-reply@yourdomain.com", // string OR {"address":"x@y","name":"Display"} "subject": "...", "html": "

...

", // optional "text": "...", // optional (one of html/text required) "cc": ["..."], // optional, array "bcc": ["..."], // optional, array "reply_to": "...", // optional, single string "headers": {"List-Unsubscribe": "<...>"} // optional, e.g. for newsletters } ``` Success response: HTTP 200 + `{"success":true,"result":{"delivered":[],"queued":[],"permanent_bounces":[]}}`. Failure: non-200 OR `success:false` OR non-empty `permanent_bounces`. Always check all three. Pricing: $5/mo Workers Paid plan + 3,000 emails free + $0.35 per 1k after. Roughly 5× cheaper than Postmark. No batch send endpoint — loop single sends. ## Steps you should follow ### 1. Verify prerequisites with me Before writing any code, ask me to confirm: - I have a Cloudflare Workers Paid plan ($5/mo) - I've onboarded my sender domain(s) in Cloudflare dashboard → Email → Email Sending → Onboard Domain (this auto-adds SPF/DKIM/DMARC + cf-bounce MX records) - I have an API token with `email_sending:write` scope (created at dash.cloudflare.com/profile/api-to… → Custom Token) - I have my Cloudflare account ID Don't proceed until you have these. ### 2. Recommend a domain reputation strategy Most apps should split senders across 2-3 subdomains so spam complaints on one don't drag down deliverability on others: - `mail.` or `members.` → transactional (login, receipts, password reset, in-app notifications) - `e.` → cold/recovery (abandoned cart, win-back campaigns) - `newsletter.` → opt-in newsletters with List-Unsubscribe headers Each subdomain needs to be onboarded separately in Cloudflare. Ask me which I want. ### 3. Audit existing email sends Use grep/search to find every place in this codebase that sends email. Look for: - The current provider's SDK class names, API URLs, env/config vars - Generic patterns like `mail()`, SMTP usage, `nodemailer`, etc. Group findings by email type/purpose (e.g. "magic-link login", "payment receipt", "weekly newsletter") rather than by file. Tell me what you found before changing anything. ### 4. Add a single helper function Don't sprinkle Cloudflare API calls across the codebase. Add one helper (provider-specific name like `sendEmailViaCloudflare()`) that: - Defaults `from` from a config var (don't hardcode) - Parses `"Name @domain>"` strings into the API's `{address, name}` object form - Accepts `cc`/`bcc` as either string or array - Accepts a `headers` dict (newsletters need `List-Unsubscribe` + `List-Unsubscribe-Post`) - Returns `bool` (true on success, false on any failure) - On failure, logs/alerts somewhere I can see (Telegram, Sentry, log file — match what the codebase already does) - Sets curl/fetch timeouts (5s connect, 15s total) so a stuck CF API can't hang the request - Treats `permanent_bounces: [...]` non-empty as a soft failure ### 5. Migrate one low-stakes email type first Don't migrate everything at once. Pick the lowest-stakes email type in the audit (something where landing in spam wouldn't lose me money or users — e.g. "internal admin alert", "profile photo rejection") and migrate just that one. Test it end-to-end. Confirm the email actually arrives. Only then propose the next migration. ### 6. Stop me from migrating login email yet If my codebase sends magic-link login or password-reset emails, do not migrate those to Cloudflare yet. Cloudflare Email Service is brand new (~1 month old at writing). Its IP/domain reputation is unproven. Login emails landing in spam = users locked out. Keep those on the current provider until at least 3 months of clean deliverability data on the lower-stakes types. Tell me this explicitly. ### 7. Suggest commit boundaries After each successful migration, suggest a focused git commit with a clear message. Don't bundle unrelated changes. ## Important caveats to surface to me - Beta product. Pricing isn't fully finalized. SLA undefined. Could change. - No batch endpoint. Mass sends (newsletters to 1000+ recipients) need a loop — at ~150ms/send that's ~2.5min per 1000. Fine for crons, bad for sync user-facing flows. - No bounce webhooks yet. Surface failures via the response body's `permanent_bounces` array. - Suppression list auto-managed. Hard bounces, repeated soft bounces, and spam complaints get blocked. Spam-complaint suppressions are hard to remove (anti-abuse). - No per-message logs/dashboard yet. Use the response's `messageId` for tracking if I need it. - List-Unsubscribe headers are passed through verbatim — Gmail's bulk-sender requirement still met, but only if I include them in `headers`. ## Your first action Before writing any code: do step 1 (ask for prerequisites) and step 3 (audit existing sends), then propose the migration order with a brief explanation of the reasoning. Wait for my confirmation before making changes.
English
56
74
1.7K
298.7K
daniel
daniel@dlemesdev·
Qual contabilidade vocês recomendam ?
Português
8
1
8
3K
Igor ➔ extcontabilidade.com.br retweetledi
Claude
Claude@claudeai·
We’ve agreed to a partnership with @SpaceX that will substantially increase our compute capacity. This, along with our other recent compute deals, means that we’ve been able to increase our usage limits for Claude Code and the Claude API.
English
4.8K
12.1K
131K
23.8M
Igor ➔ extcontabilidade.com.br retweetledi
laryssa
laryssa@laroresa·
@MakaoliDoBeat por onde você ta abrindo seu cnpj? a empresa do @igorhalfeld, a extcontabilidade, cuida de tudo isso pra você e me ajudaram com essas dúvidas!! se tiver interesse, tenho um cupom de desconto deles, só pedir
Português
1
1
1
300
Sr
Sr@MakaoliDoBeat·
Galera que trabalha com cloud e segurança de forma PJ: Vocês colocaram a natureza jurídica de vocês como: MEI, SLU ou LTDA? To com dúvida sobre qual eu coloco o meu Obs: o faturamento é abaixo de 81 mil/ano #bolhasec #bolhadev
Português
5
2
9
2.6K
Joao Marins
Joao Marins@jgcmarins·
@igorhalfeld Kkkkkk paguei alguns chopps pra galera até chegar na transação que deu certo.
Português
1
0
1
2.4K
Igor ➔ extcontabilidade.com.br retweetledi
Joao Marins
Joao Marins@jgcmarins·
💠 Pix por aproximação 💠 Segunda-feira eu vivi um daqueles momentos mágicos de todo startupeiro empreendedor raíz (com direito a MacBook na mão no balcão do caixa e celular conectado via USB).+
Português
58
23
588
926.8K
manodeyvin
manodeyvin@manodeyvin·
o PJ com obrigações de CLT só se fode. dia de pagamento e o dollar tá assim
manodeyvin tweet media
Português
49
6
721
102K
Igor ➔ extcontabilidade.com.br retweetledi
Richard - Design for startups
Para você vender para 2.500 pessoas todo mês você precisa captar essa audiência de algum lugar. Construir o produto é a parte fácil, distribuir é o jogo. Com uma taxa de conversão de 5% na LP, você precisa de 50.000 visitantes. /* 5% é excelente, pra chegar nisso precisa de ICP calibrado e LP muito boa, a maioria fica em 1-2% */ Se isso vier de Ads, com CTR de 3% no criativo, você precisa de 1,6 milhão de impressões. /* CTR de 3% é criativo tb é fora da curva, a maioria não bate 1%. Pra acertar você testa dezenas. */ Agora a parte que pouca gente calcula. Se teu churn é de 20% ao mês, o tempo médio de vida dos clientes é de 5 meses. Em 5 meses você troca a base inteira. Para manter 2.500 clientes, você perde 500 clientes por mês, ou seja, precisa repor 500 todo mês só para ficar na mesma coisa. 500 conversões = 10.000 visitantes = 333.000 impressões (Se usar as mesmas % que usei acima) Todo santo mês, para sempre. /* Churn de 20% em ticket baixo é otimista, muita gente na bolha opera com 40-50%. O balde nunca enche. */ Para atrair, converter e reter nesse nível, você precisa dominar coisas que não são óbvias. O dev não sabe tudo. O designer não sabe tudo. O marketing não sabe tudo. Esse problema mora na interseção dos três.
pvbinatto ➔ organizeveiculos.com.br@pvbinatto

Qual a dificuldade de ganhar 50k mensal hj? Um app que vc vende a 19,90 mensal precisaria ter 2.512 clientes para isso bruto. Me diz aí, é fácil um app pequeno chegar nesse MRR? #bolhadev #bolhaSAAS

Português
20
23
453
26.4K
alisso
alisso@xesquedeles·
@igorhalfeld @gkpacker quão trabalhoso eh isso ai? a partir de qnts $ por mês vale a pena?
Português
1
0
0
175
Igor ➔ extcontabilidade.com.br
brasil tributa globalmente, quando tu deixa o salario em dol, tu precisa emitir NF colocando ptax se não fizer isso é sonegação e como o valor é alto, o haddad vai vir por traz no sigilo
Gabriel Packer → 👁️ visorfinance.app@gkpacker

@danieldowombo tá aí uma questão parece que em todo caso você estará errado tlg kkkkk vou ver com meu contador, mas acho que devo emitir quando converter, com o valor que chegará na conta do CNPJ

Português
2
0
20
4.7K
Igor ➔ extcontabilidade.com.br
@gkpacker negativo, em resumo se for a mais tu se dá bem, mas se for menor tu toma no cu pq tu já pagou imposto em cima do valor do dolar na epoca
Português
1
0
3
352