A modern, responsive portfolio website showcasing automation tools and full-stack development projects created for Prime Video workflows.
π Live Site: https://marcotof.github.io/
- Responsive Design: Fully optimized for desktop, tablet, and mobile devices with hamburger menu
- Permanent Dark Mode: Always-on dark theme for consistent visuals
- Hamburger-only Navigation: iOS-inspired open/close animation across devices
- Multi-language Support: English, Italian, and Spanish controlled by URL paths
- Desktop & Mobile: Full language names (English, Italiano, EspaΓ±ol)
- URL-based Language Routing:
/for English,/it/for Italian,/es/for Spanish - Interactive Project Showcase: Detailed project modals with features, technologies, and impact metrics
- Professional Timeline: Career journey with current role highlighted
- Contact Form Modal: Localized contact form integrated with Formspree for direct email submissions, with client-side validation and localized success/error notifications
- Downloadable Resume: Direct download link for Marco Tofani's resume
- Modern UI/UX: Tech-inspired layout with a four-group card system and smooth animations
- Professional Presentation: Optimized for recruiters and technical managers
- SEO Optimization: Open Graph meta tags for social media sharing, Schema.org JSON-LD structured data for search engines, sitemap.xml, and robots.txt for improved discoverability
Three production automation tools with live video demonstrations:
- Redelivery Hub: Comprehensive automation platform (90% reduction in manual work)
- LQA Tool Extension: Chrome extension for workflow enhancement (40% QA efficiency improvement)
- Redelivery Agent: Web-based Excel processing tool (eliminates manual data entry errors)
All demo videos are embedded in the "Demos" section of the portfolio with full responsive support.
Comprehensive automation platform for Prime Video redelivery workflows with:
- Multi-tool automation platform
- Selenium WebDriver automation
- Real-time status tracking
- File processing and validation
Chrome extension enhancing LQA Tool workflow efficiency
Web-based Excel file processing tool with modular architecture
Python utilities for file management and timestamp processing
Documentation and templates for partner support workflows
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Styling: CSS Variables for theming, Modern CSS Grid/Flexbox, Custom animations
- Dark Mode: Always-on theme using CSS variables
- Internationalization: Embedded translations in JavaScript
- Icons: Font Awesome 6
- Fonts: Space Grotesk + IBM Plex Mono (Google Fonts)
- Responsive: Mobile-first design with centered hero layout
portfolio-website/
βββ index.html # Main HTML structure
βββ styles.css # CSS styling with dark mode variables
βββ script.js # JavaScript functionality (dark mode, mobile menu, URL-based i18n)
βββ locales.js # Embedded translations (en, it, es)
βββ it/ # Italian page (URL: /it/)
β βββ index.html
βββ es/ # Spanish page (URL: /es/)
β βββ index.html
βββ Marco Tofani_Resume.pdf # Downloadable resume
βββ profile-picture.jpg # Profile image
βββ dragons-dogma-2.jpg # VIP project image
βββ super-mario-party-jamboree.jpg # VIP project image
βββ poster-redelivery-hub.png # Poster image for Redelivery Hub demo
βββ poster-lqa-extension.png # Poster image for LQA Tool Extension demo
βββ poster-redelivery-agent.png # Poster image for Redelivery Agent demo
βββ demo-redelivery-hub.mp4 # Redelivery Hub video demo
βββ demo-lqa-extension.mp4 # LQA Tool Extension video demo
βββ demo-redelivery-agent.mp4 # Redelivery Agent video demo
βββ sitemap.xml # XML sitemap for search engine crawling
βββ robots.txt # Search engine crawler instructions
βββ README.md # This file
This portfolio includes comprehensive SEO optimizations to improve visibility in recruiter searches and social media sharing:
- Professional previews when shared on LinkedIn, Twitter, and other social platforms
- Displays your name, description, and profile picture thumbnail
- Enhances click-through rates from social sharing
- Machine-readable profile information using Schema.org Person schema
- Tells search engines and recruiter automation systems:
- Your name, email, job title, and location
- Languages you know (Italian, English, Spanish)
- Core skills and expertise areas
- LinkedIn and GitHub profiles
- Helps search engines discover and index all portfolio sections
- Lists priority levels for different pages (homepage highest priority)
- Enables efficient crawling of your entire site
- Guides search engine crawlers on what to index
- Links search engines to your sitemap
- Allows all bots to crawl your portfolio
- Declares language alternates for EN/IT/ES
- Helps search engines show the correct language version
These optimizations improve:
- Search Visibility: Rank higher for searches like "localization automation developer", "game localization specialist", "polyglot developer"
- Social Credibility: Professional appearance when shared on LinkedIn and Twitter
- Recruiter Automation: Better matching in automated recruiter systems and ATS platforms
- Search Engine Indexing: Faster and more complete indexing of your portfolio
- Optimized Loading: Minimal external dependencies
- Smooth Animations: CSS transitions and JavaScript scroll effects
- Mobile Responsive: Optimized for all device sizes
- Fast Loading: Lightweight codebase with efficient CSS
- Chrome/Edge: Full support
- Firefox: Full support
- Safari: Full support
- Mobile browsers: Responsive design optimized
- Project Filters: Added Python and JavaScript filter chips for faster browsing
- Contact Feedback: Toast notifications for form success/error in all languages
- Permanent Dark Mode: Removed the toggle and enforced a consistent dark theme
- Hamburger-only Header: Single navigation pattern across desktop and mobile
- Hero Layout: Centered hero content with a 4-button desktop row and 2x2 mobile grid
- Card System: Four color groups applied across sections for consistent hierarchy
- Group 1: Home + Contact
- Group 2: About + Timeline + Skills
- Group 3: Awards + Localization
- Group 4: Projects + Demos
- Contact UX: Stronger button styling and cleaner contact modal presentation
- URL-based Language Routing Only: No browser auto-detect or stored preference
- Menu Language Selector: Full language names in pill buttons
- Hreflang Tags: Explicit alternates for EN/IT/ES
- Sitemap + Robots: Confirmed and up to date
- Added Python and JavaScript project filter chips
- Added toast notifications for Formspree contact submissions
- Localized contact success/error toasts in EN/IT/ES
- Removed Excel tag from FileMaster project card
- Removed Excel tag and "Excel Processing" from TimeStamps Converter card
- Removed Excel tag and "Excel Processing" from Redelivery Agent card
- Updated Proxy Generation Tool architecture copy across locales
- Modal Dialog: Non-intrusive contact form that opens in a modal when clicking the email button
- Formspree Integration: Direct email delivery to tofanimarco16@gmail.com using Formspree
- Full Localization: Form labels, placeholders, and feedback messages in English, Italian, and Spanish
- Client-side Validation: Required field validation before submission
- User Feedback: Loading states plus toast success/error notifications (localized)
- Responsive Design: Works seamlessly on all devices
- Name: Minimum 3 characters required
- Email: Must be a valid email format (user@domain.com)
- Message: Minimum 10 characters required
- Click the email button in the contact section
- Fill in your name, email, and message
- Real-time validation provides immediate feedback as you type
- Error messages appear below fields for invalid inputs
- Click "Send Message" to submit (only enabled when all fields are valid)
- Receive localized validation feedback and confirmation message in the selected language
- Include project screenshots/demos
- Add blog section for technical articles
- Additional language support
For questions about this portfolio or collaboration opportunities:
- Email: tofanimarco16@gmail.com
- LinkedIn: linkedin.com/in/marco-tofani
This site includes a client-side localization system with translations embedded directly in JavaScript. Current languages: English (en), Italian (it), and Spanish (es).
How it works:
- All translations are embedded in
locales.jsto avoid CORS issues on GitHub Pages locales.jsis organized with clear section comments for each language (English, Italian, Spanish)- Elements to translate are marked with
data-i18n="key"attributes inindex.html - URL-based Routing Only: Language is determined by
/,/it/,/es/ - The language selector lives in the hamburger menu and uses full language names
- No browser auto-detection or
localStoragepersistence
Adding/updating translations:
- Open
locales.jsto see thelocalesobject structure - Add or update keys in all three language objects (
en,it,es) - For new translatable elements in
index.html, add adata-i18nattribute (e.g.,data-i18n="section.newKey") - Add the corresponding key-value pairs to all language objects in
locales.js
Contact Form Translation Keys:
contact.formTitle- Form headingcontact.formSubtitle- Form descriptioncontact.name- Name field labelcontact.emailField- Email field labelcontact.message- Message field labelcontact.send- Submit button textcontact.sending- Loading state textcontact.successMessage- Success notificationcontact.errorMessage- Submission error messagecontact.generalError- General error message
Form Validation Translation Keys:
contact.validation.name- Name field error (min 3 characters)contact.validation.email- Email format validation errorcontact.validation.emailRequired- Email required errorcontact.validation.message- Message field error (min 10 characters)
Testing:
- Simply open
index.htmlin any browser - no server required! - Use the language selector in the hamburger menu to test translations
- Check browser console for any missing translation keys
Notes:
- Embedded approach eliminates CORS issues with GitHub Pages
- For complex pluralization or interpolation, consider libraries like
i18next - Language alternates are declared via
hreflangtags