44.06° N 12.57° E · RIMINI, ITALY · FREELANCE WEB DEVELOPER

Websites and web apps, measured then built.

I'm Andrea Capelli, a full-stack web developer in Rimini. I design and build fast websites, web apps, online payments and Windows desktop apps for small businesses and startups. You get a written fixed price before work starts, one direct contact, and code that's tested, monitored and easy to hand over.

Packages from €680 + VAT where due · €340/day · Reply within 2 business days

Streaming results, one row per player as each lookup finishes, from vStats Desktop (beta)

Proof in numbers.

  • ~200API routes in the vStats backend
  • 53automated test files on the vStats server
  • 5languages served with hreflang
  • 3client platforms on one API: web, mobile, desktop
  • 2Windows apps with signed auto-updates (beta)

Counted in the vStats codebase, October 2026.

  • Astro
  • Next.js
  • React
  • TypeScript
  • Node.js
  • PostgreSQL
  • Redis
  • Stripe
  • Tauri / Rust
  • Cloudflare

01WORK

Real products, live or in beta

These are products I designed and built: a live platform with subscription billing, two Windows apps in beta, and a league platform for a client. They're gaming products, but the work underneath is what most businesses need: pages that load fast and are found on Google in several languages, sign-in, online payments, and a site built faithfully from someone else's design.

    • LIVE
    • OWN PRODUCT

    vStats: stats and fair-play platform

    A live VALORANT stats platform with player profiles, a statistical fair-play indicator, pages in five languages, and Stripe subscriptions.

    Backend
    Node/Express · ~200 routes
    Data
    PostgreSQL · Redis
    Billing
    Stripe Checkout, Billing Portal, webhooks
    • BETA 1.0.0-beta.6
    • WINDOWS

    vStats Desktop: a read-only Windows companion

    A Windows app that notices when your match starts and brings up match context for your lobby (ranks, who queued together and a fair-play score) as results arrive.

    Core
    Tauri 2 · Rust · React 19
    Security
    OS credential store · strict CSP
    Delivery
    NSIS installer · signed updates
    • BETA 1.0.0-beta.43
    • WINDOWS + SERVER

    vStats Teams: a practice workspace for competitive teams

    A Windows app and backend that capture a team's practice-match data automatically, grade every kill and death, and keep the team's strategy playbook in one place. Subscriptions are opening soon.

    App
    Tauri 2 · Rust · React 19
    Server
    Express · PostgreSQL · 53 routes
    Features
    8-tier decision grading · strategy board · VOD sync
    • CLIENT WORK
    • IN DEVELOPMENT & TESTING

    IVPITER: community site and 5v5 league platform

    Client work for an Italian VALORANT community: a website and a real-time league platform with queue, check-in, captains' draft and map veto, built from the client's approved design.

    Stack
    Next.js · React · TypeScript · Drizzle/PostgreSQL
    Real-time
    Server-Sent Events
    Quality
    64 test files · about 620 test cases

Mockups on this site are illustrations, not screenshots. IVPITER is named with the client's permission. VALORANT and Riot Games are trademarks of Riot Games, Inc. These projects are not affiliated with or endorsed by Riot Games.

02SERVICES

Clear prices, before we start

Every project gets a written fixed price before any work begins. The prices below are where packages start; your quote depends on your exact scope, and I'll explain every line of it. If your project doesn't fit a box, ask for a custom quote.

  • A. Business website or landing page

    from €1,200+ VAT where due

    1–3 weeks

    • Up to 5 pages, built with Astro or plain HTML/CSS: fast, responsive and accessible
    • Technical SEO: meta and social tags, sitemap, structured data, Lighthouse checks
    • Contact form, privacy and cookie basics, and deployment to your hosting
    • One language included; each extra language with hreflang +€250
    • Two rounds of revisions

    Proven by: vStats pages in five languagesIVPITER, built from an approved design

  • B. Web app or SaaS MVP

    from €7,500+ VAT where due

    6–10 weeks

    • One core feature set, with login and user accounts
    • PostgreSQL schema and migrations, REST API and admin panel
    • Automated tests on the critical paths, deploy pipeline, error alerts
    • A tight, honest scope: one thing done properly, not a smaller version of everything

    Proven by: vStats backendIVPITER league platform

  • D. Desktop app for Windows

    from €6,000+ VAT where due

    5–8 weeks

    • A Windows app built with Tauri 2 (Rust core, React/TypeScript interface), connected to your API
    • Secure sign-in, with the session kept in the Windows credential store
    • Tray icon, notifications, start with Windows
    • Installer, signed automatic updates and release tooling on your server

    Proven by: vStats Desktop (beta)vStats Teams (beta)

  • F. Care plan: maintenance and support

    from €180/month+ VAT where due

    minimum 3 months

    • 4 hours a month included; extra hours at €45/hour
    • Updates and security patches, uptime monitoring with alerts, backup checks, small changes
    • Reply within 2 business days
    • Web-app tier: 10 hours a month, €420/month

€45/hour · €340/day.

Hourly rates are for work under two days. Packages are fixed price, with a 30% deposit and the rest by milestone. All prices + VAT where due.

03PROCESS

How we'll work together

  1. Call. 30 minutes, free. You tell me the goal, the deadline and the budget; I ask about the constraints.

  2. Written quote. A fixed price, scope, milestones and exclusions, within 3 business days.

  3. Build in milestones. A 30% deposit, then a private preview link updated every week, with short written updates. Nothing is a surprise at the end.

  4. Handover. Deployed, documented, and monitored if you want it. Care plans are optional.

You own the code and the domain. Always.

04ABOUT

Hi, I'm Andrea

I'm a full-stack web developer based in Rimini, on the Adriatic coast. I work across the whole stack: the pages your customers see, the server and database behind them, the payments and sign-in, and the monitoring that tells me something broke before you notice.

Most of my recent work is my own product, vStats. I designed and built its platform and two Windows apps on a single Node backend. Before choosing its architecture I measured what the official data source could actually return, and that habit stuck: measure first, then build. Running it taught me the unglamorous half of the job: rate limits, webhooks that arrive twice, caches that have to stay bounded, updates that have to be signed, and a status page that still works when the main server is down. I also built a community site and league platform for an Italian gaming community, from their approved design.

I like clear scopes, honest estimates, and plain code the next developer can read. I write tests for the paths that handle money and identity. I work in English and Italian, with clients in Romagna, the rest of Italy and the EU.

Based in
Rimini, Italy (CET)
Works
Remotely across the EU; in person in Emilia-Romagna
Languages
Italian, English
Reply time
Within 2 business days

What I work with

Front end
TypeScript · React · Next.js · Astro · HTML/CSS · design-system tokens
Back end
Node.js · Express · REST · Server-Sent Events · NDJSON streaming
Data
PostgreSQL · Drizzle · SQL migrations · Redis
Auth & payments
OAuth 2.0 + PKCE · Stripe · App Store server verification
Desktop
Tauri 2 · Rust · NSIS · signed updates
Operations
Cloudflare · VPS deploys with rollback · monitoring and alerting
Testing
Vitest · Node test suites · Rust unit tests

05FAQ

Questions clients ask

Do you work with clients outside Rimini?

Yes. Most projects run remotely by video call, anywhere in the EU. If you're in Emilia-Romagna, we can also meet in person.

Are the prices final?

They're starting points. After our call you get a written fixed price for your exact scope, and it only changes if the scope does, with your written agreement.

Who owns the code?

You do: the code, the domain, the hosting and every account. I hand over all access at the end.

Can you take over an existing site or app?

Yes. A feature sprint (from €680) is a good way to start, and it includes a short review of the codebase.

How do invoicing and VAT work?

I issue regular Italian invoices. Prices on this site exclude VAT (IVA), which is added where it applies.

What happens after launch?

You can run it yourself with the handover guide, or choose a care plan from €180/month for updates, monitoring and small changes.

How do payments work?

For packages: a 30% deposit to start, the rest split across milestones. Smaller jobs are billed at €45/hour or €340/day.

06CONTACT

Tell me about your project

A few lines are enough. Write to me directly, or fill in the short brief below; it opens your email app with everything filled in. I reply within 2 business days to book a free 30-minute call.

What do you need?

Required.

Required.

Rimini, Italy (CET). Remote across the EU; in person in Emilia-Romagna.