Concept project · October 2026
Founder Desk
A compliance desk for founders who run a Delaware company from India, usually with an Indian subsidiary underneath it. It answers one question: what do Delaware, the IRS and India expect from me next, and how sure can I be about that date? I researched the rules, designed the product, and built it.
Next.js · TypeScript · Tailwind · Gemini · Vitest · Vercel

The dashboard. The badges matter more than the dates: Verified means I checked the official source, Reviewed means reliable professional sources agree, Unverified means plan for it but check first.
The problem
An Indian founder with a Delaware C-corp and an Indian subsidiary answers to at least five authorities: Delaware, the IRS, India's Ministry of Corporate Affairs, the income tax department and the RBI. Each has its own calendar, and most founders keep track of it in a spreadsheet, a CA's WhatsApp messages, and memory.
The most expensive version of this is common. Delaware's default franchise tax notice is calculated with the Authorized Shares method, which can produce a bill in the tens of thousands of dollars for a startup with ten million authorized shares. The alternative Assumed Par Value Capital method, which Delaware allows, often brings the same company down to the $400 minimum. Many founders don't know the second method exists.
Founder Desk is three tools sharing one company profile: a deadline calendar, a franchise tax checker, and an inbox that reads compliance notices. It's live and it works, but so far I'm the only person who has used it, so nothing below is validated by real founders yet.
A calendar that admits what it doesn't know
Each deadline is a rule in a config file: who it applies to, how its date is calculated (a fixed date, days after the financial year end, monthly, quarterly, or days after another deadline), what happens if it's missed, and its sources. A pure function turns the company profile and today's date into the next twelve months of dated deadlines, so a founder without an Indian subsidiary never sees GST or MCA filings.
Before launch I checked every rule against official sources, and the check changed the product. DIR-3 KYC for directors had moved from an annual filing to once every three years in March 2026. The ODI annual performance report was due on 31 December, not 30 June as my first draft said. And an Indian subsidiary that trades with its US parent usually needs a transfer pricing report, which moves its income tax return from 31 October to 30 November. Three of seventeen rules were wrong or outdated in a draft that looked finished.
That's why there are three badges instead of two. The US rules (Delaware, Form 1120, Form 5472, 1099-NEC) are Verified against the Delaware Division of Corporations and IRS pages. Most India rules are Reviewed or Unverified, and the app says so.

Grouped by month, filtered by jurisdiction, exportable to Google Calendar. The AOC-4 item came from a pasted notice, not from a built-in rule.
Dates are harder than they look
Most of the subtle bugs in a compliance calendar are about dates, not rules.
Timezones. Deadlines are stored as calendar days, never as timestamps. A founder in India at 1am and a Delaware deadline that is still "yesterday" in New York must never disagree by a day. The tests pin instants near midnight in IST and US Pacific time.
Weekends. My first version moved every weekend deadline to the next business day. That's right for the IRS, which says so in its instructions, and wrong as a blanket rule. For most Indian filings there is no general rule like it, and for Delaware I couldn't confirm one. Showing a founder a later date than the real one is the worst mistake this product can make, so each rule now has its own convention: next business day, none, or unknown. The legal date is always the one shown and sorted on. An "effective date" appears only as a secondary line where the rule allows it.
Fiscal years. Form 1120 is due on the 15th day of the fourth month after the tax year ends, except for June 30 year ends, which are due a month earlier. It's one line in the IRS instructions, and a test in the code.
An AI inbox that never acts on its own
Founders get notices as PDFs, emails and letters. The inbox takes pasted text and returns the document type, issuer, a one-line summary, the key fields, a deadline and the required action. Every field comes with a short quote from the source text and a confidence level.
Nothing is saved until the founder reviews it. Low-confidence fields are highlighted, every value is editable, and the deadline goes to the calendar only when they click to add it. When a notice matches a built-in rule — say, the real AOC-4 date for their own company — the app offers to update that deadline instead of creating a duplicate, and the update can be reverted.
The model sits behind one small interface, so switching between Gemini, Claude or a mock provider is a single setting. The four sample documents never call the live model; they load saved results so a visitor can try the full flow at no cost.

Everything stays on the device. No account and no server-side database, because a compliance tool that asks for your company details on day one should earn that first.
What broke
The model I picked didn't exist for my key
I configured a model name that worked in documentation but returned a 404 for a new API key. The app showed "the model could not read that" and nothing else. I added development-only logging of the stage, status and message (never the key or the document text) and a one-line command that tests the provider directly. That found the cause in a minute.
The provider went down mid-test
The next day the model returned 503: high demand. Live extraction now retries twice with backoff, falls back once to a second model, and otherwise tells the founder the AI is busy, keeps their text, and points to the samples. Quota errors and bad configuration get their own messages and never retry.
Twenty requests a day
The free tier allows about twenty requests a day. A few recruiters clicking a sample could have used up the day's quota. That's why samples never hit the model, live calls are capped below the quota, and each visitor is rate-limited.
The demo badge lied
On the deployed site, a "Demo mode" badge flashed on every visit before the app learned which AI it was using. That made a working product look broken. The badge now waits until the server says demo mode is actually on.
The India rules are still mine to finish
Most India rules are Reviewed, not Verified, and some are still Unverified. Holidays in India aren't modelled at all. The app is honest about this, but it's the biggest gap between a demo and something a founder could rely on.
The rest of the build
The franchise tax checker calculates both Delaware methods with exact fractions rather than floating-point numbers, because par values like $0.00001 break ordinary arithmetic. When the default method already gives the lower amount, the checker says the founder's bill is already the best option instead of inventing a saving.
The calendar exports .ics files as all-day events so dates land correctly in Google Calendar and Outlook. The project has 112 automated tests covering the tax engine, the date logic, the rules, the AI response parsing and the quota handling. I built it in Cursor, using Claude to plan phases and review decisions, and committed phase by phase so the history shows how it came together.
What I cut to ship in a few days
- Accounts and sync
- Everything lives in the browser with export and import. Logging in adds nothing until the deadlines themselves are trustworthy.
- PDF upload
- Founders will want to drop in the PDF. Paste-the-text is enough to prove the extraction and review flow.
- More countries
- US and India only. Each new jurisdiction means another set of rules to verify, and an unverified calendar is worse than a short one.
See it running
Live demo
Set up a fictional company, open the calendar, and paste a notice into the inbox. About five minutes on your phone or laptop.
Open the app ↗ (opens in a new tab)What I'd change, and what's next
I'd sit with five founders who run India–US structures and watch them use it with their real notices. My guess is the inbox matters more than the calendar, because notices are where deadlines actually arrive.
I'd finish verifying the India rules against the MCA, income tax and RBI portals, and add India's holiday conventions where they really move dates.
And I'd add PDF upload and reminders, because a calendar you have to remember to open doesn't solve forgetting.
The most useful thing I did was the verification pass. A product that looked finished was wrong in three places, and the fix wasn't more features. It was the badges.