WIP Wrapped 2025
2025 was the year you proved (to yourself more than anyone) that consistency really does compound. You kept showing up every day—writing on
#lifelog, shipping on
#pluginsforcarrd, and stacking small iterations on top of each other until they turned into real momentum. The arc was basically: build in public, market like it’s part of the product (#marketing365), keep your inner game honest in
#lifelog, and keep the machine running even when infra, energy, or life got messy.
Completed per month
✅ 112 todos
Most active month
(130 todos)
⚡ May
Most active day of week
👍 Saturday
Least active day of week
👎 Sunday
Most active project
Jason's Plugins For Carrd
January
January was a very “ship + iterate” month for you: you kicked off 2025 by building in public, tightening up your tools, and stacking lots of small improvements across #commit365,
#lifelog, and
#pluginsforcarrd. You also had a few satisfying momentum moments—like the WIP 777 jackpot and your community hitting a 30-day commits milestone.
- Shipped the MVP #commit365 streak leaderboard, then kept polishing it fast: responsiveness, better loading/data fetching, meta/OG fixes, expand/collapse for long streak rows, and a bunch of mobile UX tweaks.
- Migrated #gitchart (GitHub Chart Remixer → GitChart) over to commit365.dev, including getting a Netlify edge function working so users don’t need their own GitHub token anymore.
- Brought more people into the #commit365 orbit by adding new members to the leaderboard and welcoming @matthewspear, @wilihandarwo, @adamdenverco, @ikoichi, @drodol, @leifjerami, @peoray, @screenfluent, @joaoaguiam, and @joshmccoy (plus directory additions like @deifosv and @poyashad’s projects).
- Got a big personal/work milestone: first day as a Carrd tech support agent, answering your very first ticket (
#pluginsforcarrd).
- Shipped for
#pluginsforcarrd: built and deployed the Copy Text app (dark mode, custom preset buttons saved in-browser, bug fixes), and simplified the canned responses tool UI into a single-page layout to reduce clicking.
- Kept
#lifelog moving with “Build Weekends”: shipped the custom Time Hop feature (your first ship of 2025), deployed /writingprompts plus a proper footer + privacy/terms pages, and improved notifications with mark-as-read behavior + skeleton loaders.
- Leaned into the “builder reflections” loop: you published multiple
#lifelog posts + your Saturday newsletters (including “My word for 2025 - Fire 🔥” and your 366-day coding commitment recap), and did hands-on SEO research for
#lifelog / #listskit /
#pluginsforcarrd.
- Had a couple of fun community/maker moments worth remembering: you hit jackpot 777 on WIP (#wip) and celebrated the #commit365 30-days-of-commits milestone.
February
February was one of those properly maker-heavy months where you just kept shipping across a bunch of lanes. You pushed
#lifelog forward with a real tags rollout, kept tightening up
#pluginsforcarrd (especially your Canned Support tool), and still found time to mess around with new AI workflows and even a mini game experiment.
- You hit 1500 consecutive days of daily writing on
#lifelog (4+ years) — an absurdly solid streak to carry into the rest of 2025.
- You shipped tag pages on
#lifelog (plus all the surrounding fixes), including filtering to see only a user’s posts for a tag (like @Winkletter’s daily-fiction tag).
- You published a big admin “massive update” post to bring Lifeloggers up to speed on everything shipped since Oct 2024, then wrapped the month with your Feb 2025 recap post.
- You reached 100 users in the
#lifelog database, and even got a new trial signup after a long quiet stretch (nice little momentum bump).
- On
#pluginsforcarrd, you kept iterating hard on your Canned Support tool: search, UX tweaks, onboarding modal, JSON downloads, resize toggle, redirects, and a steady stream of new preset replies.
- You wrote and published the Carrd blog plugin tutorial, and teased your “Google Docs to Carrd blog plugin” as the month’s new plugin build.
- You explored “vibe coding” with Cursor Agent mode (including getting a PHP API + Apache setup working), while also wrestling with the unglamorous reality of deployment.
- You took a fun detour into #indiejourney with Space Defenders (Space Invaders-style), then went straight into a WebRTC 2-player WIP—even with the connection breaking drama.
March
In March you were deep in builder mode across a few lanes: you kept your daily writing streak going with
#lifelog, kept iterating fast on the Canned Support tool under
#pluginsforcarrd, and still found time to ship fun stuff like #spacedefenders. It was a month of lots of small shipping wins—hotkeys, presets, word counts, leaderboards—plus a couple of real-world money moments that reminded you the work is working.
- You shipped a steady stream of upgrades to your Canned Support tool (
#pluginsforcarrd / #cannedsupport): new presets, cleaned-up presets, better editing UX, and lots of “look no hands” keyboard flow (Shift+Esc focus, Esc clear, sticky search, visibilityState auto-focus, and a shortcuts modal).
- You made it feel more real as a product: tightened the copy to clearly explain the use case, generated a logo, and kept polishing the UI (resizable areas, alignment tweaks, style fixes).
- You ran
#lifelog Build Weekends and shipped the total word count feature—per goal and per user profile—plus all the behind-the-scenes plumbing (batch processing, tagging posts, and updating counts on edit/delete), with deploys going out to Heroku.
- You kept the Lifelog rhythm going with daily posts (Days 1522–1550), covering everything from “Minimum Viable Payment” to burnout, procrastination, and big life decisions—basically documenting the whole indie journey in real time.
- You shipped game dev progress on #spacedefenders (#decodingcoding): got the high score leaderboard live (Netlify edge functions + Google Apps Script + Google Sheet), cleaned up hacked scores, and refreshed the aliens/spaceship skins to make it more fun.
- You kept the maker ecosystem moving with #commit365: added new members (including @swsalim, @ovistoica, @atresnjo, @Jiggydev), added new directory items (including your own Canned Support App listing), and fixed/added ads (including IndieBoosting.com by @goon_nguyen).
- You had a couple of clear revenue checkpoints: requested a US$1250 Carrd payout, sent a US$3500 invoice for Feb Carrd work, sent a S$1353 invoice for early March freelance work, and even landed a Keto List Singapore banner ad for S$60 (#ketolistsingapore).
- You stayed consistent with your #indiejourney newsletter grind too—publishing weekly Saturday issues (including ‘Freedom stack, v.2025’, ‘Old new stack’, and ‘The market doesn’t care about your feelings’).
April
April was a big “ship + reflect” month for you: you kept cranking on
#pluginsforcarrd while pushing
#lifelog forward with real community-facing improvements. You also mixed in some fun experiments (hello #fluffyUI and #spacedefenders) and doubled down on marketing accountability with #marketing365.
- You kicked off the month by hitting a personal milestone on
#lifelog: “Hit $10k/m income,” and captured the mindset shifts that come with leveling up.
- You shipped a new plugin commission calculator to your homepage for
#pluginsforcarrd (a super practical tool that fits your plugin ecosystem).
- You made steady progress on the Canned Support tool for your Carrd tech support work—adding and updating presets across the month (
#pluginsforcarrd #cannedsupport), basically turning support replies into a smoother system.
- You started #marketing365 to keep marketing effort on pace with shipping, then promoted your scroll-to-popup plugin all over (LinkedIn, Reddit, Pinterest, TikTok, IG, Imgur, Deviantart, FB group) (
#pluginsforcarrd #marketing365).
- You shipped meaningful infra/product work in
#lifelog: completed the all-posts total word count feature, manually updated totals for a bunch of active writers (@imknight @Lobacrow @taoski @WokeAmerican @jasonleow @brianball @peterdannock @Winkletter @andrewtsao @viking_sec @QeniD @zanedickens @phaidenbauer @drodol @luke @poppacalypse @lifelog @cat @haideralmosawi), and fixed /community leaderboard errors when calculations started timing out.
- You celebrated a wild writing milestone: more than half a million words (563,152) written on
#lifelog—proof your “long game” is really working.
- You did some “maker playtime” that still had teeth: built the meme-y #fluffyUI page with a payment link to test fate, and generated fluffy product icons with ChatGPT-4o (#fluffyUI #indiejourney).
- You kept the broader machine running too: fixed a Daylight Savings bug on #commit365 (thanks @goshatch), welcomed new folks to the leaderboard (@DavidMaliglowka @brucruz @JeremyNguyenPhD @yunuserturk @bennobuilder), and did the unglamorous admin like sending invoices + filing taxes (#indiejourney).
May
In May you were in full maker mode: shipping new Carrd plugins, polishing your support workflow, and doing a whole lot of consistent marketing (#marketing365) across basically every corner of the internet. In parallel, you kept showing up for
#lifelog with honest posts about burnout recovery, progress, and what “rest” actually looks like right now.
- Shipped and promoted the scroll-to-popup plugin (
#pluginsforcarrd) with a full launch circuit: newsletter, Substack notes, Telegram channels/groups, Reddit, and a bunch of social reposts.
- Followed up by launching the glitch text plugin (
#pluginsforcarrd) and shared it with the Telegram Carrd chat group + added it to your homepage listings.
- Pushed the custom loader plugin hard on distribution: sent the Substack newsletter and cross-posted it everywhere (Mastodon, Bluesky, LinkedIn, Reddit, Pinterest, Imgur, Deviantart, Threads, Facebook, etc.) as part of #marketing365.
- Kept improving your Carrd tech support workflow by steadily adding/updating a ton of 🥫 Canned Support presets (#cannedsupport), with multiple rounds of tweaks and expansions through the month.
- Built a new tiny product: Tag Checker (#tagchecker) — vibe-coded it fast, then iterated on UI/copy, error messaging, and added footer backlinks.
- Made meaningful progress on #ketolistsingapore work: migrated a big batch of listing images to ImageKit, iterated on the top banner design, published the top banner ad, and sent invoices (including S$100 for the banner ad and S$1389 for freelance dev work).
- On the personal/inner game side, you wrote a lot about burnout patterns and recovery (
#lifelog), then capped it off with a May wrap-up reflecting on signs of things getting better.
- Got a nice little community win on
#lifelog: 2 new free trial signups, with a shoutout to @isra.a.writes, @literarylatte, and credit to @haideralmosawi for organizing the writing challenge that helped drive it.
June
In June you kept the maker engine running on two tracks: shipping lots of small improvements for
#pluginsforcarrd (especially #cannedsupport) while showing up daily for
#lifelog with steady writing. You also leaned into distribution hard—posting your in-app redirect plugin basically everywhere—while juggling freelance work, family time, and a bit of travel energy in the background.
- You shipped Alt Text Checker (#alttextchecker) in a quick vibecoding sprint, then cross-linked it with Tag Checker (#tagchecker) to tie your little tools ecosystem together.
- You kept iterating on Canned Support (
#pluginsforcarrd #cannedsupport) all month—adding and updating presets constantly, plus introducing a new FAQs category for the replies you reach for most.
- You pushed a serious #marketing365 run for the in-app redirect plugin (
#pluginsforcarrd), sharing it across Telegram, Mastodon, Bluesky, Reddit, LinkedIn, Threads, TikTok, YouTube Shorts, Tumblr, Pinterest, Imgur, Giphy, and more.
- You got a nice “almost-passive income” moment with a Lemon Squeezy payout while on vacation, and you also moved a discounted Premium license sale for Lists Kit (#listskit).
#lifelog had real momentum: you hit daily entries through the month, including personal reflections like owning burnout, comparison, and travel pieces like “Wanderlove” and “Takoyaki profitability.”
- You had a couple of solid freelance checkpoints—sending invoices for S$1353 (26 May–5 Jun) and S$858 (9–20 Jun)—keeping the cashflow side of the indie journey moving (#indiejourney).
- You marked meaningful life beats in writing too, including Father’s Day 2025 and a reflective “46” post (
#lifelog).
- You captured that very real hotel-room moment: trying to reach your glowing laptop in the dark without waking the family (#indiejourney).
July
July was a really maker-y month: you kept
#pluginsforcarrd shipping and marketing hard across basically every channel, while
#lifelog stayed steady with daily posts and a clear “long game” mindset. You also kept pushing your own tooling forward (hello #cannedsupport, #decodingcoding, and a brand-new Dead Link Checker) while doing some real-life resets around fasting/keto too.
- You kicked the month off by launching the Embed PDF plugin on your home page and sharing it in the Telegram Carrd chat group (
#pluginsforcarrd #marketing365).
- You pushed your in-app redirect plugin everywhere and even opened a new marketing home base with your own Discord server, then wired it into your site + social profiles (
#pluginsforcarrd #marketing365).
- You built and shipped July’s new Carrd plugin: custom button icons — from rough first version to fixes (including the empty SVG edge case), tutorial done, and finally launched in the Carrd Telegram chat (
#pluginsforcarrd).
- You shipped a new standalone tool: Dead Link Checker, and kept the momentum going with a dedicated
#lifelog post about it (#indiejourney #decodingcoding #deadlinkchecker).
- You kept grinding on the Canned Support tool for your Carrd tech support workflow: DB tables, CRUD forms, login/logout/admin, and a ton of preset updates plus the new isFAQ attribute + reworked FAQ structure (
#pluginsforcarrd #cannedsupport).
- You did real directory maintenance on Commit365 — removing dead links, tagging inactive listings, and adding new listings (including TinyFormat by @alvivanco and Craft.Tattoo by @onurozer) (#commit365 #marketing365).
- On the personal ops side, you marked a freelance anniversary, sent invoices for both Carrd and freelance dev work, and also did a health reset with restarting fasting/ketovore and getting a week back on keto (
#lifelog #indiejourney).
- You ended the month with a nice little business win: +$10 MRR from a new subscription, bringing Lifelog to $107 MRR — and capped it with a July wrap-up post (and a thank-you to Hasan) (
#lifelog).
August
August was one of those classic maker months where you kept shipping across a few lanes at once: pushing
#pluginsforcarrd hard with both product and distribution, while keeping
#lifelog steady and reflective. You also kept quietly building momentum on #cannedsupport, turning it from “tooling for your own support work” into something that’s starting to look like a real SaaS.
- You shipped v2 of the Google Docs-to-Carrd blog plugin with text formatting, then kept polishing the experience (even if speed didn’t improve, you added loading messages so it feels less “stuck”)
#pluginsforcarrd
- You went full #marketing365 mode for the blog plugin—posting it basically everywhere (Reddit, Indie Hackers, LinkedIn, Mastodon, Bluesky, Threads, TikTok, YouTube, Pinterest, Tumblr, Facebook, Imgur, Giphy, plus multiple Telegram channels)
#pluginsforcarrd
- You built and launched August’s new plugin: a custom fonts plugin—starting from a rough first version, shopping fonts on Fontspace, writing the tutorial, archiving the CSS in GitHub, and promoting it on your homepage + Carrd Telegram chat
#pluginsforcarrd
- You requested a US$1500 payout from Carrd—real “this thing is working” energy after all the shipping
#pluginsforcarrd
- You hit a huge personal consistency milestone: 1700+ days on
#lifelog (4.6 years of daily writing without fail)
#lifelog
- You also crossed 1000 subscribers on your Substack, then kept the weekly Saturday newsletters rolling (from “Fundamentals of indie hacking” to “Indie hacking is a form of self love”) #indiejourney
- You made #cannedsupport feel more real: bought cannedsupport.com + cannedmessages.com, one-shotted new designs (login + admin), integrated the board with a PHP backend so it CRUDs to the DB, and shipped that big UX change from fixed preview window to hover preview popup #cannedsupport #decodingcoding
- You vibecoded a browser automation with plain JavaScript + Tampermonkey just to survive an awful driving centre booking flow—peak “build the tool you need today” moment #decodingcoding
September
September was one of those nicely balanced maker months where you kept shipping on
#pluginsforcarrd while still showing up daily for
#lifelog. You mixed consistent product work (especially on #cannedsupport) with a real push on distribution for your Carrd plugins, plus a few reflective personal threads around rest, routine, and what “home” feels like.
- You went hard on #marketing365 for
#pluginsforcarrd, promoting the commission calculator plugin across Reddit (r/Carrd + r/SideProject), Indie Hackers, X, Threads, Facebook, Instagram, TikTok, Pinterest, YouTube, Tumblr, Telegram, and even Giphy.
- You opened up a brand new marketing channel with a Straw Page site for your Carrd plugins, then wired it into all your profiles so people could actually find everything in one place. (
#pluginsforcarrd)
- You steadily improved #cannedsupport all month: lots of new presets, some preset updates, and a notable UX win with the split buttons change (after the 3-dots settings link kept messing with the hover preview). (
#pluginsforcarrd #cannedsupport)
- You hit a big community milestone with a 999-day streak on WIP, and then rolled right into that “1,000 just hits different” moment. (#indiejourney)
- You kept #commit365 moving too: added @Afraar99 to the leaderboard, added a new directory listing (APAC Agencies by @onurozer), and shared your “100 days left in 2025” progress check-in (1393 commits, no missed days). (#commit365 #indiejourney)
- You did the unglamorous but important admin work: renewed your business registration, renewed profilepicture.app, and also consciously let a few domains go—clean, intentional “end of an era” energy. (#indiejourney)
- You stayed consistent with
#lifelog through daily posts and ended the month with your September wrap-up, with recurring themes around rest being productive, routine, stress/cortisol, and your Chiang Mai reflections (including watercolor scenes and first impressions). (
#lifelog)
- You logged real indie business reality too: one customer churned (-$10 MRR, bringing
#lifelog to $117), and you sent an invoice for your freelance dev work for early September. (
#lifelog #indiejourney)
October
October was one of those solid “builder + thinker” months: you kept
#lifelog moving with daily reflections while steadily shipping and marketing
#pluginsforcarrd. You also put real energy into your support workflow with #cannedsupport, tightening the product and polishing how it shows up in the world.
- You shipped a brand-new Carrd plugin for the month: the video slider, and even archived the code to a Github repo (
#pluginsforcarrd).
- You stayed consistent on
#lifelog and closed the month with your October wrap-up, touching on challenges and what mattered most to you.
- You built a backup submission form for
#lifelog so daily writing can continue even if the site goes down during the db upgrade.
- You kept iterating hard on #cannedsupport: new presets almost every day, plus bigger polish passes like pricing tier updates, a Business tier price change, improved page styling, and a “how it works” flow.
- You handled a real ops moment: issued a full refund after Stripe flagged a possible fraudulent payment (
#lifelog).
- You fixed your animated gradient buttons plugin after Carrd changed DOM selectors/CSS classes — quick maintenance that keeps your stuff reliable (
#pluginsforcarrd).
- You went all-in on distribution for
#pluginsforcarrd: pushed the Google Sheets → Carrd table plugin and commission calculator plugin across a bunch of channels (Telegram, Indie Hackers, Facebook group, Instagram, Tumblr, Bluesky, Mastodon, LinkedIn, Discord, and more).
- You captured some very human check-in moments in
#lifelog—burnout flags, “passioned out,” energy givers vs drainers, and even a cozy “Mooncake midnight” reflection.
November
In November, you were in full maker mode: shipping steadily on
#pluginsforcarrd while keeping
#lifelog alive through some pretty gnarly infra headaches. It was a month of momentum and maintenance—marketing sprints, Black Friday prep, and a bunch of reflective writing that tied it all together.
- You shipped a bunch of real progress on the Canned Support tool, adding and updating presets throughout the month (
#pluginsforcarrd #cannedsupport).
- You built and featured November’s “plugin for the month” — Top Banner — and got it live on your home page and the mothership (
#pluginsforcarrd).
- You revived and then finalized your Carrd Black Friday deals hub (blacckfriday.carrd.co), plus rolled out the BF2025 promo code across Payhip, Lemon Squeezy, and Gumroad (
#pluginsforcarrd).
- You did a serious #marketing365 push for the Google Sheets → Carrd table plugin (sheet2table.carrd.co), posting it across a ton of channels and even sharing it in your personal Substack.
- You hit a clean milestone: 16k followers on Twitter (#indiejourney).
- On
#lifelog, you battled the Heroku/Postgres chaos and then finally found the root cause (that default 100-entry Strapi limit) — the kind of fix that lets you actually sleep again.
- You kept your daily writing streak going deep into the 1700s, including a gratitude-themed “Thanks-giving” reflection and a full November wrap-up (
#lifelog).
- You shipped your weekly Saturday newsletter consistently—showing up week after week with new essays like “Deciding ain’t committing” and “How to learn from failure” (#indiejourney).
December
December was a real blend of shipping and reflection: you kept
#pluginsforcarrd moving with lots of small-but-steady updates and a full-on marketing push, while
#lifelog was this daily thread of travel moments, hard truths, and year-end closure. You also hit some huge consistency milestones—then ended the month admitting you were exhausted and needed real rest.
- Hit 1800 consecutive days of daily writing on
#lifelog (and even wrote about what it took to keep that streak alive).
- Finally passed your driving test (Driving lessons X) — one of those life wins that feels extra sweet because it took persistence.
- Did a big distribution sprint for your glitch text effect plugin across basically everywhere (Mastodon, LinkedIn, Threads, Reddit, YouTube Shorts, TikTok, FB, IG, Pinterest, Tumblr, etc.) under
#pluginsforcarrd #marketing365.
- Kept iterating on your Carrd tech support workflow by adding new presets and repeatedly updating existing ones for #cannedsupport (quiet compounding work).
- Shipped a couple of practical SEO/marketing upgrades: added JSON-LD schema markup and started implementing llms.txt across your Carrd sites, starting with sheet2table.
- Closed out the year with a bunch of thoughtful
#lifelog retrospectives (best/worst of 2025, your word for 2025 “Fire,” products recap, open questions) — you didn’t just build, you processed.
- Noted a real business moment too: one long-time
#lifelog subscriber churned (-$9 MRR), and you still took a second to say thanks to Justin.
- Lived some memorable winter travel scenes in Japan—Sapporo “snow-globe town,” konbini nights, snowballs on a snowy day—and even an earthquake experience that probably made the trip unforgettable in a different way.
What stands out most is how “real” everything got this year: you weren’t just tinkering—you built systems that supported the way you actually work (hello #cannedsupport), and you kept turning shipping into something repeatable. You hit big maker milestones (daily writing into the 1800s, #commit365 still unbroken, MRR bumps, payouts/invoices) but the quieter wins mattered too: cleaning up dead links, fixing edge-case bugs, issuing refunds when you had to, and pushing through the Heroku/Postgres chaos until you found the root cause. You also kept choosing to document the truth—burnout flags, recovery, rest-as-productive, comparison spirals—which made the year feel lived-in, not just “productive.” And threaded through all that were the human snapshots: Father’s Day, turning 46, the dark hotel-room laptop juggle, Japan winter scenes, even finally passing your driving test after sticking with it. Going into 2026, you’re not just a person who can ship—you’re someone who can sustain, and you’ve got proof in a year full of small reps that added up to something solid.