Piotr Czerwiński
← All work

Solo-shipped product · live

HiddenJobs.pl

AI-matched 100% remote IT roles for Polish specialists — personalized over offers from foreign companies validated for collaboration with Poland. Live, with real users, shipped solo.

Live since Apr 202640 user accounts · 120+ on waitlistFew hundred visitors / month5k+ blog views (month 1)AI search citations < 7 daysSolo-built end-to-end
hiddenjobs.pl ↗

The story · Feb → May 2026

Feb 2026

Started with validation, not code

Before writing a single line, I ran demand validation. Talked to specialists, asked what was broken about the existing job boards, watched what people actually needed vs what they said they wanted.

Core insight: senior specialists don't need more job offers — they need the rightones. The thesis I built around: source offers from foreign companies that actually hire Poland-remote, then AI-match each one to the specialist's CV + natural-language preferences. Curation + personalization, not aggregation.

Mar 2026

Built the MVP after validation locked

Started shipping. The core mechanic: CV analysis (OpenAI) + natural-language preferences → ranked offers per specialist. Backend infrastructure for sourcing offers from foreign companies, AI-assisted extraction so listings stay structured and clean, Poland-collaboration validation per offer, the public job board, the per-specialist matching surface. Stack: Next.js 16, NestJS, PostgreSQL/Supabase, OpenAI.

This is the part that historically would have stalled me. With AI agents in the loop, it didn't.

Apr 2026

Public launch · waitlist filling fast

Public job board released. LinkedIn launch posts went out the same week. Waitlist crossed 120+ in the first weeks; 40 specialists converted to active accounts.

May 2026

Content engine + first AI search citations

Started a long-form content engine in Polish — 9 thematic tracks planned, posts published bi-weekly. Within a month: 5,000+ article views, 100+ outbound clicks, and the first ChatGPT referrals showing up in analytics on day 7.

For a brand-new domain, getting cited by AI search within the first week is the validation signal that the content engine is working.

What I built — solo, end-to-end

Public surface

Next.js 16 App Router job board with ISR-driven listing pages, structured listings, and a content engine.

Backend pipeline

NestJS API + CLI tooling for sourcing, AI-assisted extraction, and a clean data model. PostgreSQL via Supabase, deployed on Render.

Specialist surface

Sign-up, CV upload + AI analysis, natural-language preferences, the per-specialist matching surface where each offer is ranked against profile, click tracking, an admin panel I run the whole product from.

Operations

Analytics (PostHog), search console integration, email automation. One person owns all of it.

Next.js 16React 19NestJSTypeScriptPostgreSQLSupabaseOpenAITailwind CSSPostHogVercelRender

What “AI-augmented engineering” meant in practice

Three real shifts that wouldn't have been possible two years ago.

1. The 60% wall stopped existing.

Before, my own products would consistently hit a wall around 60% complete — the part where you have to build the boring infrastructure (auth, DB schemas, deployment, content management). Solo, after an 8-hour day job, you don't have the willpower for that. With agents in the loop, that part stayed in motion.

2. The bottleneck moved to product judgment.

The hard question stopped being “can I execute this” and became “is this actually worth building.” That's the right place for the bottleneck to be — and it's the question I'd been trying to ask for years.

3. Operating a product as one person became a real option.

Running HiddenJobs day-to-day means doing sourcing, content, SEO, analytics, support, and engineering in parallel. None of it is on autopilot. But all of it is now in the realm of what one engineer can hold — if the engineer treats agents as co-engineers, not as autocomplete.

This is the working mode I'd like to bring to a founding team.

If you're an early-stage startup where AI-augmented engineering is the default — let's talk.

About me