σχεδιασμός + ανάπτυξη + παράδοση

Ιστοσελίδες για επιχειρήσεις & web εφαρμογές

Δώσε ώθηση στην επιχείρησή σου

Ξεκίνα με δωρεάν έλεγχο ιστοσελίδας.

full-stack web developer

Γιάννης Καπέρδας

Σχεδιάζω και αναπτύσσω ιστοσελίδες και web εφαρμογές υψηλών επιδόσεων. Από τη στρατηγική έως την κυκλοφορία.

επιλεγμένα έργα: Τα πιο πρόσφατα έργα μου

Μια web εφαρμογή, ένα δημόσιο αρχείο και δύο τεχνικά προϊόντα: τι υλοποίησα και πώς λειτουργούν.

CafeScoop στιγμιότυπο

Επαναλαμβανόμενες ομαδικές παραγγελίες · 2026

CafeScoop

αποτέλεσμα

Ένα άμεσο κανάλι παραγγελίας για κοντινά γραφεία: κάθε ομάδα παραγγέλνει γρήγορα από έναν σύνδεσμο και η καφετέρια λαμβάνει ένα καθαρό δελτίο αντί για χάος μηνυμάτων.

1 σύνδεσμος → 1 δελτίο καφετέριας

λεπτομέρειες έργου
πρόβλημα
Οι καφετέριες γειτονιάς χάνουν επαναλαμβανόμενες παραγγελίες γραφείων μέσα σε διάσπαρτα τηλεφωνήματα και μηνύματα WhatsApp: οι ίδιες λεπτομέρειες συλλέγονται καθημερινά, οι προθεσμίες δεν είναι σαφείς και το προσωπικό πρέπει να συνδυάζει χειροκίνητα τις επιλογές όλων.
υλοποίηση
Μια δίγλωσση πλατφόρμα επαναλαμβανόμενων παραγγελιών με Next.js 15, TypeScript και Supabase. Ένας διοργανωτής δημιουργεί την ομάδα και το πρόγραμμα, οι συνάδελφοι συμμετέχουν από σύνδεσμο χωρίς υποχρεωτική εγγραφή, η ζωντανή παραγγελία κλειδώνει αυτόματα και η καφετέρια λαμβάνει ένα συγκεντρωτικό δελτίο. Η ροή ολοκληρώνεται με kitchen board, ειδοποιήσεις email, αναφορά εσόδων και Sentry.
  • Next.js 15
  • TypeScript
  • Supabase
  • Realtime
  • EL / EN
άνοιγμα έργου

Έχεις ιστοσελίδα ή εφαρμογή στο μυαλό σου;

Μίλησέ μου για το έργο

εργαλεία & λογισμικό

σχεδιασμός · ανάπτυξη · παράδοση

  • React
  • TypeScript
  • Next.js
  • Node.js
  • Tailwind CSS
  • PostgreSQL
  • Supabase
  • GraphQL
  • Figma
  • Framer
  • Adobe Photoshop
  • Adobe InDesign
  • Git
  • GitHub
  • Vercel

κώδικας: Πρόσφατες πρωτοβουλίες κώδικα

Μοτίβα που χρησιμοποιώ σε πραγματικά έργα. Κάθε ένα λύνει ένα γνώριμο πρόβλημα. Διάλεξε ένα για να το διαβάσεις.

Modal.tsx

Modal dialogs that trap focus and restore it, without pulling in a UI library.

Προβολή στο GitHub →
// Problem: accessible modal dialogs that trap focus and restore it on close,
// without pulling in a whole UI library.
import { useEffect, useRef } from "react";

export function Modal({ open, onClose, title, children }: {
  open: boolean;
  onClose: () => void;
  title: string;
  children: React.ReactNode;
}) {
  const ref = useRef<HTMLDivElement>(null);

  useEffect(() => {
    if (!open) return;
    const previouslyFocused = document.activeElement as HTMLElement | null;
    const focusables = ref.current!.querySelectorAll<HTMLElement>(
      'a[href], button:not([disabled]), input, [tabindex]:not([tabindex="-1"])',
    );
    focusables[0]?.focus();

    function onKeyDown(e: KeyboardEvent) {
      if (e.key === "Escape") return onClose();
      if (e.key !== "Tab" || focusables.length === 0) return;
      const first = focusables[0];
      const last = focusables[focusables.length - 1];
      // Wrap focus so Tab never escapes the dialog.
      if (e.shiftKey && document.activeElement === first) {
        e.preventDefault();
        last.focus();
      } else if (!e.shiftKey && document.activeElement === last) {
        e.preventDefault();
        first.focus();
      }
    }

    document.addEventListener("keydown", onKeyDown);
    return () => {
      document.removeEventListener("keydown", onKeyDown);
      previouslyFocused?.focus(); // restore focus to the trigger element
    };
  }, [open, onClose]);

  if (!open) return null;
  return (
    <div className="overlay" onClick={onClose}>
      <div
        ref={ref}
        role="dialog"
        aria-modal="true"
        aria-label={title}
        onClick={(e) => e.stopPropagation()}
      >
        {children}
      </div>
    </div>
  );
}

σχετικά: Ολοκληρωμένη υλοποίηση

Είμαι ο Γιάννης Καπέρδας, full-stack web developer με πρακτική εμπειρία στην υλοποίηση ιστοσελίδων και web εφαρμογών μέσα από ένα ευρύ φάσμα έργων. Διαθέτω MSc in Business Information Technology Systems από το University of Strathclyde και MSc in IT and Applications από το Πανεπιστήμιο Δυτικής Αττικής.

Με νοιάζουν όσα κάνουν το λογισμικό πραγματικά καλό: γρήγορη φόρτωση, προσβάσιμο markup, τυποποιημένος και συντηρήσιμος κώδικας, και καθαρή επικοινωνία χωρίς περιττή ορολογία.

Τα εργαλεία είναι το μέσο, όχι ο σκοπός. Επιλέγω τα κατάλληλα για κάθε δουλειά και κρατώ τον κώδικα φιλικό για τον επόμενο άνθρωπο που θα τον δουλέψει.

τι κάνω

  • Web εφαρμογές και dashboards
  • /Ιστοσελίδες marketing και landing pages
  • /Επιδόσεις και SEO
  • /Από design σε κώδικα
βάση
Αθήνα, Ελλάδα · Εξ αποστάσεως
τεχνολογίες
TypeScript · React · Next.js
συνεργασίες
Startups, agencies και ιδρυτές

// εργαλειοθήκη

  • TypeScript
  • React
  • Next.js
  • Node.js
  • Tailwind CSS
  • PostgreSQL
  • REST & GraphQL
  • Figma → Code
  • Web Vitals
  • Vercel / CI

επικοινωνία: Ας συνεργαστούμε

Πες μου λίγα πράγματα για την ιδέα ή το πρόβλημά σου και θα απαντήσω μέσα σε λιγότερο από 24 ώρες.

Γίνεται επαλήθευση του μηνύματος...