<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Akash Bansal on Medium]]></title>
        <description><![CDATA[Stories by Akash Bansal on Medium]]></description>
        <link>https://medium.com/@blogs.?source=rss-98e8fa877c9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*k2MxHbvYdvAC6oGuoEKaYg.png</url>
            <title>Stories by Akash Bansal on Medium</title>
            <link>https://medium.com/@blogs.?source=rss-98e8fa877c9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 20:58:44 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@blogs./feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Keep, fake or cut: scoping a two-sided marketplace MVP]]></title>
            <link>https://medium.com/@blogs./keep-fake-or-cut-scoping-a-two-sided-marketplace-mvp-f85eded395e5?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/f85eded395e5</guid>
            <category><![CDATA[marketplaces]]></category>
            <category><![CDATA[mvp]]></category>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 20:01:01 GMT</pubDate>
            <atom:updated>2026-11-13T20:01:01.746Z</atom:updated>
            <content:encoded><![CDATA[<h4>Every marketplace feature falls into one of three buckets. Most founders put too much in the first.</h4><p>Two-sided marketplaces have a scoping problem that other MVPs don’t: you’re building for two kinds of user at once, plus yourself as the operator. The natural spec is four apps. Customer, supplier, admin, website.</p><p>I’ve built all four for a real marketplace. As head of technology at Urban Culture, an at-home salon marketplace, I worked on a customer app, a partner app, an admin console and a web app, and we grew to 500K registered users across six cities. They all earned their place. My point is about order.</p><p><strong>The test: is it on the transaction loop?</strong></p><p>A marketplace MVP needs one loop to work end to end. A buyer finds something, pays, a supplier delivers, the supplier is paid, and you can see and fix every step. If a feature isn’t on that loop, it’s a candidate for faking or cutting.</p><p><strong>Keep</strong></p><ul><li>A curated catalog or service menu. No supplier self-listing yet.</li><li>Checkout with payment upfront.</li><li>Supplier payouts, batched weekly. Stripe Connect in the US charges $2 per active account a month plus 0.25% + 25¢ per payout.</li><li>Status updates by SMS or email.</li><li>An admin view with an audit log of every manual action.</li></ul><p><strong>Fake</strong></p><ul><li>Matching or dispatch: you assign by hand, and the log becomes your data.</li><li>Vetting: an interview, a trial job and a checkbox.</li><li>Support: your phone number.</li><li>Reviews: one private rating per job.</li></ul><p>There are standard names for this. Doing the work by hand is a concierge MVP. Doing it by hand behind an automated-looking front is a Wizard of Oz MVP. Both are respectable, and both teach you the real workflow before you pay to code it.</p><p><strong>Cut</strong></p><p>In-app chat, wallets, referrals, coupons, search and filters, recommendations, a separate web app. A short curated list doesn’t need search. A landing page can link to the app.</p><p><strong>Which side gets the real app?</strong></p><p>Usually supply. In Lenny Rachitsky’s interviews with 17 successful marketplaces, 14 focused almost all early resources on supply. Three questions decide it: who uses the product daily, who has more alternatives, and where the hard part of the workflow lives. A partner doing five jobs a day needs an app. A customer booking monthly can use a web page.</p><p><strong>What you can’t cut</strong></p><p>The money flow, written down. A list of states and who can move between them. An audit trail for disputes. And ownership: your company should own the repository, payment account and cloud accounts from day one.</p><p><strong>Can no-code do it?</strong></p><p>For a standard listings-and-booking marketplace, yes. Sharetribe costs $39 a month to build and $199 a month live on yearly billing. It gets harder when your workflow is unusual: travel-dependent time slots, multi-vendor baskets, custom payout rules.</p><p><strong>When to build the next app</strong></p><p>When manual work on that side is a bottleneck you can measure: you spend an hour a day messaging them, the assignment log shows a pattern, or a cost line has grown enough that removing it pays for the build. That’s the rule that made our geolocation service (−80% maps cost) and coupon engine (+16% average cart) worth building at Urban Culture.</p><p>With this scope and one senior engineer, my rough estimate for a marketplace MVP is $15K–$28K over 6–10 weeks.</p><p>Full breakdown with the keep / fake / cut table: <a href="https://akashbansal.tech/blog/marketplace-mvp-what-to-cut/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=marketplace-mvp-what-to-cut">https://akashbansal.tech/blog/marketplace-mvp-what-to-cut/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=marketplace-mvp-what-to-cut</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f85eded395e5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The $50K agency disaster is a contract problem, not a people problem]]></title>
            <link>https://medium.com/@blogs./the-50k-agency-disaster-is-a-contract-problem-not-a-people-problem-4ba67f5cfda8?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/4ba67f5cfda8</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[founders]]></category>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 18:01:03 GMT</pubDate>
            <atom:updated>2026-11-13T18:01:03.907Z</atom:updated>
            <content:encoded><![CDATA[<p>There’s a genre of founder post that never goes away. On r/startups, one is titled “I wasted $50,000 building my startup.” Another is “Learn from my $38k mistake,” where a founder describes being sold by an agency pitch and paying $38K in advance for a 10% discount.</p><p>When you read the replies, the advice is rarely “you picked a crook.” It’s structural: tie payments to milestones, write the requirements down, own your code. The deal set up the failure before anyone wrote a line.</p><p>I’m a founding engineer who builds MVPs, so I have an interest here. But the useful part is the mechanism, and it applies whoever you hire.</p><p>A contract is a protocol</p><p>Think of a development contract the way an engineer thinks about a protocol between two parties with different incentives. A good protocol doesn’t depend on anyone being nice. It makes the expensive failure states hard to reach. Most burned founders signed a protocol with seven open holes.</p><p>Hole 1: money before work. Paying upfront removes your only leverage. A discount for paying everything upfront is a discount for giving that leverage away. Pay per milestone, released after you’ve clicked through a working demo.</p><p>Hole 2: scope as a vibe. If the scope lives in calls and a pitch deck, every misunderstanding becomes a change request. Write down what’s in version one, what’s out, and how changes are priced. Then get a fixed quote.</p><p>Hole 3: hourly incentives. As Brad Luttrell put it in his piece on outsourced development, “Agencies bill for hours, not years.” On hourly terms, nobody on the vendor side is paid to say “cut this.” A fixed price flips that.</p><p>Hole 4: being the small account. Luttrell again: “You will never be a priority.” Senior people sell and juniors build. Put the named engineer in the contract.</p><p>Hole 5: their accounts, your product. If the repository, hosting or app store account belongs to them, you’re renting your own product. Create the accounts yourself from day one, and get IP assigned to your company.</p><p>Hole 6: no visibility. “80% done” can’t be checked. A demo you can click every week can.</p><p>Hole 7: no exit. Software needs upkeep. Without docs, a readme and a handover, you’re tied to one team forever.</p><p>What good terms can’t do</p><p>They won’t stop you building the wrong product, and they won’t stop you changing your mind every week. Fixed scope also costs you flexibility: changes get priced. And plenty of agencies do good work. Commenters in those same threads said so. The question isn’t agency versus freelancer. It’s whether the structure protects you.</p><p>If you’ve already been burned</p><p>Get admin access to everything and export your data first. Pay an independent senior engineer for a few hours to judge whether the code is worth keeping. Read your contract. Then rescope smaller before you rebuild.</p><p>Full breakdown with the cause-and-fix table and sources: <a href="https://akashbansal.tech/blog/why-founders-waste-50k-on-agencies/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=why-founders-waste-50k-on-agencies">https://akashbansal.tech/blog/why-founders-waste-50k-on-agencies/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=why-founders-waste-50k-on-agencies</a></p><p>(~760 words)</p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4ba67f5cfda8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Firestore bills your read pattern, Supabase bills your instance: choosing a backend in 2026]]></title>
            <link>https://medium.com/@blogs./firestore-bills-your-read-pattern-supabase-bills-your-instance-choosing-a-backend-in-2026-8582609de7bc?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/8582609de7bc</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[startup]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 16:06:33 GMT</pubDate>
            <atom:updated>2026-11-12T16:06:33.403Z</atom:updated>
            <content:encoded><![CDATA[<p>I’ve shipped both. At Urban Culture (an at-home salon marketplace, 500K registered users, 6 cities) the four apps ran on Flutter, Node.js, Firebase and Cloud Functions, with a Firestore → BigQuery pipeline and Looker. On NextMantra, an AI recruiter I build solo, the API is NestJS on PostgreSQL. This is the engineer’s cut of my full comparison (link at the bottom).</p><h3>The difference is the database</h3><p>Everything else (auth, storage, functions, realtime) is close enough that it rarely decides. Firestore is documents and collections, read straight from the client, guarded by security rules. Supabase is Postgres: tables, foreign keys, SQL, guarded by row-level security.</p><h3>Pricing, checked November 2026</h3><ul><li><strong>Free</strong>: Firebase: Spark: 1 GiB, 50K reads / 20K writes / 20K deletes per day; no Functions or Storage; Supabase: 500 MB DB, 1 GB files, 50K MAU, 2 projects; pauses after 7 idle days</li><li><strong>Paid</strong>: Firebase: Blaze: $0.03 / 100K reads, $0.09 / 100K writes (Firestore Standard, default location); Supabase: Pro: $25/mo incl. $10 compute (Micro), 8 GB DB, 100K MAU, 250 GB egress</li><li><strong>Spend limit</strong>: Firebase: Budget alerts don’t pause services; Supabase: Spend cap on usage items; compute excluded</li></ul><p>Sources: <a href="https://firebase.google.com/pricing">Firebase pricing</a>, <a href="https://cloud.google.com/firestore/pricing">Firestore pricing</a>, <a href="https://supabase.com/pricing">Supabase pricing</a>, <a href="https://supabase.com/docs/guides/platform/compute-and-disk">Supabase compute</a>, <a href="https://supabase.com/docs/guides/platform/cost-control">Supabase cost control</a>.</p><h3>Firestore cost is a code-review topic</h3><p>Every document a query returns is a billable read. Illustrative maths: 10K DAU × 50 docs × 5 opens/day = 2.5M reads/day ≈ 75M/month. After the free quota, that’s about $22/month. A listener on a 500-doc collection that re-reads after every reconnect multiplies it by ten.</p><p>Two rules straight from the <a href="https://firebase.google.com/docs/firestore/best-practices">Firestore best-practices page</a>:</p><ol><li><strong>Never use offsets.</strong> Skipped documents are still retrieved and billed. Use cursors. On Aviate (Gmail → résumé scoring, unattended) I paged with cursors plus a bounded concurrency pool so background jobs stay within quota.</li><li><strong>Ramp new collections with 500/50/5.</strong> Start at 500 ops/sec and add 50% every 5 minutes.</li></ol><h3>Supabase cost is a sizing topic</h3><p>Free runs on Nano (shared CPU, ≤0.5 GB RAM, 60 connections). Pro’s credit covers Micro (1 GB). Small ~$15, Medium ~$60, Large ~$110 a month. A slow query won’t bill per row; it’ll push you up a size.</p><h3>Data model: per-user reads vs cross-user joins</h3><p>If screens mostly read one user’s things, Firestore is fast and simple. If screens join across users (teams, roles, invoices, “unpaid invoices for customers in Pune”), Postgres is one query and Firestore is denormalised copies kept in sync by functions. A marketplace sits in between: Firestore for the apps, plus the official <a href="https://extensions.dev/extensions/firebase/firestore-bigquery-export">Firestore → BigQuery extension</a> for reporting, is a shape that works.</p><h3>Security: same failure, different syntax</h3><p>RLS off or using (true) on Supabase; test-mode or &quot;signed in but not owner&quot; rules on Firebase. Policies in SQL are easier to review in migrations; App Check is a real Firebase advantage against non-app clients.</p><h3>Other options</h3><ul><li><strong>Firebase SQL Connect</strong> (previously Data Connect): managed Cloud SQL Postgres, 3-month trial, then from about $9.37/month per Firebase’s pricing page. Spark projects not upgraded by the end of the trial get archived.</li><li><strong>Plain managed Postgres</strong> (e.g. <a href="https://neon.com/pricing">Neon</a>, which scales to zero) behind your own API.</li></ul><h3>My rule of thumb</h3><p>Three entities linked many-to-many on day one: Postgres. Mobile-first, per-user, offline: Firebase, with BigQuery when reports arrive. Migrating later is a data model migration, so the first choice matters more than the bill.</p><p>The full article, with tables and sources: <a href="https://akashbansal.tech/blog/firebase-vs-supabase-2026/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=firebase-vs-supabase-2026">https://akashbansal.tech/blog/firebase-vs-supabase-2026/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=firebase-vs-supabase-2026</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8582609de7bc" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Seven checks before you decide your vibe-coded app needs a rebuild]]></title>
            <link>https://medium.com/@blogs./seven-checks-before-you-decide-your-vibe-coded-app-needs-a-rebuild-709debd20bea?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/709debd20bea</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 16:06:20 GMT</pubDate>
            <atom:updated>2026-11-12T16:06:20.108Z</atom:updated>
            <content:encoded><![CDATA[<h4>A security-first way to decide whether to keep prompting, rescue or rebuild an app made with Lovable, Bolt, Cursor or Claude Code.</h4><p>When a vibe-coded app “hits a wall”, founders usually feel it as friction. Every prompt that fixes one screen breaks another. The AI rewrites the same file over and over. Nobody is sure why login sometimes fails. Those are structure problems, and they’re fixable.</p><p>The problems that should worry you are the ones you can’t see in the UI.</p><p><strong>1. Row-level security.</strong> If the browser talks directly to a Supabase or Postgres backend, RLS is the only thing stopping a visitor from reading every row. Supabase’s docs say RLS should always be enabled on tables in an exposed schema, and tables created with raw SQL don’t get it by default. In 2025, Matt Palmer scanned 1,645 Lovable-showcase apps and found 170 with 303 endpoints exposed by inadequate RLS (CVE-2025-48757). On one app, a visitor could insert records marked as paid. Query pg_tables for public tables where rowsecurity = false, then check that each policy limits rows to their owner. using (true) doesn&#39;t.</p><p><strong>2. Keys in the browser.</strong> Search your live bundle for service_role, sk_ and secret. GitGuardian counted 28.65 million new secrets leaked in public GitHub commits in 2025, with AI-service secrets up 81% year on year. If a key was ever public, rotate it.</p><p><strong>3. Authorization on the server.</strong> Broken access control is number one on the OWASP Top 10 for 2025. The classic vibe-coded version: the UI hides the admin button, but the API route only checks that you’re logged in. Test with two accounts. Platforms have gaps too: Wiz found an authentication bypass in Base44 that let outsiders register on private apps using a public app ID. It was fixed within 24 hours.</p><p><strong>4. Payments confirmed by verified webhooks,</strong> never by the browser.</p><p><strong>5. Input treated as untrusted.</strong> Veracode’s vendor research found AI-generated code introduced security flaws in about 45% of tasks, and failed to defend against cross-site scripting 86% of the time.</p><p><strong>6. A backup you’ve actually restored.</strong></p><p><strong>7. Every account in your name:</strong> repo, database, hosting, domain, billing.</p><p><strong>Then make the call.</strong> Keep prompting if there’s no real user data yet and changes are still easy. A prototype that tests demand is doing its job. Rescue if the core works and the data model fits the business, but security, tests and deployment don’t. Rebuild only when the data model is wrong: you sell to teams but the database only knows individuals, or bookings and payments share no ID. A rebuild isn’t starting from zero. Your vibe-coded app is the best spec you’ll ever have.</p><p><strong>What survives a rebuild.</strong> Your screens, flows, copy and real user feedback all carry over. What gets rebuilt is the backend and the data model, followed by a migration of existing users.</p><p><strong>While you’re still prompting,</strong> two habits make it safer: commit to Git after every working change so you can roll back, and paste this checklist into your AI tool and ask it to verify each item. Then check its claims yourself with two test accounts. It will sometimes report a fix it didn’t make.</p><p>Get a written diagnosis before any quote. One solo peer advertises a fixed six-week rescue at $12K–$25K. My MVP builds start at $15K. Fractional CTO support from $6K a month fits founders who want to keep prompting with a senior reviewer on anything touching data, auth or payments.</p><p>Full breakdown with the scorecard and cost guide: <a href="https://akashbansal.tech/blog/vibe-coded-app-rescue-rebuild-or-keep-prompting/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=vibe-coded-app-rescue-rebuild-or-keep-prompting">https://akashbansal.tech/blog/vibe-coded-app-rescue-rebuild-or-keep-prompting/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=vibe-coded-app-rescue-rebuild-or-keep-prompting</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=709debd20bea" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Paying for your app doesn’t mean you own it]]></title>
            <link>https://medium.com/@blogs./paying-for-your-app-doesnt-mean-you-own-it-c5686de4b978?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/c5686de4b978</guid>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[founders]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 16:06:05 GMT</pubDate>
            <atom:updated>2026-11-12T16:06:05.663Z</atom:updated>
            <content:encoded><![CDATA[<h4>The two kinds of code ownership every founder needs, and what changes when AI writes the code. (An engineer’s checklist, not legal advice.)</h4><p>Founders get burned on code ownership in two different ways. Some don’t own the code on paper. Others own it on paper but can’t get to it, because the repository, cloud and app-store accounts sit in someone else’s name. You need both kinds of ownership.</p><h3>On paper: the contract</h3><p>In the US, copyright starts with whoever wrote the work. Employers own what employees write on the job. Contractors and agencies are different: their work counts as “made for hire” only if it fits one of nine categories in the law and there’s a signed agreement saying so (US Copyright Office, Circular 30). Software isn’t clearly one of those categories.</p><p>That’s why a contract that only says “work for hire” can fail for code. The fix is an explicit written assignment of copyright to your company, which US law requires to be signed. Good contracts include both, so ownership transfers even if the first clause doesn’t apply.</p><p>Also check <em>when</em> ownership transfers (“on full payment” vs “as created”), what pre-existing code the developer reuses and your licence to it, and how open-source components are disclosed. Other countries have their own rules, so ask a local lawyer.</p><h3>In practice: the accounts</h3><p>Your code repository, cloud, domain, Apple and Google developer accounts, payment account, third-party API keys and password vault should all be in your company’s name, with the developer added as a member. If any of these sits in a developer’s account, they control whether your product stays online, whatever the contract says.</p><p>Moving them later is possible but needs cooperation. Starting in your name is far easier than asking for it back during a dispute.</p><h3>When AI writes the code</h3><p>There are two layers.</p><p>Between you and the AI vendor, the terms generally give you the output. Anthropic’s commercial terms say the customer owns its outputs; OpenAI’s terms say you own the output and assign OpenAI’s rights, if any, to you.</p><p>Copyright itself is a different question. The US Copyright Office’s January 2025 report says copyright needs human authorship and prompts alone aren’t enough, while human work made with AI assistance can be protected case by case. In <em>Thaler v. Perlmutter</em>, the D.C. Circuit held in 2025 that a machine can’t be an author, and the Supreme Court declined to hear the appeal in March 2026.</p><p>In practice: your contract with the developer still matters most, human-reviewed and reworked code stands on firmer ground, keep the repository private, and run a licence check.</p><h3>What if a developer already holds your code?</h3><p>Ask calmly, in writing, and in order. Read the contract’s IP clause first. List every asset and where it sits today. Ask for account transfers to your company, not a zip file, because a zip leaves out history, settings and secrets. Move the accounts with the most leverage first: domain, payments, app stores, then cloud and repository. Rotate every password and key afterwards. Then have a different engineer deploy the product from what you received; if they can’t, the handover isn’t finished. If the contract only gives you a licence, or the developer refuses, talk to a lawyer before escalating.</p><h3>How I set it up</h3><p>On my builds the repository, cloud, domain, app-store and payment accounts are yours from day one, and I work inside them as a collaborator. Decisions are written down. If we stop, nothing has to be transferred, because none of it was ever mine.</p><p>The full checklist (before you pay, day one, during the build, at handover) plus red flags and what to do if a developer already holds your code: <a href="https://akashbansal.tech/blog/who-owns-the-code-founder-checklist/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=who-owns-the-code-founder-checklist">https://akashbansal.tech/blog/who-owns-the-code-founder-checklist/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=who-owns-the-code-founder-checklist</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c5686de4b978" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[LLM-as-a-judge for grading people: the four biases and the pipeline rules that contain them]]></title>
            <link>https://medium.com/@blogs./llm-as-a-judge-for-grading-people-the-four-biases-and-the-pipeline-rules-that-contain-them-3f77948d9609?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/3f77948d9609</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 16:05:52 GMT</pubDate>
            <atom:updated>2026-11-12T16:05:52.313Z</atom:updated>
            <content:encoded><![CDATA[<p>LLM judges are good. <a href="https://arxiv.org/abs/2306.05685">Zheng et al. (2023)</a> found GPT-4 agreed with human preferences over 80% of the time, about the same rate at which humans agree with each other. But when the thing being judged is a person (a job candidate, a student), “good on average” isn’t the bar. Here’s how I structure the two scoring systems I’ve built.</p><h3>The four biases</h3><ul><li><strong>Position</strong>: Evidence: Reordering flipped 66 of 80 comparisons (<a href="https://arxiv.org/abs/2305.17926">Wang et al., 2023</a>); Containment: Absolute, one-item-at-a-time scoring. If you must compare, run both orders</li><li><strong>Verbosity</strong>: Evidence: <a href="https://arxiv.org/abs/2306.05685">Zheng et al., 2023</a>; Containment: Content-specific criteria, and “length is not a criterion”</li><li><strong>Self-preference</strong>: Evidence: Self-recognition correlates with self-preference (<a href="https://arxiv.org/abs/2404.13076">Panickssery et al., 2024</a>); Containment: The generator is never the only judge</li><li><strong>Intra-model</strong>: Evidence: A cross-family panel beats one big judge at &gt;7× lower cost (<a href="https://arxiv.org/abs/2404.18796">Verga et al., 2024</a>); Containment: An ensemble across providers</li></ul><h3>Pipeline 1: Brahmo (exam answers)</h3><p>Event-driven, one job per stage:</p><ol><li><strong>Gemini OCR.</strong> Reading handwriting is its own problem, with its own output you can inspect.</li><li><strong>Semantic matching</strong> against the expected points, so a correct idea in the student’s own words still gets credit.</li><li><strong>Claude rubric scoring</strong> on weighted criteria. A different family from the reader.</li><li><strong>Human-expert override.</strong> The pipeline proposes, and the expert decides.</li></ol><p>The OCR model never judges, and the judge never reads raw handwriting, so errors can’t hide inside each other.</p><h3>Pipeline 2: NextMantra (candidates)</h3><p>Résumé-to-role fit and live-interview performance, each scored by multiple LLMs against the role’s rubric, outside the real-time voice loop, producing a ranked shortlist a recruiter reviews.</p><h3>Rules I’d give anyone building one</h3><ol><li>Per-criterion scores with quoted evidence (close to the form-filling approach of <a href="https://arxiv.org/abs/2303.16634">G-Eval</a>).</li><li>JSON schema per criterion: validate it, and retry or flag on failure.</li><li>Aggregate in code, with a disagreement threshold per criterion.</li><li>A gold set graded by humans, reported as quadratic weighted kappa (the <a href="https://www.kaggle.com/c/asap-aes">ASAP essay-scoring</a> metric) next to human–human agreement.</li><li>Treat model, prompt and rubric changes as code changes, and re-run the gold set every time.</li></ol><h3>Regulation</h3><p>NYC’s Local Law 144 (bias audits for automated hiring tools) and the <a href="https://artificialintelligenceact.eu/annex/3/">EU AI Act, Annex III</a> (employment AI is high-risk) both push you towards the same design: documented criteria, per-score evidence, logs, and human override.</p><p>The full article, with tables and sources: <a href="https://akashbansal.tech/blog/multi-llm-scoring-llm-as-a-judge/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=multi-llm-scoring-llm-as-a-judge">https://akashbansal.tech/blog/multi-llm-scoring-llm-as-a-judge/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=multi-llm-scoring-llm-as-a-judge</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3f77948d9609" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[An app cost estimate you can argue with]]></title>
            <link>https://medium.com/@blogs./an-app-cost-estimate-you-can-argue-with-a8c7383c87ea?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/a8c7383c87ea</guid>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[mvp]]></category>
            <category><![CDATA[startup]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 16:05:39 GMT</pubDate>
            <atom:updated>2026-11-12T16:05:39.121Z</atom:updated>
            <content:encoded><![CDATA[<h4>The bottom-up method behind my free app cost calculator, with every weight on the table.</h4><p>Ask three agencies what your app will cost and you’ll get three numbers that can’t be compared. Ask an online calculator and you’ll get a fourth, with no idea where it came from. The problem isn’t the numbers. It’s that none of them show their working.</p><p>So I built a calculator that does, and here’s the method.</p><h3>Bottom-up, in four steps</h3><p>The industry name is bottom-up estimation over a work breakdown structure. In plain terms:</p><ol><li><strong>List the scope.</strong> Platforms, types of user, features, integrations, AI parts.</li><li><strong>Weigh each item in weeks.</strong> Not hours. Nobody can honestly estimate a login screen to the hour at the idea stage.</li><li><strong>Price the weeks.</strong> I use $2,500 a week of senior-engineer time, which is my own MVP anchor ($15,000 for roughly six weeks).</li><li><strong>Turn the point into a range.</strong> The high end is 30% above the low end.</li></ol><h3>The weights</h3><p>A base of 3.75 weeks is always included: scoping and a design doc, the core workflow, cloud setup and monitoring, testing, launch and handover. Then each choice adds weeks. A few examples:</p><ul><li>Sign-up and login: +0.5</li><li>Payments via hosted checkout: +0.75</li><li>Admin dashboard: +1.0</li><li>Booking, maps or chat: +1.5 each</li><li>Any mobile app: +0.5; both stores: +0.5 more; web as well as mobile: +1.5</li><li>Each extra type of user: +2.0</li><li>An AI chatbot over your content: +3.0; an AI voice agent: +4.0</li></ul><p>These are my rough estimates for a typical build, not measured averages. That’s the point of showing them: you can disagree with a line instead of disagreeing with a total.</p><h3>Why the range only goes up</h3><p>Steve McConnell’s Cone of Uncertainty (Construx) shows estimates made from an idea alone can be off by 4x either way, and well-defined projects get to about ±25%. I assume you’ve written your scope down, and I skew the range upwards because forgotten items are always additions. Nobody forgets a feature and finds it saved them money.</p><h3>What typical apps come out at</h3><ul><li>Lean web MVP (login, payments, admin): $15,000–$19,500, 6–8 weeks</li><li>Mobile app on both stores: $19,000–$24,500, 8–10 weeks</li><li>Booking app on the web: $20,000–$26,000, 8–10 weeks</li><li>Two-sided marketplace, web only: $27,000–$35,000, 11–14 weeks</li><li>Web + iOS + Android marketplace with three user types and ten features: $48,000–$62,500, 19–25 weeks</li></ul><h3>What it showed me</h3><p>The biggest driver isn’t any feature. It’s the number of user types, followed by platforms, then AI and real-time features. Login, payments and notifications are cheap, because good hosted providers exist. If a quote prices them high, ask why.</p><h3>What it leaves out</h3><p>Regulated data, migrations, custom brand or design-system work, and third-party fees. They vary too much to be a checkbox. And it uses my rate; an agency with a project manager, designer and QA will price the same weeks differently.</p><h3>How to use it</h3><p>Untick features until the range scares you less. Write the survivors in a short PRD. Send the same document to every builder, and ask each for a breakdown by item. A quote that can’t say where the weeks go hasn’t been estimated yet.</p><p>The calculator: <a href="https://akashbansal.tech/tools/app-cost-calculator/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=app-development-cost-calculator">https://akashbansal.tech/tools/app-cost-calculator/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=app-development-cost-calculator</a></p><p>Full breakdown with the cost table and the method: <a href="https://akashbansal.tech/blog/app-development-cost-calculator/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=app-development-cost-calculator">https://akashbansal.tech/blog/app-development-cost-calculator/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=app-development-cost-calculator</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a8c7383c87ea" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Your MVP quote should be biggest in one place. Most aren’t.]]></title>
            <link>https://medium.com/@blogs./your-mvp-quote-should-be-biggest-in-one-place-most-arent-c4bafe93c317?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/c4bafe93c317</guid>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[mvp]]></category>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Tue, 10 Nov 2026 06:42:55 GMT</pubDate>
            <atom:updated>2026-11-10T06:42:55.041Z</atom:updated>
            <content:encoded><![CDATA[<h4>A builder’s line-by-line view of what an MVP app costs in 2026, and the scope decisions that move the price.</h4><p>Every founder eventually types “how much does an MVP cost” into Google and gets the same answer: somewhere between $3,000 and $300,000. Both ends are real. They’re just describing different products.</p><p>Public data shows the spread. Clutch’s September 2026 pricing guide gives an average app project of about $90,780, with most projects between $10,000 and $49,999. One agency’s 2026 guide says most MVPs cost $3,000 to $80,000. My own MVP builds start at $15,000 for roughly 6–10 weeks, with a fixed price after scoping.</p><p>The useful question isn’t what an MVP costs. It’s what’s in <em>your</em> version one.</p><h3>The line items</h3><p>A focused MVP (one type of user, one core workflow, payments, an admin view) has eight line items in any honest quote:</p><ol><li><strong>Scoping and a design doc.</strong> What’s in, what’s out, the data model, the schedule.</li><li><strong>Screens for the core journey</strong>, on a proven component library.</li><li><strong>Accounts and sign-up</strong>, on a standard auth provider.</li><li><strong>The core workflow.</strong> The one thing your product does for users.</li><li><strong>Payments</strong>, through hosted checkout.</li><li><strong>An admin view</strong>, so you can run the business without an engineer.</li><li><strong>Infrastructure</strong>: cloud in your accounts, monitoring, backups.</li><li><strong>Testing, launch and handover</strong>, with documentation.</li></ol><p>The core workflow should be the biggest item by a wide margin. When a quote is heaviest somewhere else (a custom design system, a feature-rich admin panel), it’s paying for the wrong things.</p><h3>What moves the price</h3><p>Not the hourly rate. Scope. Each of these adds whole weeks:</p><ul><li><strong>A second type of user.</strong> Marketplaces need two of everything.</li><li><strong>Native-feeling apps on both stores.</strong> Device testing, push, review.</li><li><strong>Real-time features.</strong> Chat, live location, live updates.</li><li><strong>AI on real data.</strong> Testing on your inputs and controlling per-use cost. My AI features start at $8,000 on their own.</li><li><strong>Integrations.</strong> Each outside API has its own limits and failures.</li><li><strong>Regulated data.</strong> Health, finance, children.</li></ul><h3>After launch</h3><p>Running costs at MVP scale are small: Apple’s developer program is $99 a year, Google Play is $25 once, Stripe charges 2.9% + 30¢ per US card charge, and hosting often starts on free tiers. The bigger cost is people: someone to fix what real users break. Budget for it separately.</p><h3>When to spend nothing</h3><p>If nobody has asked to pay you yet, don’t build an MVP. A landing page or a manual version tests demand for a few hundred dollars. A good builder will tell you that, even when it costs them the project.</p><h3>How to compare two quotes</h3><p>Put them on the same scope first. Send every builder the same one-page brief, then check six things in each quote: the scope is written feature by feature, including what’s out; the people doing the work are named; the price is fixed or capped, with a stated process for changes; ownership of the repository and accounts is yours from day one; launch and handover are included; and running costs, especially AI usage, are estimated.</p><p>Two quotes that are 3× apart usually describe different products. Once they describe the same one, the gap usually shrinks, and the remaining difference tells you something real about the builder.</p><h3>Fixed price or hourly?</h3><p>Fixed, once the scope is written. It puts overrun risk on the person best placed to estimate it. Hourly suits work you genuinely can’t scope yet, like a rescue of an unknown codebase. An hourly contract on an unclear MVP scope is how a five-figure budget quietly doubles without anyone lying.</p><p>Full breakdown with the cost table, a quote-comparison checklist and what’s not included: <a href="https://akashbansal.tech/blog/mvp-app-cost-2026-line-item-breakdown/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=mvp-app-cost-2026-line-item-breakdown">https://akashbansal.tech/blog/mvp-app-cost-2026-line-item-breakdown/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=mvp-app-cost-2026-line-item-breakdown</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c4bafe93c317" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[You’re not choosing a developer. You’re choosing what to pay with.]]></title>
            <link>https://medium.com/@blogs./youre-not-choosing-a-developer-you-re-choosing-what-to-pay-with-ac22c4ff9a2f?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/ac22c4ff9a2f</guid>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[founders]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Tue, 10 Nov 2026 06:42:43 GMT</pubDate>
            <atom:updated>2026-11-10T06:42:43.390Z</atom:updated>
            <content:encoded><![CDATA[<h4>Equity, salary, cash or your own time: how non-technical founders should pick between a cofounder, a founding engineer, an agency and a freelancer.</h4><p>When a non-technical founder asks me “should I find a technical cofounder or hire an agency?”, I usually answer with a different question: what are you willing to pay with?</p><p>Each option charges a different currency.</p><p><strong>A technical cofounder charges equity.</strong> In Carta’s 2025 data on more than 9,000 US founding teams, 46% of two-founder teams split exactly 50/50, and the median was 51/49. If you want a true technical partner, expect to give close to half the company. In return you get someone tied to the outcome for years.</p><p><strong>A full-time founding engineer charges salary plus a small grant.</strong> Carta reports a median equity grant of 1.54% for a startup’s first engineer. You keep control, but you need the money to pay a senior salary every month, and the roadmap to keep them busy.</p><p><strong>An agency charges cash, and usually the most of it.</strong> Clutch’s September 2026 pricing guide gives an average app project of about $90,780 and an average timeline of about 11 months. Agencies are built for large, well-specified projects with many specialists. MVPs change every week, and every change goes through a project manager.</p><p><strong>A freelancer charges your time.</strong> The rate looks low, but you write the spec, judge the technical choices and manage the work.</p><p>There’s a fifth option, the one I work in: an <strong>independent founding engineer</strong>. A senior engineer who makes the technical decisions and builds version one for a fixed price, with the code and accounts in your name from day one, while you keep your equity.</p><h3>How I’d choose at each stage</h3><p><strong>Before validation: none of them.</strong> If you can’t show that anyone wants this, don’t pay anyone to write code. A landing page, a no-code tool, or doing the service by hand for your first ten customers will tell you more for a few hundred dollars.</p><p><strong>The technology is the moat: a cofounder.</strong> If the hard part is technical (new models, hard infrastructure), you want someone who’ll care about your architecture in year four. That takes equity. Put it on a four-year vesting schedule with a one-year cliff, and do a short trial project together before signing anything.</p><p><strong>Validated, not yet funded for a team: an independent founding engineer.</strong> You need a real product in weeks, someone senior making the calls, and you don’t want to give away a third of the company to get it.</p><p><strong>Funded with a long roadmap: hire full-time.</strong> At that point a full-time engineer is cheaper per hour of work than anyone external.</p><p><strong>A big, stable spec: an agency.</strong> Name the engineers in the contract, and keep the repository and cloud in your name.</p><h3>The thread that runs through all of them</h3><p>Every option has a predictable failure. Cofounders break up and walk away with large stakes. Agencies sell with senior people and build with junior ones. Freelancers disappear. A single independent engineer is a single point of failure.</p><p>The protection is the same in every case: own the code and the accounts from the first commit, and get the decisions written down.</p><p>I spent five years as head of technology for a marketplace that grew to 500K users, built an AI hiring platform solo, and now build first versions for founders. From each seat the lesson was the same: decide your stage first, then the option.</p><p>Full breakdown with the cost table and decision tree: <a href="https://akashbansal.tech/blog/technical-cofounder-vs-founding-engineer-vs-agency/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=technical-cofounder-vs-founding-engineer-vs-agency">https://akashbansal.tech/blog/technical-cofounder-vs-founding-engineer-vs-agency/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=technical-cofounder-vs-founding-engineer-vs-agency</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ac22c4ff9a2f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[An 800 ms budget: notes from building a real-time voice interviewer on Pipecat, Daily and Groq]]></title>
            <link>https://medium.com/@blogs./an-800-ms-budget-notes-from-building-a-real-time-voice-interviewer-on-pipecat-daily-and-groq-239cc9c5d1e4?source=rss-98e8fa877c9------2</link>
            <guid isPermaLink="false">https://medium.com/p/239cc9c5d1e4</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Akash Bansal]]></dc:creator>
            <pubDate>Tue, 10 Nov 2026 06:42:31 GMT</pubDate>
            <atom:updated>2026-11-10T06:42:31.551Z</atom:updated>
            <content:encoded><![CDATA[<p>I built <a href="https://nextmantra.ai/">NextMantra</a> on my own. It’s an AI recruiter that runs first-round voice interviews, scores résumés against the role, and produces a ranked shortlist. It’s in production. These are my notes on the real-time half.</p><h3>The stack</h3><ul><li>Next.js front end, NestJS API, PostgreSQL</li><li>Interview agent: Python + FastAPI running a <a href="https://docs.pipecat.ai/">Pipecat</a> pipeline</li><li><a href="https://www.daily.co/">Daily</a> WebRTC rooms, with the bot joining as a participant</li><li><a href="https://groq.com/">Groq</a> for in-call inference</li><li>Multi-LLM scoring after the call</li><li>AWS defined as code, deployed through an AES-encrypted, tamper-evident pipeline</li></ul><h3>The budget, with public numbers</h3><p>Daily’s team targets an <strong>800 ms median voice-to-voice</strong> time (<a href="https://www.daily.co/blog/the-worlds-fastest-voice-bot/">their write-up</a>). Their stage numbers: streaming STT fragments in about 100 ms, TTS first byte as low as 80 ms, and an SF to NY round trip around 70 ms. LLM first-token time is the wide one: 80 ms for self-hosted Llama 3 70B, roughly double for the fastest hosted services, 300–400 ms for larger frontier models, and 500–1,500 ms for typical hosted APIs.</p><p>Add <strong>turn detection</strong>. Pipecat’s <a href="https://docs.pipecat.ai/server/utilities/turn-detection/smart-turn-overview">Smart Turn guide</a> pairs the model with a 0.2 s VAD stop. That’s silence you wait through before any compute starts.</p><h3>Where it actually hides</h3><ul><li><strong>Prompt length → TTFT.</strong> Interview prompts are long (role, rubric, résumé, plan, history). Benchmarks like <a href="https://artificialanalysis.ai/">Artificial Analysis</a> are useful, but test at <em>your</em> input length.</li><li><strong>Not streaming.</strong> Sentence-level LLM → TTS → room streaming. Frameworks do this. Glue code often doesn’t.</li><li><strong>Distance.</strong> Colocate the bot with the vendors it calls. Daily’s write-up puts the colocation saving at 50–200 ms.</li><li><strong>Cold starts.</strong> Measure the first turn separately from the steady state.</li></ul><h3>Interview-specific</h3><p>Candidates think out loud (“I’d approach that by… hmm…”), so tune turn detection for patience, not speed. Keep the question plan as explicit state in code. Handle barge-in in both directions. Store a timestamped transcript, because it becomes evidence.</p><h3>Pipecat or LiveKit?</h3><p>Pipecat is a Python pipeline that runs over several transports (Daily, WebSockets, telephony). <a href="https://docs.livekit.io/agents/">LiveKit Agents</a> is built on LiveKit’s own WebRTC server and has Python and Node SDKs. Spend a day building the same three-turn flow in both, on a phone with a bad network, and measure.</p><h3>Keep judgement out of the loop</h3><p>The live model should be fast. The scoring should be careful. Splitting them gives you both, and lets you score with multiple model families against a rubric. That’s covered in a separate post.</p><p>The full article, with tables and sources: <a href="https://akashbansal.tech/blog/building-a-real-time-ai-voice-interviewer-solo/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=building-a-real-time-ai-voice-interviewer-solo">https://akashbansal.tech/blog/building-a-real-time-ai-voice-interviewer-solo/?utm_source=medium&amp;utm_medium=referral&amp;utm_campaign=building-a-real-time-ai-voice-interviewer-solo</a></p><p><em>Akash Bansal, founding engineer: I build MVPs and AI products end-to-end for founders.</em></p><p><em>Written with AI assistance from my own notes and project experience. The full article, with sources, is linked above.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=239cc9c5d1e4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>