Skip to content
Rishabh Shukla

For recruiters and hiring managers

Rishabh Shukla

Proposal & RFP Specialist — US government and public-sector contracting

Lucknow, Uttar Pradesh, India

I write proposals for US public-sector contracts — state, county, municipal and cooperative purchasing. Three years in the work, two of them owning the full lifecycle: solicitation analysis, compliance matrices, technical narratives, pricing and submission. Ten-plus awards contributed to, and the person the short-deadline bids get handed to.

AvailableEvenings and weekends, US business hours

Experience

Jun 2024 — PresentCurrent

Proposal Specialist / Proposal Writer

Cloud Consulting Services Inc. (CCSI) & DatamanUSA, LLC · Remote — US government contracting

End-to-end proposal responses for US state, county and municipal staff augmentation and IT services solicitations, across two sister companies: solicitation analysis, requirement extraction, drafting, compliance review, pricing and on-time submission.

The team's escalation point for urgent, short-deadline RFPs and for locating solicitation documents other proposal staff cannot source. Also owns RFP sourcing and pipeline intake — monitoring aggregator and agency portals daily, deduplicating leads against a 300+ record client index, and logging qualified opportunities for the team.

Prepares pricing and cost documents for competitive solicitations, including SAP staff augmentation and IT professional services bids for major public agencies.

Jun 2023 — May 2024

Business Development Executive

Cloud Consulting Services Inc. (CCSI) & DatamanUSA, LLC · Remote — US government contracting

Outbound sales campaigns — calls and email sequences — targeting US staffing and IT services buyers, with bid tracking coordination alongside. Produced pitch decks, capability statements and marketing collateral supporting pursuits across California, Texas and Midwest agencies.

Selected achievements

10+ awards

Contributed to 10+ contract awards

Across state, county, municipal and cooperative purchasing clients — Maricopa County (AZ), State of South Carolina, State of Kansas, Los Angeles Unified School District, City of Santa Clara, and cooperative purchasing awards under 1GPA and BuyBoard.

Adopted org-wide

Built the RFP tracker that became the company standard

An Excel-based tracking dashboard — SharePoint and Excel Online compatible, with complexity-weighted progress tracking and a win/loss archive — which management adopted as the standard across all teams.

10+ hours a week

Designed an AI-integrated proposal workflow

Reusable boilerplate and case-study libraries, structured drafting templates, and an automated Markdown-to-Word pipeline — taking more than ten hours a week out of manual drafting effort.

+25%

Grew qualified proposal opportunities by 25%

Through targeted lead research and outreach, while coordinating bid tracking to maintain 100% on-time submission.

3 clients

Converted three qualified client leads from outbound

Calls and email sequences to US staffing and IT services buyers; management progressed all three through presentation and closing.

Capabilities

TypeScript

Software

Life OS is written in it end to end — a module contract every record type is validated against before it reaches the database.

Full proposal lifecycle (RFP / RFQ / RFI)

Proposals

Next.js & React

Software

Two applications in Life OS — the private one I capture and publish from, and this site, which is server-rendered and reads a separate database.

Compliance matrices & evaluation criteria alignment

Proposals

PostgreSQL

Software

Life OS runs on a single entities table with tags, links and an append-only event log beside it, rather than a schema per feature.

Technical & management narratives

Proposals

Row-level security & database hardening

Software

Privileges in Life OS are granted in migrations rather than inherited from the platform defaults — which is how a TRUNCATE grant on storage that row-level security could not see was found before anything was in the bucket.

Pricing & cost documents

Proposals

Supabase

Software

Two projects behind Life OS: a private source of truth, and a public store the site reads and only an explicit publish writes to.

RFP sourcing & bid pipeline management

Proposals

State & local eProcurement portals

Procurement

BidBuy, BidNet, SAP SRM / Ariba, Periscope

Cooperative purchasing vehicles

Procurement

1GPA, BuyBoard

Staff augmentation & healthcare staffing

Domain

IT services contracting

Domain

Microsoft Excel

Tools

Advanced formulas, dashboards, named ranges

Microsoft Word & PowerPoint

Tools

SharePoint / Excel Online

Tools

Airtable

Tools

AI-assisted proposal development

Tools

Claude, ChatGPT, Gemini

Python

Automation

Document automation scripting

JavaScript

Automation

Document automation scripting

Git & VS Code

Automation

Web fundamentals

Automation

HTML, CSS, JavaScript, React

English

Languages

Fluent

Hindi

Languages

Native

Education

Sept 2022 — Aug 2025

Diploma in Computer Science & Engineering

Government Polytechnic Mohammadi, Uttar Pradesh, India · Computer Science & Engineering

Board of Technical Education, Uttar Pradesh (BTEUP).

Currently building

Currently buildingStage 1B complete · Stage 2 next

Life OS

A system for running a life, with two surfaces over one data model: a private application where everything is recorded, and this public site. A fact is written once and appears wherever it belongs — the portfolio you are reading is not a copy of a résumé, it is the same records rendered for a different reader.

The design rests on one decision. There is a single entities table with tags, links and events beside it, rather than a schema for each feature. A module is a type registered against that spine — it declares its own shape and its own rules, and inherits routing, visibility, search indexing, publishing and the weekly review from having declared them. That is what makes cost-per-wear, a backlink between two unrelated modules, and the weekly roll-up a query rather than an impossibility. It is also what keeps the thirty-eighth module as cheap as the second.

The two surfaces are two separate Postgres databases, and the separation is the point. The private one is the source of truth. The public one holds only what an explicit owner action promoted into it, and this site holds no credential that reaches the private database — so a mistake in a visibility filter here cannot expose a private record, because the record is not in the database being queried. Publication is deliberately not automatable: no agent, webhook or scheduled job can perform it. It is enforced in the grants rather than in code — service_role has no SELECT on entities at all.

The rules the system is not allowed to break are written as tests rather than as intentions. Events are append-only, enforced by row-level security for the application and by a trigger for anything privileged. Unpublishing purges rather than hides. A module marked never-public is refused at three separate layers, one of them a trigger inside the public database itself. And a snapshot alone has to be able to rebuild a working instance — which was not taken on trust: it was executed live in September 2026 into a scratch project created for the drill and deleted afterwards.

What does not exist yet is as much a part of an honest description as what does. Lenses — named curations over the spine — can be planned and published by the core library, and no screen anywhere calls either function, so the only publishing possible today is one record at a time. The public pages fall back to reading the store directly because of it. That gap is the next thing.

Built with

  • TypeScript
  • Next.js
  • React
  • Tailwind CSS
  • PostgreSQL
  • Supabase
  • Row Level Security
  • Zod
  • Vitest
  • Model Context Protocol
  • WebGL
  • Vercel
Repository
17 Sept 2026Public site

A menu that never covered the page

Rebuilding this site, the mobile menu opened and the page stayed visible behind it. The overlay's background computed as 98% opaque black. Its z-index was above everything. Nothing in the markup or in the computed styles was wrong.

The overlay is rendered inside the header, and the header has a backdrop blur on it. A filter — and backdrop-filter counts — makes an element the containing block for every fixed-position descendant. So position: fixed with inset: 0 was not resolving against the viewport at all. It was resolving against the header: a full-width strip about fifty pixels tall. The background was painted correctly, into a box the size of a navigation bar. The links, which overflowed, still landed roughly where they were expected, which is what made it look like a styling problem rather than a layout one.

Two things worth keeping. The bug was invisible to every tool that reports what an element looks like, because the element looked exactly right — the question nobody thought to ask was how big it was. And it could not reproduce at desktop width, where the overlay never opens at all.

Rendering it into the document body instead puts it back on the viewport's coordinate system, where a full-screen overlay belongs.

16 Sept 2026Stage 1B

The front page was empty after publishing to it

A lens is a named curation over the spine — which records, under which heading, in which order. The public pages were written to read from one, which is correct, and it meant that publishing records and then reloading the site produced exactly the page you had before: a name, and nothing under it.

Nothing was broken. publishLens exists in the core library, it is tested, and no screen calls it. The lenses table is empty and there is no way to put anything into it. Both public pages were behaving correctly with respect to a thing that cannot yet be created.

The fix is a fallback: prefer the owner's arrangement wherever there is one, and fall back to everything published of that type where there is not. What makes it worth writing down is the failure it prevents, which is not a blank page. It is a blank page shown to somebody who has just published their whole résumé and now believes the system did not save it.

10 Sept 2026Stage 1B

A hole found while creating the first bucket

Assets are entities on the spine, so a file inherits visibility, row-level security, the event log, undo and the publish pipeline, instead of getting a second and weaker access model written beside the real one.

Creating the first storage bucket surfaced something in a schema nobody had read, because the platform had created those tables rather than this repository. Supabase grants the anonymous and authenticated roles full DML on storage.objects and storage.buckets — including TRUNCATE — and then narrows access with policies. TRUNCATE is not subject to row-level security. The policies were never going to see it.

It was the same shape as a hole found earlier in the public schema, present in both projects, and found before there was anything in either bucket to lose. The lesson taken from it was not about storage. It was that a schema the platform creates is still a schema in your database, and "we did not write those tables" is precisely the reason nobody had looked.

The whole build log

In more detail

I work on the part of government contracting that decides whether a company gets to compete at all: reading a solicitation properly, answering exactly what it asked, and submitting before it closes.

For two sister firms in US staffing and IT services, I own proposals end to end — pulling requirements out of the solicitation, building the compliance matrix, writing the technical and management narratives, preparing pricing, and getting it submitted on time. That work has contributed to more than ten awards across state, county, municipal and cooperative purchasing clients, including Maricopa County, the State of South Carolina, the State of Kansas, Los Angeles Unified School District and the City of Santa Clara.

Internally I am the escalation point for two things: bids with deadlines nobody wants, and solicitation documents nobody else can find. Alongside the writing I build the machinery around it — an Excel RFP tracker that management adopted as the standard across every team, and an AI-assisted drafting workflow with reusable boilerplate, structured templates and a Markdown-to-Word pipeline that takes ten-plus hours a week out of manual drafting.

Get in touch