Author: Webmaster

  • Build a shareable brand sheet in 30 seconds

    Do this before you hit ‘Publish’!

    When you’re moving fast on an idea, the visual branding can feel secondary. But every campaign, product launch, or promotion still forces quick decisions in the moment: logos, core colors, type choices.

    That’s why establishing a baseline source of truth helps. It doesn’t have to be a full brand kit, but a one-pager reference that lays down basic brand guidelines can save you time and money from gaps, inconsistencies, and guesswork.

    You can use our DIY Brand Sheet Builder to create that baseline in seconds. Upload your logo, explore primary and accent colors, choose fonts, and export a clean PDF to share with team members and partners.

    Why this matters
    A brand one-sheet helps everyone move faster and stay aligned because they’re not hunting for files or making assumptions. You’ll get fewer rounds of edits and and a solid starting point if you bring in more experienced creative later (agencies and designers work faster when they can see what you’ve been using so far).

    If you’ve ever searched for “brand kit,” “brand guidelines template,” “one-page style guide,” “logo + color palette sheet,” or “creative assets to give to vendor”, you may have felt overwhelmed. Use our tool if you don’t want to create an account, download an app, subscribe to a service, or learn a new platform. You can also use it to experiment with visuals.

  • How much should a nonprofit website cost? (+ free RFP template!)

    Why it ain’t cheap, and how it could be…

    The market rate for a simple but custom brand website from a boutique agency typically lands around $50-80k.

    How do I know? I’ve got about eight years of agency experience; I’ve managed budgets and seen plenty of proposals sent and SOWs signed. I’ve also been on the other side and led digital vendor procurement for small and medium organizations – drafting RFPs, reading through proposals, and awarding contracts to the most impressive agencies. I’ve seen enough of that $50-80k range to vouch for it. But I can also vouch that it is WAY. TOO. MUCH.

    It’s definitely not in my interest to devalue website work. I’ve had my fair share of frustrations as a former freelancer who was once resigned to taking every lowball gig I could find, doing full-service site designs & builds for damn near minimum wage.

    But we should break down that $50-80k range…

    As of 2024, the Bureau of Labor Statistics placed the median pay for web developers and digital designers at $95,380 (about $46/hour). So, as a freelancer, if I were charging a “market rate” for a simple web project (which I estimate at 60-120 hours), I would end up billing at or below the $5k range when all is said and done. But let’s say I price myself 2x higher, because freelancers cost more, and then I add another 1.5x, because I have 10+ years of experience and know my worth. So now we’re at almost $17k. But even my inflated invoice is less than half of the lowest price point on the agency range.

    So how do agencies get by quoting so much for small web projects, and why are organizations okay with budgeting for such high estimates?

    When you’re paying for an industry standard website from an agency, this is where your dollars are going:

    • Overhead costs. Most obviously, it costs money to run a business. When you hire an agency with a sizable team, those costs (equipment, office space, taxes, licensing, insurance, admin, etc) are built into the rates they charge you. Standard business advice suggests that reasonable overhead lands at 25-30% of revenue, and agencies bill accordingly.
    • Team overload. Agencies tend to show involvement by assigning an entire team to your project – many with nebulous roles like account manager, client engagement lead, strategist, delivery lead, and a couple project managers to wrangle them all. On the client side, it looks structured, and that feels safe. But a team that size comes at a cost, and for a basic site, it’s probably not necessary.
    • Handoff tax. With a bigger team, you’ll also end up paying for bureaucracy over quality. At larger agencies, discovery, UX, design, and dev are typically separate lanes managed by process leads. Every handoff adds time, cost, and risk. I’ve seen pixel-perfect builds ship with missing CMS flexibility because the editor requirements died in the transition from design to engineering.
    • Over-definition. Larger teams also lead to more in-depth discovery phases and elaborate roadmaps. These can look impressive on paper, but for a basic site, they run the risk of over-complicating things. I’ve sat through weeks of workshops for a single landing page, only to lock the team into a rigid content model that nobody could edit later. You could end up paying twice: once for the sessions, again to undo the over-definition.
    • Process theater. Process is a huge part of the agency performance. It can feel tangible and reassuring to have multiple checkpoints, alignment sessions, discovery decks, and detailed project tracking sheets – these added layers of management and documentation create a sense of project progression. But let’s be real: most clients never look at those deliverables. They’re billed for five hours for more emails to bury in their inboxes. All that structure comes with cost and clutter.
    • Excessive tooling. Agencies love to pitch custom design systems and complex builds because they sound impressive on paper and boost their portfolio cred, but in reality, they can slow you down. And when multiple developers touch an over-engineered site, inconsistencies pile up fast, creating tech debt that makes every future change harder. This raises your dependency on developers and potentially locks you into costly infrastructure. Unless you need an app with complex integrations, stick to a mainstream platform with editor-friendly blocks.
    • Mandatory maintenance. Lastly, agency projects often come with an upsell in the form of a post-launch retainer, which becomes a necessity if your end product is a complex build with rigid templates. But the problem with maintenance retailers, especially for smaller accounts, is that agencies tend to deprioritize them. This means tickets may sit at the back of the queue, and a simple update could take weeks to reach production.

    Free RFP Template

    Calling out overpriced web work isn’t about devaluing the labor – it’s about building price transparency. And you need to decide if the large team and process-focused work is a good fit for your organization. Sometimes it do a good job of mirroring the bureaucracy of larger organizations, so it works. But for most small and mission-driven organizations, a $50-80k production is neither necessary nor wise to get a brand website that’s both usable and accessible.

    Small organizations need a lean partner, a practical scope, and autonomy, and the traditional agency model is simply misaligned with those needs. Our nonprofit RFP template helps you define ownership and outcomes clearly, so you don’t need layers of middlemen to translate your needs. Use it to find a focused, independent partner that can outperform every time, so you can free your budget for the work that really matters.



  • When the ‘Department of War’ looks at your LinkedIn page

    Or, how LinkedIn gets back at you for cancelling Premium…

    Yesterday, I logged into Tomcat Labs’s LinkedIn page too see that my tiny, humble organization had been searched by… the Department of War.

    In today’s climate of digital surveillance and constant breaches of data privacy, everyone expects the feds to be watching. So I reacted the way others do when feds appear in their analytics dashboard – I fretted momentarily. Should I be concerned? Am I on a watch list!?

    Having worked in government contracting before, it also didn’t escape me that it was September, aka federal buying season – the time of year when agencies scramble to spend the remainder of their budgets before the federal fiscal year ends. Which then made me start to think…in spite of all my efforts to build up my ideal client list, should I have actually set my sights on the Department of War? – I mean, no, absolutely not… but it is a funny thought exercise…

    It seems like government officials’ digital carelessness keeps creeping into the headlines, so they probably do need all the help they can get. Who could forget about the accidental adding of civilians to encrypted Signal chats where sensitive military information was being discussed. Or the former Congressman texting so openly about executive-level matters while on his flight that another passenger was able to record his entire conversation. Or the DOJ staffer who eagerly shared confidential information about to his Tinder date only to be secretly recorded. The list goes on! For all the billions that federal agencies spend on technological innovation, you might say there is room to grow when it comes to basic cyber hygiene. Is it a surprise to anyone that a 2023 DOI report on cybersecurity found “Password-1234” to be the Department’s most used password, while CISA has been begging software partners not to allow default passwords anymore… and federal agencies still drag their feet on adopting multi-factor authentication because apparently it’s too confusing?

    Anyway, after my mind finished running through these entertaining possibilities, I allowed myself to sink into the more logical and boring explanation – that it wasn’t the Department of War itself that sought out my page, but more likely one or two individual employees who probably searched broad terms like “AI” or “cybersecurity”, and my page happened to surface enough for LinkedIn to flag those search demographics.

    And this in itself is likely a deliberate design choice on LinkedIn’s part – dropping subtle cues that prompt users to go down the rabbit hole wondering what the intent could be. As you have now seen, it’s hard for anyone not to get imaginative when they see the words Department of War sitting in their analytics dashboard. What a better way to drive repeat logins than allowing users to think that the federal government is seeking out their organization? If they’re looking, then who else is???

    The bigger elephant in my room is that I did cancel LinkedIn Premium earlier in the month. When it comes to top page searcher data, LinkedIn doesn’t tell you the specific employee that searched, or what keyword led them to you…unless you have Premium. And right above the “Top Page searcher demographics” section sits the upsell – “Identify business prospects who found your Page – See who’s visited your Page and more with Premium.”

    Brava on the clever engagement tactic, but I won’t be resubscribing to Premium. I was only in it for the free month trial anyway.

  • The return of the webmaster

    Thank god one builder is enough again…

    In today’s tech landscape, entire disciplines exist just to manage the sheer bloat of oversized teams. Anyone unlucky enough to have held the role of ‘Scrum Master’ before knows the horror of a job where the core function is to herd developers through layers and layers of administrative hurdles, meetings, and formalities ending in reports and graphs that ultimately nobody really looks at.

    Why is this a thing? Because what used to be a simple, focused build has blown out into multiple frontend teams, backend teams, UX designers, UI designers, copywriters, content strategists, and a thick, suffocating layer of process on top of the actual work. If you’re in this field, then you know it’s perfectly commonplace for a single landing page build with minimal functionality to drag on for a year or more.

    It wasn’t always like this.

    In the 1990’s, when companies needed a website, they only hired one person – a webmaster. One person designed, coded, and managed the whole thing – often times on top of their regular admin or IT roles. Call me old fashioned, but I’m still wondering how the heck we got to a point where a six-figure budget and a multi-million-dollar agency with 200+ staffers are norms when it comes to shipping sites.

    In the good ol’ days, the webmaster was that full-service end-to-end digital product team. They mapped the page layouts, user flows, and navigation, and then hand-coded everything in raw HTML (later adding CSS, JavaScript, even Flash) to bring a site to life. On top of that, they’d design logos or edit graphics when needed.

    They also set up and maintained the web server, pushed deployments through FTP, and kept the content fresh by adding, updating, and formatting pages. Webmasters handled early SEO too, by tracking hit counters, submitting sites to search engines, and implementing clever techniques to up search rankings.

    And they even doubled as customer support. Remember those “Contact the Webmaster” links at the bottom of old sites? That was the catch-all inbox for broken links, typos, and cross-browser quirks, and the webmaster was the only one who knew how to answer to them.

    That role is a lost part of history. Search for “webmaster” jobs today and if you find the antiquated title at all, you’ll see see it in the form of caretakers of legacy systems – usually government or education who are still maintaining sprawling sites stuck on old frameworks – or you’ll find it’s branched off into more content or devops specific roles. All of these are only slices of what the webmaster used to be.

    Web 2.0 brought dynamic, database-driven sites with enhanced interactivity and more moving parts, and that leap in complexity also expanded and fragmented the work. Not to mention that tech companies became stuffed with venture capital, so they could afford to carve jobs into silos. Specialization became a way to show legitimacy. Suddenly, you “needed” backend engineers for databases and servers, frontend engineers for rich interfaces, UX designers to map flows, sysadmins for scaling uptime, QA testers to catch bugs, and project managers to herd it all. It’s only gotten bigger and more bloated as time has gone by. And the true generalist webmaster – the one who could conceive, design, build, and ship a whole platform end-to-end – was killed off by Web 2.0.

    But guess what? We’re back, baby! With today’s vibe coding and AI-assisted dev tools, much of that “necessary” specialization could be collapsing again. Because a single person can now spin up a full-feature MVP in hours.

    Of course, not everyone in the industry is rushing to embrace this concept. Apart from general skepticism around AI tools, there is the element of job security – if one person can ship what used to take a team of twenty, what happens to the other nineteen people? For many, vibe coding feels like another way for corporations to slash payrolls and scale profits. That fear is justified, too. Since gen AI tools popularized, we’ve been knee-deep in the biggest surge of tech layoffs since the dotcom bubble – whether causation or correlation, this is still our current reality.

    Corporations may have dollar signs in their eyes for AI tools, but not everything in the world has to be for them. The rise of AI tools also means that small teams and underfunded orgs can finally build what they’ve been priced out of. The same cost-cutting tools that makes Big Tech salivate can also put real power back in the hands of the people who’ve been locked out of innovation.

    AI tools are actually handing us something that Big Tech, in spite of their profit-rearing measures, has completely lost sight of: efficiency without bloat. That’s the rebellion. We can wield vibe-coding to help individuals, grassroots orgs, and small teams finally compete with institutions that waste millions just to stuff their own pockets, and maybe even render their services useless.

    And thank the fucking lord. After years of climbing through layers of administrative fluff to get products shipped, we can finally do the work in two weeks that everyone else drags out for two years.

  • A rideshare app that can’t navigate: why Uber’s GPS sucks

    Uber gaslit me with its ETA and all I got was gridlock and a missed train.

    I don’t use Uber often, but when I do, it’s usually for a time-sensitive trip: a train station, an airport, somewhere I can’t afford to be late…which I recently learned is probably not the best use case…

    Last week, I missed my train after an Uber ride took double the time estimated. I live about six miles from the station, a straight shot down the main road. It’s normally a twenty minute drive. But that day, Google Maps, Apple Maps, and Waze all showed that main road as deep red due to construction, congestion, and the sticky sluggishness of summer. Luckily, the maps also showed ample alternate routes – a brief detour on the interstate, for example, could keep the trip to its usual twenty minutes.

    When I booked my Uber, the app confidently asserted that I’d be at the station in exactly twenty minutes, a comfy fifteen minutes before my train’s departure time.

    Perfect, I thought. Uber’s *elite* GPS knows the best way to route around the traffic.

    Except! It doesn’t. The driver’s in-app GPS sent us straight into the most congested road, the exact one the other apps had warned against. Yet Uber’s ETA remained unchanged.

    As I sat at a standstill, I clung to the idea that maybe Uber had cracked something the other navigation giants hadn’t. This was a company with the resources to build its own routing engine – surely their billion-dollar infrastructure had spotted a coming break in traffic the other apps hadn’t caught yet?

    Nope. As my ETA came and passed, the app began revising my arrival time in painful minute-by-minute increments, all the way until I finally arrived at my destination with the train long departed from the platform.

    What the heck? Why did Uber’s navigation system do that?

    I felt compelled to report this issue to Uber, my naive mind imagining a product team eager to troubleshoot a potential flaw in their pride of a proprietary navigation system. After all, in a 2015 blog post, Uber’s engineering team did brag about the accuracy of their technology. “Ultra-efficient route planning and highly accurate ETAs are critical“, they said.

    In spite of this, every customer service channel shut down my attempt to escalate, offering nothing beyond the canned line: “We are working towards improving ETA accuracy.” A few responses reiterated Uber’s five-minute grace period to cancel a ride for free, as if that had anything to do with the problem at hand. It began to seem like this was a issue that Uber’s support team was probably trained to deflect and contain.

    After digging deeper, I found that Uber’s subpar GPS was in fact a known and widely reported issue by drivers and riders alike, with complaints going as far back as 2014 when Uber first rolled it out with the promise of getting riders to their destination “via the best possible route,” as stated in a press release at the time.

    “The [new] Uber navigation is quite poor. It often suggests a bad route” an early user reported in 2014.

    Over a decade later, it seems like not much has changed. In a recent post on r/uber titled “Why is the Uber GPS so bad?“, the OP said: “The GPS always gives my drivers the worst routes.” On RideGuru, a driver shared that Uber’s GPS sent them “in circles”, but switching to Waze found the destination “right away”. A Redditor on r/uberdrivers explained: “If you’re using Uber GPS … they’ll make you take the shortest route even if it takes much longer, then pocket the difference on their flat-rate trip.” Another Redditor added bluntly: “The algorithm was set to lowball drivers as much as possible.”

    Before rolling out their own system, Uber relied on Google Maps for routing (which Lyft still uses today). But Google’s API fees, combined with a well-publicized feud between the companies pushed Uber to invest in its own navigation system. Today, from what I can gather, Uber’s routing engine is a hybrid stack of global street data coupled with open map database to fill coverage gaps, as well as third-party imagery and geocoding services to enhance accuracy.

    What’s missing? Leading navigation apps all ingest traffic data from millions of devices and live incident reports, updating routes in near real time. Uber’s data comes primarily from its own insulated database of trips, a smaller and less continuous dataset. Traffic updates may only come periodically and from fewer data sources, making Uber’s routing service slower to reroute around unseen congestion.

    Ahh, I think back to an airport trip a few years ago when Uber routed my driver to drive straight into a construction site… where a street used to be. Makes sense now.

    So, why, after 10+ years of complaints from riders and drivers alike, is Uber’s strategy to smother the issue as quickly as possible? Do we even get a strategic PR response?

    Probably not.

    There isn’t really a compelling business case to change it.

    Uber’s routing technology was probably never built to prioritize accuracy. Its algorithms likely balance multiple incentives like trip acceptance rates, driver pay structures, and overall platform efficiency. For example, if an inaccurate but optimistic ETA nudges riders to book faster or drivers to accept more trips, then that could be seen as a success factor from a business standpoint, one that would compensate for any business cases to recalibrate toward more realistic arrival times.

    Because the system leans heavily on its own proprietary data, it probably suffers from something known as algorithmic inertia. Instead of drawing on the vast, real-time traffic datasets that power leading navigation apps, Uber’s navigation learns from the routes its own drivers have historically taken. If a particular path was used a lot in the past, the model likely treats that route as “high-confidence” simply because it has the most trip history behind it. Over time, that reinforces the same routing decisions, good or bad, locking the system into its own feedback loop.

    Despite years of complaints, the issue of mapping accuracy doesn’t seem like it’s gained enough traction to sway Uber’s drivers or customers toward competitors. And Uber spends only about 1% of its revenue on platform R&D, which seems rather low for a tech giant. But the message is clear. Uber is perfectly happy with its scotch tape of a navigation system.

    Anyway, when the routing feels slow, most riders blame the driver, not the platform. It’s the perfect setup for the tech-centered “share economy”: the platform keeps its margins, the worker takes the heat. But that’s a topic for another post.

  • We were literally born onto a planet that grows food how did we fuck up so bad that I have to budget?

    I made a budgeting app…

    How many times have I sworn I’d start budgeting, made a convoluted spreadsheet or downloaded some fancy app, tinkered around with it for a couple hours, and then never touched it again? It took me most of my self-supporting life to finally actually commit to keeping a budget. That’s like…two decades, but I found a tool that works for me. I made it myself.

    We’re constantly reminded that we live in a culture of short attention spans and instant gratification. Social media content is there for a quick hit; shopping apps operate on 1-button checkout and delivery in hours. Why don’t budgeting apps follow this trend? Most of the top tools out there are bloated with dashboards and features that demand you sit down for hours to map out at least a month in advance. But who has the time, foresight, or mental bandwidth for that kind of planning?

    Having tunnel vision for the short-term makes sense in this economy where everything feels temporary and unstable – jobs, housing, benefits, even health. How can one project 30 days out if even the next 24 hours feels in flux? Even for those in stable positions, the threat of economic uncertainty feels like it could be just around the corner. Long-term planning seems to offer few real guarantees.

    Still, most budgeting apps are built with pre-existing financial stability in mind. They cater to users who already have steady paychecks, routine expenses, and a comfortable buffer between income and bills. They’re built to help with things like fine-tuning savings goals, tracking discretionary spending, or planning for future vacations. These features assume you already have money, not that you’re trying to figure out how to hold on to it.

    YNAB, for example, asks users to allocate their income into top-level categories – bills, needs, and wants – and then into neat little subcategories like rent, groceries, self-care, and travel. But for people who see their finances through a paycheck-to-paycheck lens, spending often spikes right after payday and tapers off as money runs out. The way I see it, category-based forecasting doesn’t aim to change that habit, it only spreads it out. Not to mention that if your income isn’t stretching far beyond the basics, you don’t have much to allocate in the first place. Across the board, budgeting apps also tend to require connecting bank accounts, paying subscription fees, and figuring out complicated dashboards. For apps with more complex data functions, the learning curve can be steep.

    But what about people working irregular hours, getting paid in cash, and living off thin margins? What about people who simply don’t have the time to set aside each month to plan out their financial projections in speculative detail? When it comes to budgeting, managing wealth and navigating precarity are two entirely different missions, and should be approached as such.


    What could a more effective budgeting tool look like?

    Here’s what I believe:

    • Budgeting should be daily. Daily insights are what people need when conditions change fast. It should be able to answer the question, “Can I buy this today and still be okay a few days from now?”
    • Privacy should be the default. No logins, no account linking, no hidden data capture.
    • Accessibility should be core. It should be offline-friendly, mobile-first, and most importantly, free.

    These aren’t just ideals. They’re design choice that are the foundation of the humble but useful budgeting tool I made myself called dailyallowance.

    Contrary to what Big Tech has allowed us to believe, useful apps don’t need to cost. Massive server farms, complex data pipelines, or pricey legal and third-party service agreements are not necessary when users own and store their own data locally on their devices, and profiting off sales or ad revenue isn’t a hidden core function. dailyallowance is lightweight, intentionally free of bloated integrations, and designed to run without tracking, syncing, or subscriptions.


    Install dailyallowance

    dailyallowance is a Progressive Web App (PWA), which means you don’t need an app store account or a subscription to get it. It installs directly to your phone in seconds.

    How to install the app on your phone:

    On iPhone (Safari):

    1. Open budget.tomcatlabs.com.
    2. Tap the Share button (square with arrow) in the bottom middle.
    3. Select Add to Home Screen.

    On Android (Chrome or Firefox):

    1. Open budget.tomcatlabs.com.
    2. Tap the three-dot menu in the top right.
    3. Select Add to Home screen or Install App.

    The app runs locally on your device, so you can open it offline.

  • I posted affiliate links before it was cool

    How a DIY space turned into capitalist clickbait hell…

    Affiliate marketing began in the 1990s as a way for early, scrappy web publishers to earn a percentage of e-commerce sales they helped generate. One of the earliest examples of this was CDNow’s BuyWeb program, which launched in 1994. The program was based on a simple idea: website owners who reviewed music releases could place tokenized product links for CDs their readers might be interested in purchasing. The website owners could then earn commissions from any resulting sales.

    In those early years, affiliate content focused on writing product reviews, posting about deals, and creating niche content. It was largely the domain of independent publishers, who ran forums, wrote long-form blog posts, and maintained product recommendation sites based on experience and genuine interest. It felt trustworthy, and many of these platforms gained loyal followings and strong SEO rankings early in the game, eventually becoming surprisingly profitable.

    As affiliate marketing turned DIY publishers into sustainable businesses in the 2010s, large corporations saw how lucrative this space had become, and their desire to get a piece of the pie led to edging out or swallowing up the independents.

    Media conglomerates began to acquire or launch their own affiliate commerce verticals. But their focus on prioritizing affiliate commissions over journalistic integrity meant that quality content quickly diminished into an algorithm-driven cash grab. When The New York Times acquired product review guide The Wirecutter, readers began to question whether products were still thoroughly tested or merely cursorily reviewed in pursuit of clicks.

    Today, large publishers churn out SEO-optimized listicles like “Top 25 Amazon Items You Didn’t Know You Needed” (spoiler: because you don’t) – frequently featuring low-quality, impulse-buy products selected only because price, trendiness, or other algorithmic signals predict strong rankings and conversions. I would assume that it’s pretty obvious to most readers now that content is now reverse-engineered from what converts rather than what informs. However, the conversions are still there, with Condé Nast reporting that as much as 20% of its revenue comes from affiliate partnerships. In any case, the landscape has shifted – affiliate content drives big sales not because the content is trustworthy or the products are quality, but because the content is everywhere, easy to skim, and exploits impulse behavior.

    Large finance and tech companies have also moved aggressively into affiliate marketing, with many investing in proprietary affiliate technology that embeds directly into their existing products. For example, Capital One uses its cardholder dashboards to promote its browser extension, Capital One Shopping (formerly Wikibuy), which promotes cash-back offers across online retailers. Powered behind the scenes by affiliate tracking, the plugin drops cookies, monitors activity, and applies Capital One’s own affiliate codes as users shop online. Capital One is uniquely positioned to maximize consumer reach with its affiliate technology, because it already has access to cross-promotion platforms, user segmentation and behavioral data, brand trust, and technological capital.

    With these advantages, large institutions are positioned to effectively absorb the affiliate model and sideline independent creators. In 2025, for example, a class-action lawsuit alleged that Capital One Shopping was overriding existing affiliate links, diverting commissions away from the smaller creators. Similar allegations have surfaced against other major players like Microsoft and Paypal. In turn, this has muddled advertiser trust, as these technologies can skew numbers to show referrals that the publishers didn’t originally capture. However, many advertisers continue to use these services, because they still reach millions of users, and, at the end of the day, advertisers are looking for results, not truth.

    Revenue-generating pathways for DIY publishers do still exist, but the playing field has shifted. A new kind of affiliate marketer has emerged in the form of short-form content creators. Due to the rise of TikTok and Instagram influencers, affiliate revenue has reshaped into something far more dependent on platform logic than personal trust. And unlike their blog-era predecessors, these new creators don’t own their distribution channels. They’re posting on platforms designed to prioritize engagement, meaning their reach depends on constantly shifting algorithms, and their success hinges on how well their content aligns with the goals of their platform. TikTok, for example, naturally boosts posts promoting products it already has inventory and deals for in TikTok Shop. Creators succeed when their content matches the platform’s sales priorities. It’s no longer based on products they actually use or trust, but reverse-engineered from what’s likely to convert.

    At the same time, we are seeing the affiliate networks themselves move beyond behind-the-scenes tracking and reporting – they’re launching their own publishing platforms and storefronts to capture more value across the affiliate marketing ecosystem. By running their own consumer-facing products, networks generate their own share of affiliate commissions rather than relying on the reach of third-party publishers. For example, Rakuten now operates its own cashback and deals site after acquiring Ebates, a successful publisher from within Rakuten’s own affiliate network.

    Although affiliate marketing as a side hustle remains popular and still enables small creators to generate a sizable income, the landscape has dramatically shifted. What began as an open, accessible system with low barrier to entry has been overtaken by large institutions that once dismissed the space yet now want to control it. These institutions have layered themselves between creator and consumer, and, in doing so, they have eroded the core values that made affiliate marketing effective in the first place: trust, authenticity, and genuine relationships between creators and their audiences. At its present state, content is only a vehicle for sales, not substance. It’s an afterthought.

    Instead of rewarding trust and insight, the system in its current state favors those who can scale traffic or intercept it. To restore balance and rebuild trust, we need new models that resist the logic of this extractive system, like cooperatively-owned affiliate networks where publishers of all sizes can help shape attribution standards and uphold guidelines for transparency and legitimacy. Such networks would empower all publishers to participate equitably and have a voice in shaping the ecosystem’s rules. And establishing such standards can benefit publishers, creators, advertisers, and consumers alike.

    Here’s how it could work:

    1. Creator-Led Governance
      Publisher members would vote on attribution policies, fee structures, and ethical standards. For example, most major affiliate networks use last-click attribution, meaning 100% of the commission goes to the final affiliate link clicked before a sale. While this model is easier to track, it disproportionately benefits large publishers that focus on intercepting purchase-ready users, through tactics like search engine capture, browser plugins, or retargeted ads. These methods often override the efforts of smaller or niche creators who may have introduced the product earlier in a consumer’s buying journey. Over time, networks become more aligned with large publishers, since they appear to generate the most revenue. A cooperative model shifts power back to creators, ensuring that platform policies reflect the diverse needs of the community, not just corporate-scale traffic machines.
    2. Transparent Attribution Technology
      In most major affiliate networks, publishers can usually only see if they got credit, but not why they didn’t. They can’t trace if a coupon plugin or retargeted ad may have swooped in and gotten that last click. In an equitable, cooperative network, members may opt for full transparency into how referrals are credited. Clear, open-source, auditable logs can show the full referral path, including who introduced the product, when, and through which channel. Members can verify, audit, adapt, or even vote to modify how attribution is handled, reducing disputes and preventing common abuses.
    3. Shared Revenue Pooling
      With transparency in the attribution flow, networks could move beyond awarding 100% commission to a single publisher. Instead, the commission pool could be distributed fairly based on actual, verified impact, ensuring that everyone who contributes along the referral path receives their share.
    4. Ethical Advertiser Vetting
      Because advertisers are the ones who pay the bills in affiliate networks, affiliate networks are pressured to cater to their business goals. This sometimes results in practices like revoking commissions with little transparency or recourse, enforcing strict rules on publisher content, or implementing program changes without advance notice. In a cooperative system, both advertisers and publishers would have equal representation and voice, ensuring that policies and decisions reflect the needs and fairness of the entire community rather than the business goals of advertisers.
    5. Discovery That Favors Quality
      If an affiliate network hosts its own consumer-facing platform, this platform could focus on recommendation and search algorithms that reward thoughtful, high-engagement content over what’s trending or keyword-packed, returning power to smaller publishers who focus on quality and insight.
    6. No Platform Middleman
      Unlike affiliate networks that use their consumer-facing platforms to capture commissions directly, a cooperative network would aim to remain neutral as a utility layer that supports the relationship between creator, consumer, and brand. If the cooperative were to operate a content platform, the network itself would not compete with its publisher network by creating its own storefront or consumer brand. It only facilitates those connections.

    A cooperative model may not match the scale of the existing players overnight. But what it lacks in mass, it makes up for in mission. By emphasizing shared governance, it aims to restore the foundational value of affiliate marketing – rewarding “mom-and-pop” publishers for their trustworthiness, unique taste, and commitment to transparency. More than that, it’s a step toward reclaiming the internet’s roots as a DIY space for free, honest information exchange and pushing back against the dystopian flood of ads and clickbait that dominate today.

  • The PM as middle management of empire

    “Driving alignment”, or just doing the executive team’s bidding?

    In modern tech companies, the Product Manager has become one of the most coveted and well-compensated roles. At many major tech companies, Product Managers (PMs) earn higher salaries and are framed as influential leaders, often described as the “CEO of the product” (yet, oddly enough, they don’t tend to hold direct authority over anyone). On paper, PMs are tasked with high-level decision-making, aligning cross-functional teams, and delivering business value. But beneath these ambiguous job descriptions lies a question that many (including myself, with eight years of PM experience) still wonder: What exactly does a Product Manager do?

    Unlike other product team members – engineers, designers, researchers – whose roles are rooted in tangible deliverables like code, wireframes, or data insights – the PM’s outputs often remain abstract: translation, prioritization, synchronization. A PM’s tangibles might look like a roadmap, a backlog, lists of KPIs and OKRs… but these are deliverables of process, not product.

    The PM today functions as an intermediary between executives and the teams who build, maintain, sell, and use the product. Sitting in the middle of different teams with different projects, timelines, and priorities, a PM ensures everyone is moving forward toward the same goal. But why is this coordination even necessary?

    Imagine an e-commerce company where the marketing team is setting up a seasonal promotion. Maybe design is updating site visuals to improve CTA’s, and engineering is fixing a bug to improve checkout flow. Meanwhile, customers are asking for subscription-based options to make repeat orders easier. All of these objectives point toward the same outcome – improving customer experience and increasing conversions. Because these are not conflicting goals to begin with, shouldn’t they, in theory, coexist without the need for a role tasked primarily with driving alignment?

    In practice, these teams don’t typically move as one. Even when they’re all working toward the same broad outcome, they tend to operate in siloes, where lack of shared context and real-time communication means redundancies form and opportunities get missed. A PM can play a vital role in timing and coordination.

    However, that need isn’t organic; it’s structural. It’s a direct result of an organization where decision-making has been isolated from implementation, and communication is flowing up and down rather than across. The need for a PM then only exists because of this hierarchical structure where strategic direction is set from the top, and execution must then be distributed across its disconnected teams.

    Now imagine in the e-commerce company that leadership has stepped in with a new mandate: “Break into a new market by the end of Q4.” Suddenly, each team’s efforts must serve this singular, timeboxed executive vision. Marketing’s promotion needs to shift if it doesn’t target the new audience. Design’s visuals must reflect a new brand voice. Engineering’s bug fix must consider new user behavior. A new order offer must appeal to potential customers over current customers. Someone is needed to translate, enforce, and prioritize this on behalf of leadership. That’s where the PM steps in.

    Now, just as much as the PM is there to deliver these leadership goals to teams, the PM is also supposed to communicate team realities upward. Maybe implementing a new market plan disrupts current efforts that are already driving growth. Maybe the timing is simply too tight. Ideally, the PM could help leadership weigh these tradeoffs, but within the PM’s intermediary function is a structural contradiction. Is it possible to represent diverse teams when proximity to power biases PMs toward executive priorities? In this context, the PM role begins to function more like middle management: accountable upward, while only loosely connected to the realities of day-to-day operations. “Driving alignment” begins to really mean “getting everyone to execute leadership’s vision without resistance.”

    This isn’t to say that PMs are consciously complicit in this system. Many, including myself, may approach the role with hopes of driving collaborative power and championing innovative ideas. But the rise of Product Management in its current form reflects a deeper tension in tech: the need to further drive the wedge between product teams and executives. Rather than shifting organizational structure to be more horizontal, companies are more focused on creating senior-level roles that drive insulation over innovation.

    If companies were structured more laterally, then the need for a central figure to “drive alignment” would shrink. Coordination would be built into the process, strategy would be co-developed, and information would be transparently shared. If tech is to become more equitable and community-led, the PM role might look entirely different, or disappear altogether. Product planning that is grounded in collective ownership probably wouldn’t necessitate adding a layer to act as translators of executive will, because there would be no executive will.

    So where does that leave the question of what exactly a PM does, or could do?

    I value coordination, but not when it reinforces hierarchy. My hot take is that product management should be about building spaces where alignment emerges organically. In a way, they should strive to make themselves less essential. As a role often classified as “generalist”, PMs possess – or should possess – the ability to shift from managerial bottleneck to hands-on contributors across diverse teams – stepping in to write copy, sketch up a wireframe, update a graphic, or fix a bug. All while recognizing that the PM role needs to be deliberately replaceable by design if the role is truly fostering the collaboration needed to build resilient teams. In doing so, PMs bring cohesion across functions not by directing from above, but by actively working alongside their teammates.

  • The revolution will not be in a SaaS dashboard

    Who’s profiting from the outrage?

    In 2012, a massive internet protest brought Congress to a halt. Millions mobilized online to stop SOPA and PIPA, two bills that threatened net neutrality and the free flow of information online. More than 7 million people signed petitions, and 4.5 million contacted their representatives. It was a catalyst moment that revealed how digital platforms could bring widespread attention to traditional institutions.

    That moment helped spark a market boom in online petitioning tools, CRMs, and campaign platforms designed to scale digital activism. More than a decade later, many of these tools have grown rapidly, and it’s time to take a closer look. Who owns them now? Are they controlled by private equity? How are their data practices? Are they properly amplifying grassroots power? As these platforms become essential infrastructure for modern movements, we have to ask: who really benefits from these platforms, and at what cost?

    Here are four things to keep in mind about what’s happening behind the screen:

    Most major advocacy platforms, like NationBuilder and Action Network, are proprietary and closed-source, meaning they don’t share their code base or data practices in the interest of transparency. While it’s up to client organizations to dictate how to use the data they collect, the platforms still control the underlying infrastructure, retaining broad control over how that data is stored, accessed, and potentially leveraged.

    Over the last five years, Apax Partners, a UK-based private equity firm, has slowly acquired much of the progressive digital advocacy ecosystem, including EveryAction, ActionKit, Salsa Labs, and NGP VAN, consolidating them under a single, profit-seeking enterprise known as Bonterra Tech. As the data processor, Bonterra Tech now controls the digital infrastructure housing vast amounts of user data collected by its subsidiaries. While data processors often uphold policies against selling or sharing user data, there’s little clarity around how they may use the data internally. Consider that Apax Partners also invests in defense contractors, including a telecommunications company blacklisted by the UN for operating in illegal settlements in Palestine, and it’s fair to wonder: Could insights from social justice campaigns quietly feed strategies for profit in entirely different industries?

    Implicit in their high costs, dominant advocacy platforms are often built to promote hierarchical organizing, where decisions are made by a well-resourced central organization or campaign leadership without sustained collaboration with impacted communities. The platforms routinely gather personal data such as emails, zip codes, donation histories, and even personal stories but neglect to offer functionality that could drive the continued input or consent of the very people the campaigns aim to uplift, such as visibility into campaign strategies, insight into how their data is analyzed, or participatory tools for shaping campaigns.

    Instead, these insights are available only to campaign managers to help guide top-down decisions on messaging, targeting, and fundraising. For impacted communities, these platforms reinforce a dynamic where they are mobilized only during urgent moments but excluded from ongoing strategic planning and decision-making.

    Nonprofits, like corporations, are also driven by return on investment. While the goal isn’t profit, success is still measured by quantifiable outcomes, such as the number of people who click, sign, or donate. Digital advocacy tools cater to this pressure by making it easy to generate high-volume engagement through quick actions. But this efficiency means focusing on surface-level interactions and favoring volume over substance. And tools designed to build off momentum and energy often aren’t designed to support long-term organizing or deeper community-building

    For example, the advocacy platform 5 Calls saw a major spike in site traffic this year, recording as many as 700,000 engagements in one week. As a nonprofit with an open-source platform, it’s clear that they value transparency and community involvement. But is that enough to counteract the broader trends shaping digital advocacy today? 5 Calls’s reliance on prewritten scripts and curated issues can reduce collective energy to a top-down transaction. Without strong feedback loops, they risk losing meaningful participant input and sustained engagement. As advocacy campaigns chase bigger numbers, tools like this become treated as substitutes for organizing rather than one small part of a broader ecosystem.

    When people sign a petition, donate, or join a campaign through a major advocacy platform, it usually collects far more than just their basic information. There’s also behavioral data, like where they click, when they engage, and how often they take action. This data is used to inform pathways for fundraising and marketing automation, creating detailed profiles that can be leveraged for targeted outreach. These targeting tools are often a key selling point for platforms, allowing them to charge clients more based on improved engagement and donation results.

    Platforms also benefit monetarily from the visibility and credibility of hosting high-profile campaigns. That attention attracts investors and institutional partners, concentrating power within the tech infrastructure. Grassroots movements, meanwhile, provide the energy but may not receive the resources. Take Change.org, for example – although it’s branded as a public platform for citizen action, the website is actually operated by a for-profit company. The platform monetizes petitions by encouraging targeted viewers to chip in financially. However, those donations typically go to Change.org itself, not to the organizers of the petitions or the communities impacted. The emotional urgency of social causes becomes a revenue stream, while the people doing the actual work remain unsupported.

    What’s the Alternative?

    To build truly liberatory digital infrastructure, we need advocacy tools that deeply involve impacted individuals and communities in shaping how technology is designed and deployed. Open-source platforms offer a promising path, allowing movements to adapt and audit tools to serve their needs rather than corporate incentives. Beyond the tech stack, data sovereignty must also be prioritized with clear, enforceable guidelines about who controls information and how it’s used. And rather than tools that funnel people into campaigns for short-term gains, infrastructure should support long-term relationship-building and collective care.

    The future of movement tech shouldn’t look like a sales dashboard – it should look like a transparent, participatory space where people co-create, share responsibility, and benefit collectively

  • On blanket anti-AI attitudes

    Blame the boss, not the bot.

    It’s easy to adopt a blanket anti-AI attitude when attention-grabbing arguments like “it’s stealing from us” and “it’s destroying the planet” have made their way to the front of the room. But in reality, most people are somewhere in the middle, stuck between concern and convenience, falling into an uncommitted “maybe it’s bad, but I’ll use it anyway” judgment. And sometimes this feels like the most disconcerting stance of all, even moreso than the extreme where one denies climate change and stans oligarchy. For the grey stance shows just how easy it is to quiet our concerns when we’re tethered to prompts and able to turn a blind eye.

    AI, specifically generative AI chatbot tools like ChatGPT, scrape data without consent, tear through natural resources, and draw us into new dependencies that feel increasingly forced.

    Nevertheless, my stance is that of the grey area. Am I one of those slippery types that I mentioned, taking the blue pill so I can chase the dopamine rush of indulging in a thoughtless conversation with a chatbot without having to feel too guilty about it later? That, of course, is not the way I look at it, but the polarity of the arguments makes it feel like my only choices are to swear off AI completely, or be a mindless consumer who prioritizes self-gratification over community or consequence. One or the other, no in between. And in the era of short-form content, our attention spans rarely tolerate nuance. But the truth is, my relationship with AI simply isn’t an all-or-nothing position.

    If you think about it, the root of most tech skepticism is actually Big Tech skepticism. The corporations rolling out the most prominent of AI tools are also the ones profiting off unethically harvested data, undermining privacy protections, experimenting on us in covert social engineering initiatives, and god knows what else. Their consolidated power has only given them more agency to pollute the planet, squeeze workers, and build ecosystems that force us to accept surveillance as the norm. The business models are extractive by design, so the products feel exploitative.

    When the most powerful AI platforms are controlled by a handful of large tech oligarchs, taking a firm stance against these companies feels inseparable from rejecting AI technology altogether. But is AI inherently bad?

    Technology didn’t always feel so monolithic. There was a time when innovation was driven by small communities building tools for open research and public benefit. The anti-war counterculture of the 1960’s was a driving force behind embracing technology as a tool for liberation and change. And some may recall the early internet as a decentralized playground of experimentation, collaboration, and possibility, far removed from today’s hyper-commercialized, dystopian space.

    It is true that many grassroots innovations have been absorbed, repackaged, and monetized by the likes of Thiel, Zuckerberg, Bezos, and other names I’d rather not feed into my SEO. And the speed at which such projects have turned into the proprietary, exclusive, and increasingly extractive products of Big Tech will leave many of us doubting that an alternative world ever actually existed. Yet community-driven tech work still persists. There are still people building tech for justice, education, accessibility, and collective care. Too often, these efforts are overlooked or dismissed in conversations that equate technology solely with Big Tech’s offerings.

    I believe that tools are not inherently good or evil; it’s how we use them that matters. Choosing to reject AI tools because of their problematic uses or corporate ties can feel principled, but it also risks leaving innovation and influence entirely in the hands of Big Tech.

    Consider how other technologies have evolved. Telephones, automobiles, electricity – all shaped by monopolies, extractive industries, and environmentally harmful practices – have nonetheless become essential to daily life, communication, and social movements. Smartphones, despite complex ethical concerns, have empowered grassroots organizing and expanded access in ways once unimaginable. If we had written off these tools entirely, we might have ceded them to the very forces we were trying to resist. Instead, history shows us that when people engage with technology, they’re more equipped to understand its mechanics and biases, advocate for better policies, and build community-driven alternatives.

    In the same way, AI tools also present possibilities on top of the challenges. And what we do know for sure is that they are now part of the world we navigate, and they aren’t going anywhere. Refusing to engage will not halt the influence of AI; it will only limit the range of voices shaping its future.

    It’s always important to hold things accountable for abuse of power. But it’s also worth reflecting on why certain things are put under the microscope while others aren’t. The carbon footprint of doomscrolling social media, streaming our favorite shows, or endlessly FaceTiming loved ones rarely sparks the same level of public outrage, even though these activities also harvest our data, surveil us, and rely on similarly energy-intensive infrastructure. What troubles me the most about blanket anti-AI stances is that they seem to focus more on signaling moral purity than pursuing structural change. While we argue over whether using these tools makes us complicit in harm, the tools themselves are evolving under the control of a handful of powerful actors.

    Ultimately, the question becomes: how can we participate in shaping AI’s role? How can we leverage its potential while staying critical of its origins and impacts? Perhaps that grey stance of “maybe it’s bad, but I’ll use it anyway” doesn’t have to be a position of apathy and complicity but one of awareness. It can reflect a willingness to engage with the tools while staying alert to the systems behind them. If opting out entirely means falling behind, and blind adoption means giving in, maybe this uncomfortable middle is the most honest and strategic place to be.