Hartecho
Full-stack marketing platform with blog and form builder
Overview
Hartecho is the software company I co-founded, and this is the marketing site. A Nuxt 3 SSR project with a blog engine and a drag-and-drop form builder (vuedraggable) that ships new client intake forms without a redeploy. Contact submissions flow through an AWS Lambda using Nodemailer and Gmail SMTP. Klaviyo runs the email campaigns, Meta Pixel fires conversion events, and an in-house heatmap writes click coordinates and scroll depth to MongoDB. MongoDB fit because posts, forms, heatmap events, and portfolio entries all have very different shapes.
Built With
Architecture
Code
// Render any client intake form from its MongoDB template.
// New forms ship without a redeploy.
function renderField(field: FormField) {
switch (field.type) {
case "text":
return <TextInput {...field} />;
case "select":
return <Select options={field.options} {...field} />;
case "multi":
return <MultiSelect options={field.options} {...field} />;
case "date":
return <DateInput {...field} />;
case "upload":
return <FileUpload accept={field.accept} {...field} />;
default:
return null;
}
}
export function DynamicForm({ template }: { template: FormTemplate }) {
return (
<form onSubmit={(e) => submitForm(e, template.slug)}>
{template.fields.map((f) => renderField(f))}
<button type="submit">Send</button>
</form>
);
}Form templates live in MongoDB. The builder drag-and-drops fields, and this component renders whatever shape shows up.
Key Highlights
Marketing & SEO
The site includes SSR-rendered marketing pages (services, about, portfolio) optimized for search visibility.
Blog Engine
An integrated blog with MongoDB-backed content management drives organic traffic to the site.
Form Builder
A drag-and-drop form builder powered by vuedraggable lets us create custom intake forms without code changes.
Klaviyo Integration
Klaviyo handles email marketing campaigns, subscriber management, and automated flows for lead nurturing.
Real Business
This was built and operated as a real company serving paying clients, not a demo project.

