11import Link from "next/link"
2+ import Image from "next/image"
23import { Paragraph , Chapter } from "../components/TextUtils"
4+ import { StaticImport } from "next/dist/shared/lib/get-img-props"
5+
6+ import volumeReconstructPng from "@/public/clients/baw/volume_reconstruct.png" ;
7+ import n4ce_1 from "@/public/clients/apps_in_cadd/n4ce_1.jpg" ;
38
49type PastProjectProps =
510{
611 company : string ,
712 companyWebsite ?: string ,
13+ images ?: StaticImport [ ] | string [ ] ,
14+ videos ?: string [ ] ,
815 projects : React . ReactNode [ ]
916}
1017
11- function PastProject ( { company, companyWebsite, projects} : PastProjectProps ) {
18+ function PastProject ( { company, companyWebsite, images , videos , projects} : PastProjectProps ) {
1219 return (
1320 < div >
1421 < h3 >
@@ -20,15 +27,38 @@ function PastProject({company, companyWebsite, projects}: PastProjectProps) {
2027 < ul className = "list-disc list-inside pl-4 font-thin text-[#d1d5db] sm:text-sm md:text-md lg:text-lg xl:text-xl 2xl:text-2xl" >
2128 { projects . map ( ( project , index ) => < li key = { index } > { project } </ li > ) }
2229 </ ul >
30+ { ( images || videos ) &&
31+ < div className = "grid grid-cols-1 md:grid-cols-2 gap-2 p-4" >
32+ { images && images . map ( ( image , index ) =>
33+ < Image
34+ key = { index }
35+ src = { image }
36+ alt = { `${ company } showcase ${ index + 1 } ` }
37+ className = "w-[600px]"
38+ />
39+ ) }
40+ { videos && videos . map ( ( video , index ) =>
41+ < video
42+ key = { index }
43+ src = { video }
44+ autoPlay
45+ muted
46+ playsInline
47+ loop
48+ className = "aspect-video w-[600px]"
49+ />
50+ ) }
51+ </ div >
52+ }
2353 </ div >
2454 )
2555}
2656
2757export default function Page ( ) {
2858 return (
29- < main className = "container mx-auto flex flex-col gap-4 sm:gap-8 h-full items-center" >
30- < div className = "flex flex-col gap-4 md:gap-8" >
31- < Chapter title = "Experience and Offer" >
59+ < main className = "container mx-auto flex flex-col items-center" >
60+ < div >
61+ < Chapter title = "Experience and Offer" className = "w-full" >
3262 < Paragraph >
3363 We have worked on several long-term projects for companies such as Build A World Aps., Imverse
3464 S.A., Ditt B.V., and Applications In CADD. We have also done Graphics Performance Appraisals and
@@ -44,7 +74,7 @@ export default function Page() {
4474 .Net7 and WASM, Emscripten, Typescript for build systems, CI/CD and language bindings.
4575 </ Paragraph >
4676 </ Chapter >
47- < Chapter title = "Past Projects" >
77+ < Chapter title = "Past Projects" className = "w-full" >
4878 < div className = "flex flex-col gap-8" >
4979 < PastProject
5080 company = "Ditt"
@@ -61,6 +91,8 @@ export default function Page() {
6191 < PastProject
6292 company = "Applications in CADD"
6393 companyWebsite = "https://appsincadd.co.uk"
94+ images = { [ n4ce_1 ] }
95+ videos = { [ "/clients/apps_in_cadd/n4ce_showcase.mp4" ] }
6496 projects = { [
6597 < > Development of a tailor-made, GPU-driven graphics engine for n4ce v5.0 using the Nabla platform</ > ,
6698 < > Engineered for extremely large point cloud datasets and modern large-scale civil engineering projects</ > ,
@@ -87,14 +119,16 @@ export default function Page() {
87119 ] }
88120 />
89121 < PastProject
90- company = "Imverse S.A."
122+ company = "Imverse"
123+ companyWebsite = "https://www.imverse.ch/"
91124 projects = { [
92125 < > GPGPU Consulting and Contracting to solve Computer Vision problems</ > ,
93126 < > GPU Accelerated Silhouette Carving from RGB+D real-time video inputs</ >
94127 ] }
95128 />
96129 < PastProject
97130 company = "Build A World Aps."
131+ images = { [ volumeReconstructPng ] }
98132 projects = { [
99133 < > Photogrammetry (generating point clouds from drone flythroughs)</ > ,
100134 < > LiDAR Point Cloud Processing and Volume Reconstruction (3D game worlds from aerial scans)</ > ,
@@ -106,10 +140,10 @@ export default function Page() {
106140 />
107141 </ div >
108142 </ Chapter >
109- < Chapter title = "Conclusion" >
143+ < Chapter title = "Conclusion" className = "w-full" >
110144 < Paragraph >
111- We provide an unbeatable offering with consultants dedicated to your project while also benefit-
112- ting from heavy 50%+ discounts on co-development and maintenance of Vulkan Utilities used in
145+ We provide an unbeatable offering with consultants dedicated to your project while also benefitting
146+ from heavy 50%+ discounts on co-development and maintenance of Vulkan Utilities used in
113147 your project similar to those present in the CUDA space such as CUB.
114148 Finally our Consultants constantly benefit from each other’s experience and insights delivering
115149 solutions a step above those devisable in solitude, even if a project has a singular Consultant.
0 commit comments