02:47 · Skrzyszów, PL
aboutcontactenpl
the long version

the long version,dated.

Written by Maciej Kopiec at the desk in Skrzyszów, finished in San Francisco, 2026.

2024 — present

EduChat

WITH KUBA URBAŃCZYK · → platforma.educhat.pl

The AI is never asked to 'teach biology' in the abstract; it's asked to teach a specific learning outcome from a specific tier of a specific subject in a specific grade.

Polish students between 10 and 18 have three options outside the classroom: a paid private tutor at 80–150 PLN/hour, a generic chatbot that doesn't know what's on Tuesday's 8th-grade exit exam, or nothing. None of them tracks what the student already knows. None of them speaks the same data to the teacher, the parent, and the principal in the same product. The four roles that decide whether a kid actually learns are sold four different products.

Single-application, four-role architecture (student / teacher / parent / principal), one data layer with role-based access. Flask 3 + MySQL, no ORM — direct SQL on the bet that a small team is faster diagnosing a query than learning an ORM's edge cases. Hybrid auth so the Flutter iOS app and the web client share endpoints. Every subject has a JSON prompt configuration keyed to the Polish national curriculum, with separate files for the extended matura (school-leaving exam) track across 13 subjects. Cost engineering became its own subsystem — six layers (model tiering, cross-student content cache, batch generation, prompt caching, plan-based limits, lazy node generation) — to drive AI cost to ≤$0.06 per 20-node course at the school tier. Without it, the unit economics didn't work.

About five thousand kilometers driven across Poland in the summer and autumn of 2025, meeting over a hundred principals, heads of education, and mayors. A hundred and seventy-six hours teaching fifth-graders in thirteen Wodzisław Śląski primary schools, part volunteer, part paid — the product feedback came from the same room as the product. The Uniwersytet Śląski partnership opened on the same stage where the Silesian head of education handed me a Prime Minister's scholarship; I told her I ran an education company; we met later. The Polish K-12 market doesn't take nineteen-year-olds seriously by default.

The EduSciezka adaptive engine — Bayesian mastery update per topic, an Ebbinghaus forgetting-curve readiness predictor, and a six-rule path recalculation engine that watches each student's signals and, when a test is on the calendar, inserts reinforcement before the curve takes over. Plus the lesson-account mechanism: accounts that exist for a single class period, so a teacher running EduChat live in lesson doesn't have to provision permanent students.

2024.09
first AI workshops · Wodzisław Śląski schools
2025
partnerships · Uniwersytet Śląski (University of Silesia) + Instytut Nauki Lektikon
2025
won Our Future Founders, a startup competition for high-schoolers → InCredibles, Sebastian Kulczyk's accelerator
2026
2nd · Startups of 2026 (Rzeczpospolita, a national daily)

Stack · Python 3, Flask 3.1, Flask-SocketIO, MySQL, Anthropic SDK, OpenAI, Stripe, tpay, Flutter, gunicorn

2025 — present

AIDA

CODED ALONE · TEAM WITH DAWID RUTKOWSKI · IREK DAWIDOWICZ ON A PARALLEL TRACK

A foresight tool for analysts at MSZ, the Polish foreign ministry — thousands of pages of sources (RSS, GDELT, Polish-language NLP) distilled into four traceable scenarios with chain-of-thought citations for ~$0.10 per run. Every conclusion clicks back to the document it came from. Built for the analyst who can't say 'AI said so' to a director.

An MSZ analyst preparing a position paper has hours, not days. Source material runs to thousands of pages — government statements, think-tank reports, GDELT-indexed news in 65 languages, market data. Standard tools either summarise without showing their work or hand back something the analyst can't defend in front of a director. 'AI said so' is not an answer to 'where did this conclusion come from?' The MSZ hackathon brief made the constraints explicit: explainability and resistance to data poisoning, both non-negotiable.

Five-phase pipeline — discovery → scraping → extraction → aggregation → synthesis — with the LLM touched once, at the end, against an ~8K-character payload of pre-weighted facts. Discovery layers RSS over a curated 85-source whitelist on top of GDELT keyword queries across 113 domains. Extraction is local: spaCy + regex + FAISS over multilingual-e5-large embeddings. Hierarchical bottom-up summarisation keeps the LLM payload constant whether the corpus is fifty million words or five billion. ~$0.10 per analysis, regardless of input size. Every scenario is a chain of FAKT → MECHANIZM → SKUTEK → WNIOSEK (fact → mechanism → effect → conclusion) steps with numbered citations back to source. The chain exists in the data, not in the model — explainability is a structure, not a UI feature. Anti-poisoning runs four layers: triangulation (≥3 independent sources from ≥2 categories), anomaly detection, consistency checks, dynamic source-trust scoring with state-controlled domains penalised. What this gives an analyst: any conclusion clicks back to the documents it came from.

The hackathon weekend: twenty-four hours of coding to the deadline, except a 1:30 a.m. run around Bydgoszcz with Dawid and a 7:30 a.m. break in a massage chair. Final pitch in front of an MSZ panel, fifty-five hours into the streak; some of what I said made sense, some of it didn't. Won. Radosław Sikorski, deputy prime minister and foreign minister, handed the award. Bus to Katowice, 1 am Monday, fifty minutes by car from there: sixty-four hours awake. Five hours of sleep, then 8 a.m. EduChat lessons in Wodzisław Śląski with fifth-graders — forming complete sentences took noticeable effort; the kids were patient. Three months later, the protocol the ministry reserves for foreign ministers and heads of state: a private office next to Sikorski's, three high-ranking officials, a continuation conversation. v2 came out of that.

2025.12
won HackNation, MSZ's hackathon · 1st place · 25 000 PLN
2025.12
working demo · day one
2026.03
private meeting · Radosław Sikorski, the foreign minister, + 3 ministry officials
2026
v2 built

Stack · Python 3.11, Flask, Anthropic Claude, spaCy, FAISS, multilingual-e5-large, trafilatura, FPDF2, Tailwind, Alpine.js, Docker / HF Spaces

2024 — present

Blo

WITH DAWID RUTKOWSKI · → blo.finance

A Flutter app for EU savers — plan and compare term deposits across the EU, with real-return math that pairs each nominal rate with its country's inflation. No bank-account integration; no PSD2 surface; ships now. Built around the 2026–2027 regulatory window: EUDI Wallet, PSD3, and FIDA collapse the cost of real cross-border integration.

EU treaty law promises a single market for capital, but in practice savings rates remain trapped behind national banking apps and national-language interfaces. A Polish saver who notices that a Spanish or Luxembourgish bank pays meaningfully more on a fixed deposit hits a wall: the bank's signup is in Spanish or French, comparison sites (Raisin, deposit-solutions, the national portals) terminate at a referral link, and any portfolio view has to be reconstructed by hand in a spreadsheet across multiple currencies and inflation regimes. Nobody is doing the planning layer — the part where a user models a portfolio across countries, with inflation and FX baked in, before committing to opening anything.

Two product calls separate Blo from everything else in the space. First: simulate first, commit later. The MVP doesn't connect to any real bank. Users hand-enter accounts as 'Planned,' 'Active,' or 'Matured.' Removing the integration layer collapses the regulatory surface and lets the actual product (cross-border comparison + portfolio math + maturity calendar) ship in days rather than months. Second: real-return-first analytics. Every nominal rate is paired with the country's inflation, so a 5.75% PLN deposit and a 2.98% EUR deposit are compared on the axis that matters. Stack: Flutter, Provider for state, sqflite for local SQLite, ECB Data Portal API for live key rates, six ChangeNotifier providers above a DAO/SQLite layer. Local-first, no backend. The compound-interest projection runs on-device in UserAccount so portfolio totals, projected values, and per-account interest derive from one source of truth.

Day 1 of Blo, 1 November 2024, was the day the Harvard early-action application went in. The concept came together at Econverse V4 in Prague, a cross-border student startup competition, where Marek Ditz signed on as mentor and stayed. We won the Prague stage, the Czech qualifier, and lost the final in Łódź — six projects from four countries — in late March 2025, the day the Harvard decision arrived. The first version on the App Store was Swift, written by Dawid; I rewrote the whole stack in Flutter — sixteen thousand lines across two days, November 24–25, 2025. The planning layer is shipped. The integration layer waits on EUDI Wallet (mandated 2026), PSD3 (2026–2027), and FIDA (2027) — the regulatory window that collapses the cost of real cross-border bank integration. The bet is the calendar, not the pivot.

2024.11.01
concept · day 1 · Econverse V4, Prague · Harvard early-action application sent the same day
2024
won the Prague stage, the Czech qualifier · Marek Ditz signs on as mentor
2025.03
Econverse final, Łódź · six projects from four countries · lost · Harvard decision the same day
2025.11.25
Flutter rewrite · 16k LOC across two days
2026
MVP · awaiting EUDI / PSD3 / FIDA

Stack · Flutter, Dart, Provider, sqflite, go_router, fl_chart, flutter_secure_storage, ECB Data Portal API

2024 — present

Assistron

WITH KUBA URBAŃCZYK · → assistron.pl

A software house in Wodzisław Śląski — AI integrations, ERP systems, voice assistants, and e-commerce automation. Legal-entity, code-warranty, VAT-invoice B2B.

Polish SMBs need software they actually own — bespoke ERPs, mobile apps, AI integrations — but SAP and Comarch are expensive and wrong-sized for the specific operational realities of, say, a paint shop or a service business. The Polish enterprise-IT default is corporate consultancy with three layers between the buyer and whoever is writing code.

Two of the most useful client builds — an automotive-industry ERP with bidirectional WooCommerce sync (orders, products, customers, stock — replacing manual Excel transcription with a mobile app for production-floor workers) and an AI voice assistant on FreePBX/Asterisk with sub-2-second streaming response and per-caller memory keyed to phone number, capable of inbound and outbound calls. EduChat is one of Assistron's products; covered above.

Origin: Econverse 2023 in Wrocław. Five-person student team, project called ZwrotMatch, won the eliminations, lost the finals. The team of five didn't survive the competition; Kuba and I kept the working relationship. Voicebots were one of the unbuilt ideas from the brainstorm; we started building them after. That's the seed. The rest: a software house run from Wodzisław Śląski, ~50k population, a region better known for coal mining than for AI agencies. VAT-invoice, code-warranty contracts mean carrying every piece of the compliance overhead a Polish sp. z o.o. (a limited-liability company) requires.

80%
reduced ERP order time
2 s
voice-bot response

Stack · Next.js, React Native, Python, FastAPI, PostgreSQL, OpenAI, Anthropic, FreePBX, Asterisk, WooCommerce, AWS

2025

Ocena Pracy Nauczyciela

ALONE · → ocenapracynauczyciela.pl

A spin-off of EduChat. Annual teacher-evaluation paperwork drafted in ten minutes per teacher; a cycle that took twenty hours takes two. Teacher names never reach the database. The AI writes documentation; the principal still does the evaluating.

Polish school principals are required by the Karta Nauczyciela (the teachers' statute) and a regulation from MEN, the education ministry, to produce a written evaluation for every teacher. The grading itself is fast — a principal already knows their staff. The slow part is the paperwork: twelve numbered criteria, each needing formal multi-sentence justification, the right grade band selected (wyróżniająca / bardzo dobra / dobra / negatywna — outstanding / very good / good / negative), supporting opinions attached. Twenty-plus hours per cycle, per principal — a week behind a desk. On top of that, MEN published a new regulation in 2025 that took effect on November 27th — the structure changed from eleven criteria to twelve, the points scale changed, existing templates and habits don't carry over.

Two product calls the existing tooling didn't make. First: don't ask the LLM to evaluate the teacher. Ask it to write the paperwork. The principal supplies observations and a target grade; the model's job is formal Polish prose against the criterion structure, not judgment. The system prompt tells the model that most teachers are competent and to default to 'bardzo dobra' (75–85%) unless the principal volunteers a problem. Second: keep teacher names out of the database entirely. Names live in browser localStorage keyed by UUID; the server stores only the UUID, the score JSON, and the documentation text. The LLM call sees observations, never an identified person — a concrete RODO (GDPR) answer instead of a privacy-policy paragraph. Stack: Flask 3, MySQL in prod / SQLite in dev, OpenAI GPT-4o with Anthropic fallback, WeasyPrint for PDF, Alpine.js on the conversation page.

Shipped by one engineer in three weeks against the November 27, 2025 regulatory deadline that the existing templates didn't carry across. Distributed free to several principals through their first cycle.

A generative-AI product whose system prompt actively dampens the model's tendency to reason. The model is forbidden from forming opinions about the teacher; it's constrained to a single deliverable — formal Polish bureaucratic prose, minimum three sentences per criterion, padded with educational jargon when the principal's input is thin. The judgment stays human; the LLM writes the cover.

10 min
per evaluation
12
criteria · 2025 education-ministry regulation
0
teacher names sent to LLM
3 wks
scaffold to live

Stack · Python, Flask 3, OpenAI GPT-4o, Anthropic Claude, WeasyPrint, Tailwind CSS, Alpine.js, localStorage

2026

110 airline flights. Six places that taught.

April 2026 · 7 days

01San Francisco

The city where failure is a line, not a stain.

Five hundred dollars across seven days. Flights, room, every meal. The dream had been to walk this city before walking it; a place I had seen in pixels for years finally had blocks and hills and the smell of eucalyptus.

Minerva Admitted Students Day on the Saturday. Stanford the afternoon after — the most beautiful campus I have ever walked through, and the one that rejected me the spring before. Two free hours that cost more than the rest of the trip's accounting.

The detail that won't leave: the AI ads on the 101, targeted at VCs. A country whose billboards assume the reader has fifty million dollars to deploy. Equally fixed in memory: the people on Market Street who lost the bet. No safety net. Rents that turn one bad month into permanent street.

Polish version of the same culture: failure is a stain, so you don't start. SF version: failure is a line on a résumé. The difference is why people in Skrzyszów never try.

People here care about what you can do. Not how old you are. Not which schools said yes.

Where
San Francisco · the Mission
When
April 2026 · 7 days
Spent
$500 · all in
Returned
Minerva, September 2026
February 2026 · 4 countries · 27 days door to door

Southeast Asia

The half of the map I knew the least about, and learned the most from.

Bangkok · Chiang Mai · 7 days

02Thailand

The smile is the country's tourist-facing product. The rent is the bill.

The food was better than anywhere I had ever eaten — Bangkok and Chiang Mai both. The smiles weren't naive. They were practiced.

Chiang Mai is the quieter half. Slower bicycles, the temples in the morning, the air carrying charcoal. The kind of unbusy most of life used to be, before the cars and the SkyTrain and the apps.

Western tourists decided that $400 a month is a 'cheap flat' worth buying out. The price of the city to a tourist is not the price of the city to the city.

The motorbike I will not forget: a Grab driver, no helmet (none of them had one — I asked every time), seventy kilometers an hour on the highway, scrolling TikTok with both eyes for the better part of a kilometer. The bucket — a Thai cocktail bucket — I had drunk before the ride is the only reason I didn't have a heart attack on the back of it. The next motorbike I rented was in Vietnam.

Hanoi · Ho Chi Minh City · 7 days

03Vietnam

Two cities pretending to be the same country.

Hanoi and Ho Chi Minh City share a flag and not much else. Hanoi remembers the lane order the cyclos (cycle rickshaws) used to wait in. Ho Chi Minh City (Saigon) doesn't pretend lanes exist. Bánh mì specifically — the food that ruined sandwich expectations for the rest of my life.

You spend dong like Monopoly money: lunch four dollars, massage three, dinner two, a Grab bike three, museum three, hostel ten. By evening you have burned a hundred. Anyone who has been will recognize the math.

Vietnam looks ten years ahead of Europe in places: skyscrapers that double as full-block screens, a QR economy that has lapped Western payment apps, technology you'd expect a country to be proud of and they treat as ambient. Theoretically a communist country. Practically one of the most capitalist I have stood in. Hammer-and-sickle banners above the Gucci storefront. Neither the banner nor the line outside Hermès appears to notice the contradiction.

The history is less photogenic. They call it the American War, and that name should stand. Western textbooks default to the American story — young soldiers sent against their will — and that story is true. The villages exterminated by the same soldiers, and the children born with Agent Orange's signature decades after, are mostly absent from the books I grew up reading.

Vietnam outlasted the world's wealthiest military with terrain, patience, and the quiet underwriting of two larger powers. Before that, Vietnam pushed the French out, the way Poland in 1918 had three empires walk out of it. Two countries with similar instincts about who gets to write their own name.

Siem Reap · Phnom Penh · 5 days

04Cambodia

Three days inside the temples. Three hours inside the museum.

Angkor isn't one ruin. It's hundreds, written across centuries in the same architectural sentence. Three days. Ten hours of walking each. More steps than the rest of the trip combined. I have forgotten almost all the names. I have forgotten none of the differences between them — the same language, but every century's dialect is recognizable on sight.

That a society this organized existed nine hundred years ago is the part that doesn't sit comfortably with the European default story of progress.

Phnom Penh is the other half. Tuol Sleng — S-21, a high school turned interrogation prison. The Killing Fields, an hour outside the city. Around a quarter of Cambodia's population dead in four years, 1975 to 1979. The regime that did it kept Cambodia's UN seat until 1993, fourteen years after its fall — recognized by the United States and the United Kingdom, among others, because the alternative government was Vietnamese-backed, and Cold War accounting decided that fact mattered more than the math at S-21.

You don't take photos at S-21. The numbers on the wall are direct enough. The interrogation rooms still have the rusted bed-frames. Most countries have something like this in their history. Few have it this recent.

February 2026 · 3 days

05Singapore

The queue is the city's shared idea of itself.

Everyone queues. The queue is the city's shared idea of itself: it moves, you arrive at the front, you are served, you leave. The country runs on the assumption that this works, and the assumption is correct often enough that it has become the design language.

Sixty years from a fishing port to this. Lee Kuan Yew's books should be required reading for any country trying to start where his started.

The cost is real. The grind is louder than the country admits. The expectations of every nineteen-year-old here are a line most people in Wodzisław would walk away from on the first day. I slept in a twenty-two-bunk hostel dorm — the cheapest way to be in the country. But for a window I was looking at what Poland could be if it stopped asking permission to deserve it.

2–3 April 2026 · $120

06Luxembourg

Luxembourg is a country built by reading footnotes. I got there by reading the same kind of footnote.

$120
flights, hotel, food, museum
2
days on the ground
10,000
airline miles redeemed
20
minutes to walk the old town

Luxembourg has 660,000 residents and a GDP per capita at the top of the world tables. The fiscal infrastructure was built before the city was. ArcelorMittal, RTL, SES, Amazon's European headquarters — all addressed here for the same reason a Delaware mailbox is in Delaware. The country sells legal residency the way Detroit used to sell cars.

Walk it and the abstraction becomes legible. Wide avenues, monumental architecture, a tram that costs nothing because the tax base is large enough that public transport is rounding error. The Old Town fits inside a twenty-minute walk. Every person I spoke to was working in their third or fourth language — French at the post office, German with the cab, English on the call, Luxembourgish at home. The country itself is a vendor to its neighbors.

I got there for one hundred and twenty dollars. Ten thousand Miles & More miles redeemed on LOT against a Good Friday — no business traveler flying, every cabin half-empty, the award chart priced for a normal Friday. Seventy on a Hilton room that would have been three hundred any other weekend. Fifty on the rest.

Read the footnote, find the room nobody is in, walk through the door.

The cost

Luxembourg works for people who already have what the system wants. Wages are taxed at ordinary European rates. The arbitrage is for capital, not labor. A nineteen-year-old who got there on miles is on the wrong side of that line, and the supermarket prices say so in the first hour.

closing

Six places. The map wasn't really of them. It was of the country I came from.

Each place made one exportable thing visible. San Francisco — failure as a line, not a stain. Vietnam — a country that carries its own past without apologizing for it, in a way mine could learn from. Singapore — discipline as a state decision, not a personal virtue. Cambodia — great-power patronage as conditional, not permanent. Luxembourg — the instinct to read a tax code as a map of rooms instead of a wall. Thailand is the one I would leave whole.

The point of going was not to come back with photographs. It was to come back with imports — and with the receipts, so we don't pretend they were free when we copy them.
2025 — 2026

Stages & hackathons

01 / 03 · 2025.12.06–07 · BYDGOSZCZ

HackNation 2025

with Dawid Rutkowski + Irek Dawidowicz (parallel project track at the same hackathon — a hedge; AIDA was the one I coded solo)

HackNation 2025 — Bydgoszcz, December 6–7. MSZ, the Polish foreign ministry, had set ten briefs for HackNation, its hackathon — about 1,500 participants. I picked the hardest as a warm-up, planning to drop it for something easier in a few hours. Stuck with it.

Coded AIDA solo over the next 24 hours — a strategic-analysis tool for MSZ analysts that distils thousands of pages of source documents into traceable scenarios with citations. Dawid Rutkowski and Irek Dawidowicz worked a parallel track at the same hackathon as a team hedge.

Submitted AIDA at 10:59:30 — thirty seconds before the 11:00 deadline. Advanced to the finals. Won: 1st place, 25 000 PLN. Youngest in the final round. The award was handed by Radosław Sikorski — deputy prime minister and minister of foreign affairs.

hours from kickoff · Sat 11:00 → Sun 20:00
00:00
kickoff · MSZ's hardest brief, picked as warm-up
01:30
first lunch · food poisoning starts
20:30
7:30 am · massage chair break
24:00
submitted · 30s before the 11:00 deadline
27:00
advanced to the finals
33:00
won · Sikorski announces
2025.12.07 · 07:30
twenty minutes of stillness
2025.12.07 · 20:00
walk to the stage · Sikorski hands the award
2026.03
private meeting · with Sikorski
Cost

Sixty-four hours awake. After the first hackathon lunch I got food poisoning and didn't eat for thirty hours. The 1:30 am run around Bydgoszcz with Dawid was the only time the room stopped spinning. Bus home: McDonald's alone, couldn't sleep, reached Katowice at 1 am Monday. Slept five hours. Drove fifty minutes to Wodzisław Śląski to teach four hours of AI lessons to fifth-graders with EduChat. Forgot what I was saying mid-sentence. The kids were patient.

Memory

Three months later, March 2026 — a private meeting with Radosław Sikorski in the office next to his, three high-ranking officials present. The protocol was the one used for foreign ministers and heads of state. We talked about AIDA's continuation: how the structured-output contract — citations with page numbers, traceable scenarios, audit trail per query — could change how MSZ analysts work with model output. Verifiable artifacts the analyst can re-run, instead of unverifiable prose. Since then I've built v2. The ministry has discussed acquiring it; nothing agreed as of November 2026.

The award was the introduction. The meeting was the brief.
02 / 03 · 2025.06.26 · ROYAL CASTLE · WARSAW

Our Future Founders

with Kuba Urbańczyk

Won Our Future Founders, a startup competition for high-schoolers, in June 2025 with EduChat — 1st place. The platform had been in classrooms for nine months by then: 176 hours teaching fifth-graders in thirteen primary schools, 100+ principals met. The 5,000 km across Poland came that summer and autumn.

Started in fall 2024 with one volunteer lesson in Wodzisław Śląski where I noticed kids could use ChatGPT but couldn't learn with it. Coded the first version of EduChat that night — a wrapper that refused to give ready answers and asked questions instead. Pilot agreement with the regional head of education by week three.

5,000
km · driven across Poland, summer–autumn 2025
100+
principals, heads of education, mayors
176
teaching hours · fifth-graders, thirteen schools
2025.06.26
Our Future Founders · finals · Royal Castle, Warsaw
2025
with Sebastian Kulczyk, investor · InCredibles, his accelerator

InCredibles, Sebastian Kulczyk's accelerator, took us in.

Rzeczpospolita, a national daily, ranked EduChat #2 in its Startups of 2026.

Cost

Two falls and a winter on the road. Most meetings ended polite. The ones that didn't were the ones that mattered.

Memory

The Uniwersytet Śląski partnership also opened on a stage. May 2025 — the Silesian head of education handed me a Prime Minister's scholarship; on the walk back I mentioned EduChat and asked for a meeting. She sent me to the vice-head, who was a professor at UŚ. He sent me to prof. Sebastian Stach, who became the partnership's anchor. Three referrals in six weeks.

Prof. Stach was the third referral.
03 / 03 · 2026.03.21 · BOSCH POLSKA HQ · WARSAW

Bosch Hackathon

with Klaudia Zagorowicz, Mikołaj Latosi, Irek Dawidowicz · mentored by Douglas Martins · Bosch Polska

Bosch Hackathon, March 21st 2026. Fourteen hours, 8 am to 10 pm. Coded Boschie — an onboarding assistant for new Bosch Polska hires. Won, 1st place.

Polish-first throughout: hybrid retrieval over Bosch HR documents (diacritics-insensitive, Polish stop-word filtered), Bielik 11B, a Polish open-weights language model, for generation. Three layers — a RAG over the HR docs, a proactive role-aware agent, and an analytics dashboard for HR built on top of the conversation logs.

kickoff (08:00) → ceremony (22:00)
08:00
kickoff · 500+ new hires/yr brief
10:30
Bielik 11B online via PLGrid
14:00
three layers wired · RAG · agent · dashboard
18:00
auth + roles + FAQ feedback loop
21:00
pitch
22:00
ceremony
2026.03.21 · 21:00
Team Boróweczki at the podium · 1st place
2026.03.21 · 22:00
award ceremony · Bosch Polska HQ
Cost

Was broke at the time. Brought my girlfriend to the hotel anyway — paid out of pocket, on the assumption that I'd win. There was no plan if I didn't.

Memory

The pitch line — “the real value isn't in the answers, it's in the questions” — is what landed. The three layers were the substrate; the dashboard mined the questions Boschie couldn't fully answer to surface the HR knowledge gaps the company didn't know it had.

That was the layer the judges came back to.
since 2015

Canticum Novum, since I was nine.

overture

Gaude Mater Polonia

Wincenty z Kielczy (1200? – before 1262) · Solennie (solemnly)

I · Origins · pp.

Wodzisław Śląski, 2015. I was nine.

I joined Canticum Novum, a children's choir in Wodzisław Śląski, at nine — the youngest in a room of fifty children age nine to seventeen. Conductor: Dr. Emilia Kopiec. Two rehearsals a week, Thursdays and Fridays. No breaks worth mentioning.

The first trip was Barcelona, July 2018. I was twelve. We sang Vos estis lux mundi inside Sagrada Família — a building still under construction. My voice broke later that year.

By the next autumn I was singing bass with the older kids. A year later I was in the front row. The role kept widening — mentoring the new nine-year-olds, editing the recordings, designing the posters. By 2024 I was the oldest member, and the one fifty kids on a bus to Rome asked which church we were singing in next.

II · The Road · mf.

The trips. Fifty-something concerts.

The rhythm of choir trips. Get off the bus, go straight to the rehearsal space. Get back on the bus, sleep. Sometimes a cathedral in between, sometimes a parish church, always in that order.

2018.07
Barcelona · Sagrada Família
2023
Rome · St. Peter's Square
2023.12
Wodzisław Śląski · parish church · carol concert
2024.01.01
Vatican · St. Peter's Basilica · New Year's Mass · sang for Pope Francis
2024
Rome · Colosseum
2025.06
Bavaria · baroque monastery
2025.06
Munich · Residenz
2025
Międzyzdroje · Promenade

What I remember is mostly the buses between them — overnight from Wodzisław Śląski to Rome, fifty kids asleep across the seats, the conductor reading in the front. The work happened in rehearsal rooms no one remembers. The hours happened on the road between them.

III · The Cathedral · ff.

Frauenkirche, Munich. June 2025.

Munich, June 2025. The Frauenkirche. About a thousand people. I gave a peace speech.

Peace beginning in the heart, kindness over hate, what young people can do — the kind of thing the occasion called for. The one line that wasn't: “Music has no borders.” Standing in a room of singers from across the world singing the same Latin, it briefly stopped being a cliché. The rest was what peace speeches are made of.

Eleven years of choir had already put me on stage often enough that the walking up — the microphone, the thousand strangers, the cold stone — had stopped registering as something to be afraid of. The Frauenkirche was the first time I noticed it. I'd been training for that minute since I was nine without knowing what it was training me for.

Hackathon pitch rooms, startup-competition stages, sales calls for EduChat — the same trained reflex. The choir didn't teach me what to say in any of those rooms. It taught me the part where you walk in and don't flinch.

IV · What choir taught · dim.

Eleven years. What it taught.

One white sock in an all-black formation is visible from row five. We rehearsed this for eleven years. One wrong note in fifty voices is louder than the right forty-nine.

Singing Gaude mater Polonia a thousand times doesn't make you patriotic. It makes you specific. Singing the Sanctus a thousand times doesn't make you Catholic. It makes you careful with text you didn't write.

Fifty kids age nine to seventeen and a tour bus. By the third day of any trip the nine-year-olds are calling me to fix things their parents would have fixed at home. I have learned the answer to most of those things, and which ones go to the conductor.

The conductor is also my mother. The two rehearsals a week were also two days I had to be perfect at home. Eleven years of having the same person at the front of the rehearsal hall and at the kitchen table when it went badly.

closing · pp morendo.

Thursdays, until 20 August 2026.

since 2021

Six. Mayday (Air Disasters) instead of cartoons. Fourteen. Solo.

Aeroklub ROW, the Rybnik flying club — EPRG Gotartowice airfield — 2021–2025

2021
First solo. Fourteen.
01 · No engine

There is no engine.

Powered aircraft fly because they push air backward. Gliders fly because the air around them is going up faster than the aircraft is going down.

The only instrument that matters is the variometer — a needle that says how fast the air is moving relative to you. When the needle pulls upward, you found a thermal. When it doesn't, you have minutes. There is no second engine.

The discipline this produces isn't bravery. It's the opposite. Every flight is a one-sided negotiation with whatever the weather decided that morning.

02 · The team

Solo is the wrong word.

The tow pilot ahead of you releases the rope at six hundred meters; the ground crew on the radio called the wind direction before takeoff; the instructor who watched your first thirty solo flights is the reason there was a thirty-first.

My first flight under my own decisions was in 2021, at fourteen, on an SZD-9 Bocian, at Aeroklub ROW, the Rybnik flying club, in Gotartowice. The instructor was Grzegorz Smołka. The second flight was twenty minutes later. By the end of the day, I had three. Five years and 110 flights later, I still don't have the license — the years I would have used to finish the SPL, the glider pilot license, were the years I started building the things on the desk.

03 · The unphotographable

Some sunrises don't photograph.

The cockpit is quiet enough that the air against the canopy is the loudest thing in the aircraft. The sun comes up through cloud you're flying above.

Once, from 1,500 meters, our house was identifiable by its roof; the school I had walked to for nine years was a dot; the cemetery was a dot.

Whatever you point a camera at flattens it. The aircraft is the camera. The image is the flight.

04 · What it taught

What it taught shows up in places that have nothing to do with airfields.

At a hackathon, hour 22.

The venue's internet was buckling under fifteen hundred people uploading at once. Half of what we had built was unreachable from our own machines. Whatever the weather decided that morning, the negotiation is one-sided. You don't get a second engine. You fly the day you have. We won.

On the second morning of finals in Warsaw.

The night before: through eliminations, into the final round. Also the night before: the NYU waitlist. Conditions don't ask whether you slept. I pitched in front of the jury anyway.

In a meeting with Cezary.

Thirty-eight years older. He had been doing the work since before I was born. The right move was the same one as on the airfield — trust the more experienced pilot's call about a thermal you can't yet see.

logbook
2021
first solo · EPRG
110
flights logged
~1,600 m
highest altitude
~2 h
longest single flight
5
years on the airfield · 2021–2025
landing

The aircraft has no engine.Once you start descending, you are landing.The only question is which field.

2025 — 2026 · retired

ManagAI

CTO · WITH CEZARY PASZUK · executiveintelligence.pl · offline

An AI advisor for Polish managers — 145 specialized tools across 12 management domains, structured-output forms for the artifact a manager actually needs (script, RACI, mediation playbook, KP-correct incident note), and labor-law accuracy on Kodeks Pracy article numbers.

Three months and ten days from first commit to 145 tools. Single contributor in the git log; mobile (Flutter) and web shipped in parallel.

Not closed, not continued: both of us ran out of time.

links

Elsewhere.

the academic record is its own page →