Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Gift wish list platform — create, share, and reserve gifts without duplicates. Mobile first, zero friction for guests.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A wishlist sharing platform — create wishlists, share them with anyone, and let people reserve gifts without spoiling the surprise.
Podaruj.me solves a universal problem: buying gifts without duplicates and awkward guessing. A user creates a wishlist for any occasion — birthday, holidays, wedding — shares a link, and guests can browse and reserve items instantly. No account required for guests. Three privacy modes let the list owner control exactly how much they see, from full transparency to complete surprise.
🎬 See it in action
🔊 Unmute for English voiceover · 🇵🇱 Wersja polskaREADME 전문 보기 ↗A wishlist sharing platform — create wishlists, share them with anyone, and let people reserve gifts without spoiling the surprise.
Podaruj.me solves a universal problem: buying gifts without duplicates and awkward guessing. A user creates a wishlist for any occasion — birthday, holidays, wedding — shares a link, and guests can browse and reserve items instantly. No account required for guests. Three privacy modes let the list owner control exactly how much they see, from full transparency to complete surprise.
🔊 Unmute for English voiceover · 🇵🇱 Wersja polska
https://github.com/user-attachments/assets/08b42f80-7438-4cbd-ac0a-e5829cdee67f
Three things that make this more than a CRUD app:
🔒 Privacy modes enforced at the database level — three reservation visibility tiers, including a Full Surprise mode where even the list owner can't see who reserved what
🎯 Guest-first access — no account needed to browse or reserve. One tap from a messenger link and you're in
🤖 Built through agentic orchestration — zero hand-written code, fully documented process from prompt to production (see docs/)
Gift lists sound simple — until you think about privacy. Who sees what? Can the birthday person find out what's coming? What happens when the event passes? These questions turned a "simple CRUD app" into a product with real UX depth: three privacy modes, a Full Surprise lifecycle with draft/publish/reveal stages, guest access without sign-up walls, and a celebration screen after the event.
I wanted a portfolio project that demonstrates product thinking, not just code output — something with real user flows, edge cases worth solving, and a UI polished enough to pass as a shipped product.
Built in 3 days — from concept to deployed product, using document-driven agentic orchestration.
The core differentiator. Each list has one of three reservation privacy modes, enforced server-side — not just hidden in the UI:
Full Surprise lists have a dedicated lifecycle: they start as drafts (invisible to guests), and once published, items are locked to prevent the owner from reverse-engineering reservations through edits.
Guests arrive via a shared link or QR code and can browse and reserve immediately — no sign-up, no login wall. Just enter a nickname and go. This was a deliberate UX decision: most users arrive through a messenger link on their phone, and any friction means drop-off.
@dnd-kit, plus 8 sort optionsmailto: with a pre-composed friendly messageLists aren't just static pages — they have a full lifecycle:
Full English and Polish support with a language switcher. Built with next-intl.
Passwordless authentication via Google OAuth or magic link. Profile settings with display name, avatar (synced from Google), and full account deletion with cascade cleanup.
Owner Guests
│ │
├─ Creates list │
├─ Adds items │
├─ Chooses privacy mode │
├─ Shares link / QR / email ──→│
│ ├─ Opens link (no account needed)
│ ├─ Browses items
│ ├─ Reserves with nickname
│ │
├─ Sees reservations │
│ (per privacy mode) │
├─ Event passes → list closes │
└─ Celebration + reveal 🎉 ┘
I deliberately chose to build this through document-driven agentic orchestration rather than writing code by hand. The goal was to explore and demonstrate a workflow that's becoming increasingly relevant: treating AI agents as an implementation team that you direct through structured documentation, iterative review, and precise prompts.
This isn't about avoiding code — it's about operating at a higher level of abstraction. Defining the product, validating the output, maintaining quality, and steering agents when they drift. The same skills that make a good tech lead or product engineer, applied to a new kind of toolchain.
Built in 3 days. Zero hand-written code. Full product control.
prompt.md → design.md → my review → plan.md → execution → AI code review → E2E tests → validation
(intent) (AI spec) (approve/ (AI plan) (AI agents) (iterative) (Playwright) (manual QA)
correct)
↑ │
└──────────────────────────── iterative feedback loop ───────────────────────────────────────────────┘
Each feature was built as an atomic delivery — a small, well-scoped task with a clear prompt, generated design, and execution plan. This modular approach prevents context drift and keeps AI output consistent and predictable.
Orchestrating AI agents is a distinct engineering skill. It requires product thinking to define what to build, UX intuition to evaluate whether it's good, prompt engineering to communicate what you want precisely, and quality standards to catch what's wrong. The code is agent-generated. The product vision, UX quality, and relentless iteration are mine.
📁 The full development trail — prompts, AI-generated designs, and execution plans — is documented in
docs/.
This project was deliberately built through full agentic orchestration — an experiment in pushing that workflow as far as it goes. It's great for rapid prototyping, validating product ideas, and shipping MVPs fast. For production-grade work requiring tighter control over architecture and code quality, I use a different workflow: AI pair programming with human-in-the-loop review at every step. You can see that approach in my other repositories.
I didn't make the architectural decisions — the AI agents did. But my product requirements forced non-trivial solutions:
These weren't engineering decisions I made — they were product constraints I defined that shaped the architecture.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Server Actions) |
| Language | TypeScript 5 |
| UI | React 19 |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Backend & Auth | Supabase (PostgreSQL, Auth, RLS) |
| Auth Providers | Google OAuth, Magic Link |
| i18n | next-intl (EN + PL) |
| Drag & Drop | @dnd-kit |
| Testing | Playwright (E2E) |
| Hosting | Vercel |
# Clone the repository
git clone https://github.com/przemg/podaruj.me.git
cd podaruj.me
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Fill in your Supabase URL, anon key, and Google OAuth credentials
# Run the development server
npm run dev
Open http://localhost:3000.
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key (server-side only) |
NEXT_PUBLIC_BASE_URL | App base URL (e.g. http://localhost:3000) |
This project is for portfolio and educational purposes.