<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gijela</title>
    <description>The latest articles on DEV Community by Gijela (@gijela_0ca64c4a22346c4210).</description>
    <link>https://dev.to/gijela_0ca64c4a22346c4210</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4162946%2F829048c2-b21c-4619-aa49-8b777fc8c13b.jpg</url>
      <title>DEV Community: Gijela</title>
      <link>https://dev.to/gijela_0ca64c4a22346c4210</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gijela_0ca64c4a22346c4210"/>
    <language>en</language>
    <item>
      <title>From one pet photo to a Día de Muertos tribute video: a Cloudflare Workers walkthrough</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Tue, 20 Oct 2026 07:30:01 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/from-one-pet-photo-to-a-dia-de-muertos-tribute-video-a-cloudflare-workers-walkthrough-1l32</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/from-one-pet-photo-to-a-dia-de-muertos-tribute-video-a-cloudflare-workers-walkthrough-1l32</guid>
      <description>&lt;p&gt;Every October, a handful of AI pet-tribute videos go viral. Earlier this week I wanted to see how hard it is to turn that into a small paid product, so I built &lt;a href="https://dayofthedeadpetai.com" rel="noopener noreferrer"&gt;dayofthedeadpetai.com&lt;/a&gt;: upload one pet photo, pick a style, pay once, and get a 10-second vertical video with sound and no watermark back. It turned out to be a great excuse to exercise the whole Cloudflare Workers stack end to end.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TanStack Start&lt;/strong&gt; (React) for SSR pages with a bilingual &lt;code&gt;/&lt;/code&gt; + &lt;code&gt;/es/&lt;/code&gt; setup&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;D1&lt;/strong&gt; for orders, credits and jobs (SQLite, one worker)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;R2&lt;/strong&gt; (private) for source photos and rendered MP4s&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloudflare Workflows&lt;/strong&gt; for the long-running generation job&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stripe Checkout&lt;/strong&gt; + webhooks for payment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seedance 2.5&lt;/strong&gt; (through an API aggregator) as the video model&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The happy path
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Upload a photo (validated server-side: magic bytes, dimensions, MIME, ≤10 MB) straight to a private R2 key.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;POST /api/checkout&lt;/code&gt; creates a Stripe session. The webhook marks the order paid and grants credits atomically (idempotent by event id).&lt;/li&gt;
&lt;li&gt;Starting a generation reserves one credit in the same D1 batch that writes the job — insufficient balance rolls the whole batch back.&lt;/li&gt;
&lt;li&gt;A Workflow instance submits the reference-image task to the model provider, polls with backoff, streams the finished MP4 into R2, and only marks &lt;code&gt;completed&lt;/code&gt; after the object is verified.&lt;/li&gt;
&lt;li&gt;The order page polls until the video is &lt;code&gt;ready&lt;/code&gt;, then serves a short-lived signed download URL.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Gotchas I kept
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No public media.&lt;/strong&gt; The bucket stays private; downloads go through &lt;code&gt;/api/media/?sig=...&amp;amp;exp=...&lt;/code&gt; — an HMAC-signed, expiring URL served by the Worker. The model provider gets the source through the same signed URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credit return is exactly-once.&lt;/strong&gt; A failed job returns the credit via a ledger row keyed on &lt;code&gt;(generation_id, reason)&lt;/code&gt;; the unique index backstops workflow retries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSP + SSR inline scripts.&lt;/strong&gt; TanStack Start hydrates with inline scripts, so production CSP needs &lt;code&gt;'unsafe-inline'&lt;/code&gt; in &lt;code&gt;script-src&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native &lt;code&gt;/api&lt;/code&gt; routes instead of server functions.&lt;/strong&gt; Server-only logic lives in the Worker's fetch handler; the client just calls JSON endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Poster-first video embeds.&lt;/strong&gt; Samples on the homepage load posters, &lt;code&gt;preload="none"&lt;/code&gt;, and only stream on user click.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Workflows deserve a shout-out: &lt;code&gt;step.do()&lt;/code&gt; gives durable retries, and each step replays from D1 state, so a crashed run can't create a second provider task. 30 minutes of polling at 5/10/15-second intervals, then timeout → credit returned.&lt;/p&gt;

&lt;p&gt;One completed video costs one credit; a failed generation returns it automatically. Uploads are deleted after 72 hours, outputs after 7 days.&lt;/p&gt;

&lt;p&gt;If you're curious, the live site is &lt;a href="https://dayofthedeadpetai.com" rel="noopener noreferrer"&gt;dayofthedeadpetai.com&lt;/a&gt; — the Spanish version lives at &lt;a href="https://dayofthedeadpetai.com/es/" rel="noopener noreferrer"&gt;/es/&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>fullstack</category>
      <category>saas</category>
    </item>
    <item>
      <title>How to Score Higher at Krillion: A Rare-Answer Strategy Guide</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Tue, 13 Oct 2026 03:57:30 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/how-to-score-higher-at-krillion-a-rare-answer-strategy-guide-45mi</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/how-to-score-higher-at-krillion-a-rare-answer-strategy-guide-45mi</guid>
      <description>&lt;p&gt;Krillion is a daily trivia game with one rule that changes everything: &lt;strong&gt;the rarest correct answer wins&lt;/strong&gt;. Every day you get seven prompts and about 20 seconds each to type an answer. Two players can both be correct and finish far apart, because the game scores uncommon-but-real answers much higher than the obvious ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  The One Rule: Entity + Condition
&lt;/h2&gt;

&lt;p&gt;Reduce each prompt to &lt;em&gt;what kind of thing it wants&lt;/em&gt; (the entity) plus &lt;em&gt;the condition attached&lt;/em&gt;. A prompt for a 'region' is not a 'country'; a 'tournament' is not a 'sport'. Most near-misses come from matching the condition but missing the category.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Suppress the Obvious Answer
&lt;/h2&gt;

&lt;p&gt;If a name surfaces instantly, hundreds of other players typed it too. Let it go and reach one level deeper — a smaller country, a lesser-known composer, a rarer breed. That second, deeper answer is usually the rare one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Build Connected Routes
&lt;/h2&gt;

&lt;p&gt;Recall works better through maps, timelines, and semantic neighborhoods than through free lists. A year range or an adjacent domain surfaces names that random recall misses — and those are exactly the answers that score.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Learn From Yesterday
&lt;/h2&gt;

&lt;p&gt;The fastest feedback loop is checking what the game actually counted as rare. For today's dive, &lt;a href="https://todaykrillion.com/today" rel="noopener noreferrer"&gt;TodayKrillion&lt;/a&gt; tracks all seven prompts with a rare-answer reference and scoring tips every day. The &lt;a href="https://todaykrillion.com/guide" rel="noopener noreferrer"&gt;full guide&lt;/a&gt; walks through the entity-plus-condition method in depth, and the daily archive shows exactly what scored.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Treating a region like a country&lt;/li&gt;
&lt;li&gt;Typing the first name you can think of&lt;/li&gt;
&lt;li&gt;Spending 20 seconds staring instead of recalling along a route&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Play the category, not the obvious answer. Check &lt;a href="https://todaykrillion.com/today" rel="noopener noreferrer"&gt;today's rare answers&lt;/a&gt; after your own dive to build better recall for tomorrow. Score is a skill you can train.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>productivity</category>
      <category>games</category>
    </item>
    <item>
      <title>How to Generate and Edit Images with Ideogram 4.5 (No GPU Needed)</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Mon, 12 Oct 2026 06:23:48 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/how-to-generate-and-edit-images-with-ideogram-45-no-gpu-needed-5hf7</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/how-to-generate-and-edit-images-with-ideogram-45-no-gpu-needed-5hf7</guid>
      <description>&lt;p&gt;Ideogram 4.5 is a powerful image model for both text-to-image generation and image editing. Unlike pure generation, 4.5 shines when you need to edit existing images: change parts of a picture, keep the background, or create variations of a reference image.&lt;/p&gt;

&lt;p&gt;In this guide I'll cover the three core workflows and the practical settings that matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Text-to-image generation
&lt;/h2&gt;

&lt;p&gt;Keep prompts concrete: subject + style + lighting + composition.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;weak: "a cat"&lt;/li&gt;
&lt;li&gt;better: "a fluffy orange cat sitting on a wooden window sill, golden hour light, shallow depth of field"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ideogram handles long prompts well, and it renders embedded text reliably - great for posters, logos, and typography experiments.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Editing with reference images
&lt;/h2&gt;

&lt;p&gt;Upload an image and describe what to change. This works for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;restyling a photo into an illustration&lt;/li&gt;
&lt;li&gt;swapping the background while keeping the subject&lt;/li&gt;
&lt;li&gt;making product photos consistent across a set&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Local repaint (inpainting)
&lt;/h2&gt;

&lt;p&gt;Select the area you want to change and describe the new content. The rest of the image stays untouched - useful for removing unwanted objects, fixing details, or redoing a small region instead of regenerating from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  4.5 vs older versions
&lt;/h2&gt;

&lt;p&gt;Compared to Ideogram 3, 4.5 is meaningfully better at photorealism and text rendering. For editing and inpainting workflows the gap is even bigger: fewer artifacts and better respect for the unchanged areas.&lt;/p&gt;

&lt;h2&gt;
  
  
  No local GPU? Use a web app
&lt;/h2&gt;

&lt;p&gt;You don't need a local machine with a GPU to use Ideogram 4.5. Several web tools run it in the browser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tryideogram45.com" rel="noopener noreferrer"&gt;Try Ideogram 4.5 online&lt;/a&gt; - generate and edit without installing anything, pay per use with no subscription&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://tryideogram45.com/guides/ideogram-4-5-prompts" rel="noopener noreferrer"&gt;Ideogram 4.5 prompt guide&lt;/a&gt; - prompt templates and style presets&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://tryideogram45.com/guides/ideogram-4-5-vs-3" rel="noopener noreferrer"&gt;Ideogram 4.5 vs 3 comparison&lt;/a&gt; - when it's worth upgrading&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrap up
&lt;/h2&gt;

&lt;p&gt;Ideogram 4.5 covers the full cycle: generate from text, edit from a reference image, and repaint specific regions. Start with concrete prompts and a good reference, and you'll get usable results within a few iterations.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>Grade Your College Essay Like an Admissions Officer Would</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Sat, 10 Oct 2026 15:23:54 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/grade-your-college-essay-like-an-admissions-officer-would-4h54</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/grade-your-college-essay-like-an-admissions-officer-would-4h54</guid>
      <description>&lt;p&gt;Every application season, I watch students submit essays that are still first drafts. Not because they are lazy — because nobody told them what an admissions officer is actually looking for.&lt;/p&gt;

&lt;p&gt;Here is the honest truth: admissions officers read for five things. If you check them yourself before you submit, you will catch most of what would otherwise sink your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 things admissions officers read for
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Structure and organization.&lt;/strong&gt; Does the essay have a clear arc? Does each paragraph earn its place? A common failure: three paragraphs that all say "this experience shaped me" without a narrative spine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Story and specificity.&lt;/strong&gt; Concrete scenes beat vague claims every time. "I learned resilience" means nothing. "I fell off the bike at mile three and got back on at mile four" means something. Admissions officers spot generic essays instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Theme and insight.&lt;/strong&gt; Does it answer the prompt? More importantly: does it land on a real takeaway about you, not a quote from a self-help book?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Authentic voice.&lt;/strong&gt; Could this essay have been written by anyone else? If yes, it is a problem. Admissions officers are trained to spot consultant-polished and AI-written essays.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Language and clarity.&lt;/strong&gt; Word choice, sentence variety, mechanics. This is the polish layer — important, but it is the last thing you should worry about, not the first.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical checklist before you submit
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Re-read your essay and mark every sentence that could appear in any other applicant's essay. Rewrite those.&lt;/li&gt;
&lt;li&gt;[ ] Find your most specific sentence. If it is not in the first third of the essay, move it up.&lt;/li&gt;
&lt;li&gt;[ ] Read the prompt again. Does your essay answer it, or does it answer a slightly different question?&lt;/li&gt;
&lt;li&gt;[ ] Delete one paragraph that does not earn its place. You will be surprised how much stronger the essay gets.&lt;/li&gt;
&lt;li&gt;[ ] Read it out loud. Your ear catches clunky sentences your eyes skip.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Want a second read?
&lt;/h2&gt;

&lt;p&gt;If you want an outside read that costs nothing and never gets tired, I built &lt;a href="https://collegeessaygrader.net" rel="noopener noreferrer"&gt;CollegeEssayGrader&lt;/a&gt; — it scores a draft on those exact five dimensions in about a minute, free for a couple of essays a day, with a note on each dimension and the specific sentences to fix. Treat it as a diagnostic first pass, then take the near-final essay to a counselor for the human gut check.&lt;/p&gt;

&lt;p&gt;Good luck with your applications. And remember: the essays that get into selective schools are rarely first drafts.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
      <category>showdev</category>
    </item>
    <item>
      <title>The Emoji Guide to Aesthetic Bios: Which Symbols Match Your Vibe</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:49:55 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/the-emoji-guide-to-aesthetic-bios-which-symbols-match-your-vibe-662</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/the-emoji-guide-to-aesthetic-bios-which-symbols-match-your-vibe-662</guid>
      <description>&lt;p&gt;Emojis are the fastest way to make a bio feel "aesthetic" — but they also have a grammar. Use the wrong symbols and a pretty bio turns into visual noise. Here's the quick guide to which emojis and symbols match which vibe, plus a free tool that writes the whole bio for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why symbols carry more weight than words in a bio
&lt;/h2&gt;

&lt;p&gt;A bio has about 150 characters on Instagram, 80 on TikTok. Emojis are dense meaning in a tiny space — one skull, one lightning bolt, one wilted rose instantly says "grunge" without a sentence. The skill isn't adding emojis; it's &lt;em&gt;not&lt;/em&gt; adding the wrong ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emojis by vibe
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Grunge&lt;/strong&gt; 🖤 ⚡ 🥀 🪦 🦇&lt;br&gt;
Dark, muted, a little defiant. Keep them sparse — one or two per line. Bright colors kill the vibe.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Y2K&lt;/strong&gt; 💿 🪩 🎀 🌟 🍬&lt;br&gt;
Chunky, candy-colored, maximal. Retro tech symbols (CD, disco ball) read instantly as early-2000s.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minimalist&lt;/strong&gt; 🤍 ◻️ ✦ ⚪&lt;br&gt;
Almost none. A single quiet symbol or none at all — white space is the decoration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vintage&lt;/strong&gt; 📼 🌻 📷 🍂 📻&lt;br&gt;
Warm, film-toned. Cassettes, film cameras, sunflowers, autumn leaves anchor a throwback feel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Classic aesthetic&lt;/strong&gt; 🌸 🫧 ☁️ 🌷 🍓&lt;br&gt;
Soft and dreamy. Flowers, bubbles, clouds, berries — one or two per line keeps it readable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rules that make it work
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick one symbol family&lt;/strong&gt; and stay inside it — mixing skulls and butterflies reads confused.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Max two emojis per line&lt;/strong&gt; — more than that and the eye skips the words entirely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Symbols count toward the limit&lt;/strong&gt; — each emoji is one character, and a symbol-heavy bio can quietly hit 150 while looking short.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Where to get the raw material
&lt;/h2&gt;

&lt;p&gt;For ready-to-copy options, browse the &lt;strong&gt;&lt;a href="https://aestheticbios.com/bios/ideas" rel="noopener noreferrer"&gt;bio ideas hub&lt;/a&gt;&lt;/strong&gt; at &lt;a href="https://aestheticbios.com/" rel="noopener noreferrer"&gt;Aesthetic Bio Maker&lt;/a&gt; — it groups bios by style (grunge, y2k, minimalist, vintage, aesthetic) and by platform, including &lt;a href="https://aestheticbios.com/bios/discord-ideas" rel="noopener noreferrer"&gt;Discord bio ideas&lt;/a&gt; and &lt;a href="https://aestheticbios.com/bios/tiktok-ideas" rel="noopener noreferrer"&gt;TikTok bio ideas&lt;/a&gt;. The &lt;a href="https://aestheticbios.com/" rel="noopener noreferrer"&gt;generator&lt;/a&gt; picks the right symbol family for the style you choose, writes the bio, and trims it to the platform's character limit automatically.&lt;/p&gt;

&lt;p&gt;Pick a vibe, add your name and interests, copy. No sign-up, no watermark.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Instagram Bio Length: The 150-Character Rule and How to Master It</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:39:24 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/instagram-bio-length-the-150-character-rule-and-how-to-master-it-dce</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/instagram-bio-length-the-150-character-rule-and-how-to-master-it-dce</guid>
      <description>&lt;p&gt;Every social platform has a hard character limit on bios, and most creators hit it the wrong way — by pasting a bio that silently gets cut off mid-sentence. Here's a quick reference to every major limit, why the rules exist, and a free tool that does the counting for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The character limits that actually matter
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Bio limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Instagram&lt;/td&gt;
&lt;td&gt;150 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TikTok&lt;/td&gt;
&lt;td&gt;80 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discord (About Me)&lt;/td&gt;
&lt;td&gt;~200 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linktree&lt;/td&gt;
&lt;td&gt;150 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;X / Twitter&lt;/td&gt;
&lt;td&gt;160 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Instagram's 150-character cap is the one most people trip on, because a bio that &lt;em&gt;looks&lt;/em&gt; short in your notes app can quietly hit the ceiling once you add emojis and line breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually counts toward the limit
&lt;/h2&gt;

&lt;p&gt;Almost everything counts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Spaces and punctuation&lt;/strong&gt; — yes, every single one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Line breaks&lt;/strong&gt; — yes, each new line counts as a character.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emojis&lt;/strong&gt; — each emoji counts as &lt;strong&gt;one&lt;/strong&gt; character, even though it takes up the width of two or three letters on screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last point is the trap. A bio full of symbols can look spacious in your draft and still be over the limit once pasted, because the width tricks your eye but not the counter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens when you exceed the limit
&lt;/h2&gt;

&lt;p&gt;Instagram, TikTok and most platforms don't warn you — they just stop displaying everything past the limit. The result is a truncated sentence, a lost link, and a profile that looks sloppy to everyone who visits. Checking the count &lt;em&gt;before&lt;/em&gt; you paste is the only reliable fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 3-line rule that fits inside 150
&lt;/h2&gt;

&lt;p&gt;Most effective Instagram bios follow a three-line rhythm:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Who you are&lt;/strong&gt; — one short identity line ("soft life enthusiast", "chaos is my aesthetic").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What you're into&lt;/strong&gt; — a single interest line in your chosen style.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A small invitation&lt;/strong&gt; — "follow for the good vibes", "DM me your favorite throwback".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Keep each line under ~50 characters and the whole bio lands comfortably inside 150, even with a couple of emojis.&lt;/p&gt;

&lt;h2&gt;
  
  
  A free tool that does the counting for you
&lt;/h2&gt;

&lt;p&gt;If you don't want to count by hand, the free &lt;strong&gt;&lt;a href="https://aestheticbios.com/tools/character-counter" rel="noopener noreferrer"&gt;character counter&lt;/a&gt;&lt;/strong&gt; at &lt;a href="https://aestheticbios.com/" rel="noopener noreferrer"&gt;Aesthetic Bio Maker&lt;/a&gt; tells you exactly how many characters your bio uses and whether it fits — plus a quick reference table for every platform's limit. There's also a generator that writes and trims bios to the platform you pick, and copy-ready idea lists like &lt;a href="https://aestheticbios.com/bios/discord-ideas" rel="noopener noreferrer"&gt;Discord bio ideas&lt;/a&gt; and &lt;a href="https://aestheticbios.com/bios/tiktok-ideas" rel="noopener noreferrer"&gt;TikTok bio ideas&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;No sign-up, no watermark. Count it, trim it, paste it.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Aesthetic Bios for Instagram, TikTok &amp; Discord: a Field Guide + Free Generator</title>
      <dc:creator>Gijela</dc:creator>
      <pubDate>Mon, 05 Oct 2026 05:44:03 +0000</pubDate>
      <link>https://dev.to/gijela_0ca64c4a22346c4210/aesthetic-bios-for-instagram-tiktok-discord-a-field-guide-free-generator-3le6</link>
      <guid>https://dev.to/gijela_0ca64c4a22346c4210/aesthetic-bios-for-instagram-tiktok-discord-a-field-guide-free-generator-3le6</guid>
      <description>&lt;p&gt;Your Instagram bio is the first thing people read when they land on your profile. On a platform where every second decides a follow or a scroll-past, a bio that matches your feed's aesthetic is a small but real conversion tool. This post is a field guide to writing one — plus a free generator I built so you never have to stare at a blank text box again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why aesthetic bios work
&lt;/h2&gt;

&lt;p&gt;An aesthetic bio signals consistency. When your grid is soft and dreamy, a bio full of hard edges and corporate speak feels off. When your feed is grainy and dark, a bio that's all polite and polished betrays the vibe. The bio is the text version of your cover photo — it tells people whether they're in the right room.&lt;/p&gt;

&lt;p&gt;The other thing aesthetic bios do is take up space well. A good one is usually three short lines: who you are, what you're into, and a small invitation. Each line under ~50 characters, so the whole thing reads in one glance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 styles that dominate
&lt;/h2&gt;

&lt;p&gt;Most "aesthetic" bios fall into five families. If you can name yours, you're halfway done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Grunge&lt;/strong&gt; — rough, muted, a little defiant. Emojis like 🖤 ⚡ 🥀, lowercase energy, messy punctuation. Works with dark, grainy, black-and-white feeds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Y2K&lt;/strong&gt; — candy-colored and nostalgic. 💿 🪩 🎀 and confident one-liners like "stuck in 2002 (affectionate)". Pairs with saturated flash-photo grids.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Minimalist&lt;/strong&gt; — one or two clean lines, a single symbol like ◻️ or ✦, maximum white space. "Less, but better" is the whole design system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Vintage&lt;/strong&gt; — warm film tones, 35mm nostalgia. 📼 🌻 🍂 and references to a specific era (cassettes, old records, a decade).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Classic aesthetic&lt;/strong&gt; — the soft, dreamy default. 🌸 🫧 ☁️ and phrases like "collecting sunsets" or "in my photography era". Works with almost any feed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Character limits by platform
&lt;/h2&gt;

&lt;p&gt;The same vibe transfers across platforms, but the length rules are different:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Bio limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Instagram&lt;/td&gt;
&lt;td&gt;150 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TikTok&lt;/td&gt;
&lt;td&gt;80 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discord (About Me)&lt;/td&gt;
&lt;td&gt;~200 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linktree&lt;/td&gt;
&lt;td&gt;150 characters&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is where most people get bitten: a bio that fits Instagram gets truncated on TikTok, and an Instagram-length line looks thin in a Discord About Me. Always trim to the platform you're posting to.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to write one in 30 seconds
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick a vibe&lt;/strong&gt; that matches your existing feed (use the list above).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write one identity line&lt;/strong&gt; — who you are in a few words ("soft life enthusiast", "chaos is my aesthetic", "quietly building my soft life").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add one interest line&lt;/strong&gt; — the thing you post about most, in the style of your vibe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Close with a small invite&lt;/strong&gt; — "follow for the good vibes", "DM me your favorite throwback", "the quiet ones are listening".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cut&lt;/strong&gt; until every word earns its place. If a word can go, it goes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Ready-to-copy examples
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Grunge:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🖤 messy hair, messy mind
my personality is punk rock
follow if you're one of us
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Y2K:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;💿 stuck in 2002 (affectionate)
y2k music obsessed since day one
part of the retro club, u in?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Minimalist:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🤍 less, but better
currently: slow mornings
simple. done.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Vintage:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📼 archived in the 90s
my heart lives in the cassette era
follow for daily nostalgia
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Classic aesthetic:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🌸 soft life enthusiast
currently obsessed with sunsets
🫧 follow for your daily dose of aesthetic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  A generator that does it for you
&lt;/h2&gt;

&lt;p&gt;I got tired of copy-pasting examples and tweaking lengths by hand, so I built &lt;strong&gt;&lt;a href="https://aestheticbios.com/" rel="noopener noreferrer"&gt;Aesthetic Bio Maker&lt;/a&gt;&lt;/strong&gt; — a free tool that turns your name and interests into a styled bio for Instagram, TikTok, Discord or Linktree.&lt;/p&gt;

&lt;p&gt;Pick a vibe (grunge, y2k, minimalist, vintage or aesthetic), type your name and a couple of interests, and it generates a few finished options. Every bio is automatically trimmed to the platform's character limit, so the 80-character TikTok line and the 200-character Discord About Me both come out right-sized. There's also a &lt;a href="https://aestheticbios.com/tools/character-counter" rel="noopener noreferrer"&gt;character counter&lt;/a&gt; if you just want to check your own bio's length, and ready-to-copy idea lists like &lt;a href="https://aestheticbios.com/bios/discord-ideas" rel="noopener noreferrer"&gt;Discord bio ideas&lt;/a&gt; and &lt;a href="https://aestheticbios.com/bios/tiktok-ideas" rel="noopener noreferrer"&gt;TikTok bio ideas&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;No sign-up, no credits, no watermark. Generate as many as you want, keep the line that sounds like you, and paste it in.&lt;/p&gt;

&lt;p&gt;Happy bio-ing.&lt;/p&gt;

</description>
      <category>beginners</category>
    </item>
  </channel>
</rss>
