const web = new Website()
function build(config) {
const site = render(config)
return site.deploy()
}
const [data, setData] = useState(null)
useEffect(() => {
fetchData('/api/projects')
}, [])
async function load(url) {
const res = await fetch(url)
if (!res.ok) throw new Error()
return res.json()
}
npm run build
git push origin main
NODE_ENV=production
const router = useRouter()
router.push('/grazie') interface Project {
id: string
client: string
type: 'website' | 'app' | 'mobile'
status: boolean
launched: Date
}
export type Config = {
theme: string
locale: 'it' | 'en' | 'de'
apiKey: string
maxItems: number
}
const stan: Developer = {
name: 'Carol Stan',
city: 'Trieste',
stack: ['React', 'Astro', 'Node']
}
type ServiceType = 'vetrina'
| 'webapp' | 'mobile'
| 'seo' | 'ai' .hero {
display: grid;
grid-template-columns: 52% 1fr;
gap: 4rem;
align-items: center;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px) }
to { opacity: 1; transform: translateY(0) }
}
:root {
--color-accent: #519872;
--font-mono: 'JetBrains Mono';
--radius-full: 9999px;
}
.btn-primary {
border-radius: var(--radius-full);
background: linear-gradient(
135deg, #519872, #233329
);
font-family: var(--font-mono);
} import express from 'express'
const app = express()
app.use(express.json())
app.get('/api/projects', async (req, res) => {
const data = await db.findAll()
res.json({ success: true, data })
})
app.post('/api/contact', async (req, res) => {
const { name, email, msg } = req.body
await sendMail({ name, email, msg })
res.json({ sent: true })
})
app.listen(3000, () => {
console.log('stancarol API online')
})
module.exports = { app } SELECT clients.name,
projects.title,
projects.status,
projects.launched_at
FROM clients
JOIN projects ON
clients.id = projects.client_id
WHERE projects.active = true
AND clients.city = 'Trieste'
ORDER BY launched_at DESC
LIMIT 20;
CREATE TABLE projects (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
client_id UUID REFERENCES clients(id),
title VARCHAR(255) NOT NULL,
status BOOLEAN DEFAULT false,
created_at TIMESTAMP DEFAULT NOW()
); export default function Page() {
return (
<main className="site">
<Hero />
<Services />
<Portfolio />
<FAQ />
<CTA />
</main>
)
}
const { data, error, isLoading } = useSWR(
'/api/projects',
fetcher,
{ revalidateOnFocus: false }
)
export async function getStaticProps() {
const projects = await fetchProjects()
return {
props: { projects },
revalidate: 3600
}
} git init
git add .
git commit -m "feat: initial site"
git push -u origin main
vercel --prod
# deployment complete ✓
# stancarol.it live
const env = process.env
const SITE = env.NEXT_PUBLIC_URL
const KEY = env.API_SECRET_KEY
// build config
export default defineConfig({
site: 'https://stancarol.it',
integrations: [react(), tailwind()],
output: 'static'
}) @keyframes float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-12px);
}
}
@keyframes glow-pulse {
0%, 100% {
box-shadow: 0 0 20px rgba(81,152,114,0.2);
}
50% {
box-shadow: 0 0 40px rgba(81,152,114,0.4);
}
}
.portrait-circle {
border-radius: 50%;
animation: float 6s ease-in-out infinite;
}
@media (max-width: 768px) {
.hero-layout {
grid-template-columns: 1fr;
}
} const gsap = require('gsap')
const ScrollTrigger = require('gsap/ScrollTrigger')
gsap.registerPlugin(ScrollTrigger)
gsap.from('.hero-headline', {
y: 60,
opacity: 0,
duration: 1.2,
ease: 'power4.out'
})
ScrollTrigger.create({
trigger: '.services',
start: 'top 80%',
onEnter: () => {
gsap.from('.service-card', {
y: 40,
opacity: 0,
stagger: 0.1,
duration: 0.8
})
},
once: true
}) {
"name": "stancarol-site",
"version": "1.0.0",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"start": "node server.js",
"lint": "eslint src/"
},
"dependencies": {
"astro": "^4.0.0",
"gsap": "^3.12.0",
"react": "^18.0.0"
},
"devDependencies": {
"typescript": "^5.0.0",
"tailwindcss": "^4.0.0"
}
} — App Mobile Trieste
Un'app per la tua attività.
iOS e Android insieme.
Prenotazioni online, fidelizzazione clienti, catalogo prodotti, notifiche push: costruisco
app mobile su misura per attività locali a Trieste. Un'unica app funziona su iPhone e
Android — meno costi, stessa qualità.
Cosa può fare la tua app
Sistema prenotazioni
I clienti prenotano direttamente dall'app, scelgono data e orario, ricevono conferma automatica. Addio telefonate persa.
Notifiche push
Invia promozioni, ricorda appuntamenti, avvisa di novità. Le notifiche push hanno tassi di apertura 7 volte superiori alle email.
Fidelizzazione clienti
Programma punti, coupon digitali, tessera fedeltà sull'app. Incentiva i clienti a tornare e a spendere di più.
Ordini e pagamenti
Ordina da asporto, prenota un tavolo, compra un prodotto: tutto dall'app con pagamento Stripe integrato.
Mappa e navigazione
Indicazioni stradali, orari di apertura, contatti rapidi — tutto accessibile con un tap dall'app.
Sincronizzazione cloud
Dati sempre aggiornati in tempo reale. Gestisci prenotazioni, menu, prodotti e utenti dal pannello web admin.
Quando vale la pena un'app?
Un'app mobile ha senso quando i tuoi clienti la useranno frequentemente — almeno una volta a settimana.
Per attività con visite rare, un sito mobile-first è spesso sufficiente. Ti dico onestamente cosa fa per te.
Sì, per un'app
- Palestre e personal trainer (prenotazioni lezioni)
- Ristoranti con delivery o prenotazione frequente
- Saloni con clienti abituali settimanali
- Negozi con programma fedeltà attivo
- Cliniche e studi medici con pazienti ricorrenti
Meglio un sito ottimizzato
- Artigiani e imprese edili (pochi contatti, nuovi clienti)
- Professionisti con clienti occasionali
- Attività con clienti che cambiano spesso
- Budget limitato: il sito costa meno
- Fase iniziale: inizia dal sito, poi aggiungi l'app
Domande sulle app mobile
- Quanto costa sviluppare un'app mobile?
- Un'app semplice (prenotazioni, menu, contatti) parte da qualche migliaio di euro. App più complesse con pagamenti, chat o funzionalità avanzate costano di più. Ti faccio sempre un preventivo dettagliato prima di iniziare.
- L'app funziona su iPhone e Android?
- Sì. Uso React Native che genera un'unica app per entrambe le piattaforme. Meno costi rispetto a sviluppare due app separate, stessa qualità visiva.
- Come si pubblica l'app sull'App Store e Google Play?
- Mi occupo io di tutta la procedura: registrazione account sviluppatore, preparazione degli screenshot, descrizione ottimizzata e submission. L'Apple Developer Program costa 99€/anno, Google Play 25€ una tantum.
- Quanto tempo ci vuole per sviluppare un'app?
- Un'app semplice richiede 4-8 settimane. App con funzionalità avanzate (pagamenti, backend complesso, pannello admin) richiedono 2-4 mesi. Ti do sempre una stima precisa prima di iniziare.
Hai un'idea per un'app?
Raccontamela — ti dico subito se un'app fa per te o se c'è una soluzione migliore.
Parliamone gratis